🔗相关性分析模块
城市生命线安全工程 结构健康监测 相关性建模 环境运营因素-结构响应分析
📚 项目背景
桥梁结构在服役过程中受环境温度影响显著,尤其在多季节工况与温度梯度变化背景下,结构响应(如梁端位移、主梁应变和裂缝宽度等)与环境运营因素如(温度、湿度和车辆荷载)的相关性成为桥梁正常运行与健康评估的重要依据。比如梁端位移与温度关系通常呈现良好的线性响应,一旦脱离正常关联区间,可能表征支座阻滞、结构约束异常或构件变形积累等隐患。
传统方法依赖人工拟合或经验判断,难以动态更新与批量处理。为此,本模块面向城市生命线监测平台的批量桥梁数据分析需求,提供一个可插拔的温度-位移关系建模与可视化分析工具,支撑预警判断、异常检测与数据解释。
📌 模块简介
该模块为 城市生命线监测平台桥梁专项分析子模块:相关性分析模型,核心功能为建立结构响应与环境运营因素之间的统计关系模型,并输出拟合图像与分析结果,辅助结构响应异常的工程解释和预警判断。
- 模块名称:
correlation_analysis - 主函数名称:
core - 模型名称:相关性分析模型
- 作者:肖图刚
- 开发时间:2025年6月17日
- 最后修改:2025年6月17日
🌟 功能描述
✅ 多桥梁数据支持:支持批量分析多组桥梁结构响应-环境运营因素关系 ✅ 相关性拟合:可选线性拟合 / 二次拟合 / 三次拟合 ✅ 可视化分析图自动输出:自动绘制位移-温度关系图,展示拟合曲线与散点分布 ✅ 模型性能指标输出:输出 $R^2$、RMSE 等评价指标 ✅ 工程数据适配:自动跳过无效/空值数据,支持定制字段名 ✅ 模块化封装:便于集成入预警平台、边缘计算或 Web 可视化系统
📂 输入数据说明
- 输入格式:CSV 文件
- 字段要求:
- 第一列:时间戳(可跳过)
- 第二列:结构响应(如位移)
- 第三列:环境变量(如温度)
- 默认字段解释:
displacement:伸缩缝或梁端纵向位移值,单位 mm(或 μm)temperature:环境温度或构件温度,单位 ℃
📝 示例 CSV 文件:
timestamp, displacement, temperature 2023-04-01 00:00:00, 12.3, 25.6 2023-04-01 00:10:00, 12.8, 26.1 ...⚙️ 运行环境与依赖
- Python:≥ 3.9.16
- 依赖库:
- numpy ≥ 1.26.4
- pandas ≥ 2.2.2
- matplotlib ≥ 3.8.4
- scikit-learn ≥ 1.5.0
🛠️ 快速使用说明
📁 安装依赖:
pip install -r requirements.txt
📁 安装模块:
cd py_modu/correlation_analysis
pip install -e .
✅ 安装成功:
Successfully installed correlation_analysis-0.1.0
⚙️ 运行示例:
python example.py
或在脚本中调用:
"""Minimal example showing how to use correlation_analysis."""
import pandas as pd
from correlation_analysis import (
correlation_analysis,
plot_correlation,
plot_time_series_comparison,
)
# 读取示例数据(使用时需替换为自己的 csv或在线数据)
DATA_PATH = "datasets/wy-temp_10min.csv"
df = pd.read_csv(DATA_PATH, index_col=0, parse_dates=True)
disp_col = "Wy07"
# 温度列示例:除了位移与其他非温度列外剩余全是温度
temp_cols = [c for c in df.columns if c not in ["Wy07", "Wy10"]]
# 时间序列对比
plot_time_series_comparison(df, time_col=None, disp_col=disp_col, temp_cols=temp_cols)
# 相关性分析
x_data, y_data, model = correlation_analysis(df, x_cols=temp_cols, y_col=disp_col)
plot_correlation(x_data, y_data, model, x_name="温度", y_name="伸缩缝位移")
🔢 主要流程
- 数据读取:加载CSV数据,解析温度与位移列
- 异常值剔除:自动跳过空值和非数值数据
- 关系建模:支持线性、一元二次和三次回归建模
- 评价指标计算:输出 R²、RMSE、残差分布
- 图像绘制与保存:生成结果图并自动保存
💾 输出结果说明
| 输出类型 | 内容说明 | 示例路径 |
|---|---|---|
| 拟合图像 (PNG) | 位移-温度散点与拟合曲线图 | figures/bridge01_fit_linear.png |
| 拟合指标 (CSV) | 拟合系数、R²、RMSE 等 | outputs/bridge01_fit_metrics.csv |
图像说明:
- 横轴:温度 (℃)
- 纵轴:位移 (mm)
- 蓝点:原始监测数据
- 红线:拟合关系曲线
- 阴影带:残差范围
CSV 指标说明:
| 字段名 | 含义 |
|---|---|
| model | 使用的拟合类型(如 linear) |
| r2_score | 拟合决定系数 R² |
| rmse | 均方根误差 |
| coef_* | 回归系数(视模型复杂度而定) |
📷 示例图像展示


🔁 后续优化建议
- 支持温度滞后影响建模(引入滑动平均或滞后项)
- 支持结构响应拓展到应变挠度等其他响应,环境运营因素拓展到湿度和车辆荷载等
- 支持与生命线平台的在线数据接入和分析结果输出的交互
- 接入 Streamlit 或 Dash,部署图形化交互界面
- 引入异常检测模块,实现多级异常报警 返回首页