PyTorch基于LightGBM的海洋温盐异常垂直剖面预测

1. 总体目标

本代码利用LightGBM (LGBMRegressor)构建机器学习模型,对西北太平洋(NWP)区域海洋的温度异常(TSA)和盐度异常(SSSA)进行垂直剖面(57层) 预测。输入为14个海洋与涡旋特征变量,输出为每一层的温度与盐度异常值。

2. 数据准备

2.1 输入特征文件
  • 文件point_variables_14_Cyclonic.mat
  • 变量数量 :14个(特征名见feature_names列表)
    • 海洋变量:sla(海面高度异常)、sst(海表温度)、sss(海表盐度)、ssta(海表温度异常)、sssa(海表盐度异常)
    • 时空变量:day1、day2(时间相关)、lon、lat(经度、纬度)
    • 涡旋参数:Eddy_R(涡旋半径)、Eddy_A(涡旋振幅)、Eddy_SLA(涡旋SLA)、dlon、dlat(相对距离)
  • 样本数:200566
2.2 标签文件
  • 文件TS_anomaly_WOA23_Cyclonic.mat
  • 内容:温度异常与盐度异常垂直剖面,共114列(前57列为温度,后57列为盐度)
2.3 数据划分
  • 训练集:前62073个样本(按时间顺序)
  • 测试集:剩余样本
  • 预处理
    • 使用SimpleImputer(strategy='mean')填充缺失值
    • 对输入特征进行标准化(StandardScaler),并保存标准化器供后续使用

3. 模型结构

3.1 模型选择

仅使用LightGBM (可扩展支持其他模型,代码中预留了models_to_compare字典)。

超参数通过网格搜索(GridSearchCV)对第一层(表层)温度进行优化,得到最佳参数后用于所有层。

3.2 分层训练策略

由于输出为57个垂直层,模型对每一层独立训练一个温度模型和一个盐度模型,共114个LightGBM回归器。

  • 输入:14个标准化特征
  • 输出:该层的温度异常或盐度异常
3.3 训练细节
  • 对每一层调用.fit()训练
  • 训练完成后保存模型(joblib.dump),命名格式:{model_name}_tem_{area}_{layer}layers_best.model

4. 评估与可视化

4.1 评估指标
  • RMSE:均方根误差
  • 相关系数(Corr):预测值与真实值的Pearson相关系数
4.2 输出结果
  • 预测结果 :保存为.mat文件,包含真实值(T, S)与预测值(Tp, Sp),以及每层的RMSE和Corr
  • 特征重要性 :对支持feature_importances_的模型(LightGBM),保存每层特征重要性CSV
  • SHAP分析(尝试执行,可能因数据量或依赖问题跳过):生成SHAP摘要图
  • 相关性散点图:每5层绘制一次真实值 vs 预测值散点图,并标注相关系数与RMSE
4.3 性能汇总图
  • 绘制四个子图:温度RMSE、盐度RMSE、温度相关系数、盐度相关系数(随层数变化)
  • 保存为lgb_performance_{area}.png
  • 汇总指标(平均RMSE、最佳相关系数等)保存为CSV
4.4 论文风格双联散点图

函数plot_two_split_panels绘制训练集与测试集的散点对比图:

  • 统一坐标轴范围,强制1:1比例
  • 半透明散点 + 颜色映射误差绝对值
  • 添加R²和RMSE文本标注
  • 输出fig_lgb_temperature_train_val_test.pngfig_lgb_salinity_train_val_test.png

5. 辅助类与函数

5.1 Model

设计用于批量训练(batch_size)和增量学习(warm_start),但本代码中未使用 该类,而是直接循环调用.fit()

5.2 plot_correlation_scatter

绘制单层散点图,带对角线参考线,并返回相关系数与RMSE。

5.3 _paper_style

设置Seaborn主题、字体、DPI等,统一论文出图风格。

6. 运行流程概要

  1. 设置路径参数(pathoutputpath、区域名称area_name
  2. 读取输入特征和标签数据,划分训练/测试集,标准化特征
  3. 对LightGBM进行网格搜索(基于第一层温度)获取最佳超参数
  4. 循环57层:
    • 训练该层的温度模型和盐度模型
    • 预测训练集和测试集
    • 计算RMSE、相关系数
    • 保存特征重要性、SHAP图、散点图、模型文件
  5. 保存所有层的预测结果及性能指标
  6. 绘制整体性能图和论文风格双联散点图

7. 输出文件结构

复制代码
outputpath/
└── LGB/
    ├── standard_scaler.pkl                 # 标准化器
    ├── LGB_tem_NWP_*layers_best.model      # 各层温度模型
    ├── LGB_sal_NWP_*layers_best.model      # 各层盐度模型
    ├── LGB_NWP_val_result_01.mat           # 完整预测结果
    ├── feature_importance_layer_*_T.csv    # 各层特征重要性(温度)
    ├── feature_importance_layer_*_S.csv    # 各层特征重要性(盐度)
    ├── SHAP_LGB_temp_layer_*.png           # SHAP图(若成功)
    ├── SHAP_LGB_sal_layer_*.png
    ├── LGB_Temperature_layer_*_correlation.png  # 单层散点图
    ├── LGB_Salinity_layer_*_correlation.png
    ├── paper_style_figures/
    │   ├── fig_lgb_temperature_train_val_test.png
    │   └── fig_lgb_salinity_train_val_test.png
    └── LGB_Performance/
        ├── lgb_performance_NWP.png
        └── lgb_performance_summary_NWP_01.csv

8. 注意事项

  • 代码中训练集划分索引index_split = 62073为硬编码,应与数据实际时间顺序对应。
  • 输入文件路径使用了绝对路径D:\\2026-任务\\...,使用时需根据实际环境修改。
  • SHAP分析部分可能因计算资源或版本问题失败,代码已做异常捕获,不影响主流程。
  • 特征重要性保存了每一层的两份CSV(温度、盐度),但后续未进行综合平均或排名分析。
  • 函数plot_two_split_panels在最后调用时,第一个参数使用了trainYT[:n_train_main, :].ravel()等,其中n_train_main定义为int(n_train_total * 0.8),但实际训练集已经按前62073划分,存在不一致风险(应直接使用trainYTtestYT,而非二次划分)。建议用户根据实际数据调整。

9. 可扩展性

  • 若需对比其他模型(如SVR、XGBoost),可在models_to_compare字典中添加条目,并适当修改网格搜索参数。
  • 分层训练可替换为多输出回归(MultiOutputRegressor)以提升效率,但本代码保持了逐层独立训练的灵活性。
相关推荐
JoyCong19988 小时前
手机变身“司令台”!ToDesk AI安卓版上线
网络·人工智能·科技·智能手机·电脑·远程工作·远程操作
HIT_Weston8 小时前
153、【Agent】【OpenCode】启动分析(completion)
人工智能·agent·opencode
哔哩哔哩技术8 小时前
CVPR 2026 Highlight 丨 用“几何感知”把扩散 Transformer 采样做成免训练加速器
人工智能
byte轻骑兵8 小时前
【AVDTP】规范精讲[6]: 打通全流程,蓝牙音频连接背后的12步信令博弈
人工智能·音视频·avrcp·蓝牙耳机·蓝牙车机
LCG米8 小时前
AI Agent 工具调用失效排查实战:从 Function Calling 幻觉到死循环的 12 类生产故障深度复盘
人工智能
@insist1238 小时前
信息系统管理工程师-数字化转型成熟度模型核心考点解析
大数据·人工智能·软考·软件水平考试·信息系统管理工程师·软考信管
海兰8 小时前
【高速缓存】RedisVL 高级查询(全文搜索、混合搜索和 多向量搜索)
数据库·人工智能·redis·缓存
BerryS3N8 小时前
深度解析:从零构建生产级大模型 RAG(检索增强生成)系统全栈指南
开发语言·python·ai
Damon小智8 小时前
眼见不一定为实:WAIC 2026 探展合合信息,实测 AI 去反光 + AI 跨模态鉴伪两项黑科技
人工智能·ocr
AvatarAI_Walker8 小时前
2026年7月安徽健康 IP 孵化:四家机构服务特点与场景关注方向梳理
大数据·人工智能·tcp/ip·精选