Go Back
xLSTM 时间序列 天气预测 ERA5 深度学习

xLSTM-Mixer — 天气预测项目复现与实现总结

最后编辑: 2026-05-31 16:57

一、项目概述

本项目基于 xLSTM-Mixer 框架,面向上海 ERA5 再分析数据,完成 t2m(2 米气温) 的长时间序列预测任务。项目从上游框架出发,逐步适配到具体的上海天气数据场景,构建了完整的数据清洗 → 训练 → 滚动评估 → 优化实验的工作流。

维度详情
框架xLSTM-Mixer(基于 xLSTM + MLP-Mixer)
数据ERA5 再分析数据(2020–2025 上海)
目标t2m(2 米气温),单位:开尔文
任务长期预测:seq_len=168(7 天),pred_len=24(1 天)
评估2025 年滚动验证,每日滑动窗口

对应仓库:seraphim522/xlstm-mixer_exploration


二、框架与数据

2.1 xLSTM-Mixer 架构

xLSTM-Mixer 将 xLSTM(扩展长短期记忆)与 MLP-Mixer 的通道混合思想结合:

  • xLSTM:处理时间维度的长期依赖,比传统 LSTM 更强的记忆能力
  • MLP-Mixer:通过通道混合(channel mixing)和令牌混合(token mixing)捕获多变量交互
  • 适用场景:长时间序列预测,尤其是多变量气象数据

2.2 数据集

上海 ERA5 数据说明:

项目说明
变量t2m(目标)、sp、u10、v10、tp 等
t2m 范围265.59–311.40 K(≈ -7.56°C 到 38.25°C)
时间跨度2020–2025
时间粒度小时级
数据质量缺失值 0,重复时间戳 0,非整点间隔 0

2.3 数据清洗原则

项目中最重要的经验教训之一:

原则说明
清洗 = 纯合法性校验清理非法时间戳、非有限值、非物理值
保留 tp == 0零降水量是合法物理值,不可删除
窗口级跳过通过 valid_start_indices 跳过含 NaN 的窗口
不混合策略分割策略、权重、OOD 特征作为显式开关,不下沉到清洗层

三、训练配置

3.1 核心参数

参数
模型xLSTM-Mixer(ShanghaiERA5Merged)
seq_len168(7 天小时级)
pred_len24(1 天小时级)
训练集2020–2023
验证集2024
测试集2025(滚动评估)
损失函数L1Loss
执行方式Docker 优先(Windows PowerShell)

3.2 A/B/C 实验开关

项目设计了三个可组合的实验变量:

开关变量含义
Adata.use_calendar_splitA1 = 日历分割(验证=2024,测试=2025)
Bmodel.use_spring_weightingB1 = 春季加权(对春季月份增加损失权重)
Cdata.use_t2m_ood_featureC1 = 启用 t2m_ood 特征(温度偏离信号)

默认方案:A1B1C1


四、滚动评估结果

4.1 总体指标

指标
MAE(t2m)1.65790
RMSE(t2m)2.23078
最佳日2025-02-02(MAE = 0.26874)
最差日2025-03-27(MAE = 6.17059)

4.2 季节性表现

季节MAE
春(3-5 月)1.99527
夏(6-8 月)1.19122
秋(9-11 月)1.42720
冬(12-2 月)2.02335

夏季预测最好,冬季和春季波动较大,与气温变化幅度正相关。

4.3 月度表现

MAE趋势
1 月1.997❄️ 冬季
4 月2.046🌸 春季波动
7 月0.956☀️ 夏季最佳
8 月0.930☀️ 夏季最佳
12 月2.006❄️ 冬季

夏季(7-8 月)MAE 低于 1.0,模型在温度高且稳定的时段表现最优。


五、优化实验

5.1 t2m_ood 特征的影响

t2m_ood(气温偏离信号)作为额外特征输入:

效果说明
✅ MAE 改善连续 OOD 信号稳定降低了平均绝对误差
⚠️ MSE 未同步改善波形振幅未恢复,平滑峰谷问题仍存在
📊 解释t2m_ood 更像"季节偏移标志"而非"振幅恢复特征"

5.2 最终最优结果

A1B1C1 方案(日历分割 + 春季加权 + t2m_ood):

指标
MAE_target1.3097
MSE_target3.3485

5.3 优化结果可视化

E:\dl_learning\xlstm\优化结果\ 下保存了 A/B/C 组合的波形对比图(A0B0C0 到 A1B1C1),展示了不同配置下模型预测轨迹的差异。


六、技术栈与工具链

环节工具
框架PyTorch + PyTorch Lightning
实验跟踪Weights & Biases(WandB)
容器化Docker(Linux 容器 on Windows)
数据格式NetCDF + CSV
开发工具VS Code + PowerShell
评估脚本Python 滚动验证管线

七、总结与经验

7.1 关键成果

  1. 完整复现 了 xLSTM-Mixer 在上海 ERA5 气温预测上的全流程
  2. 构建了 数据清洗合法性守卫,明确区分清洗与策略
  3. A/B/C 实验矩阵 系统性地评估了分割策略、春季加权和 OOD 特征的影响
  4. Docker 化执行 减少了宿主机/容器环境漂移
  5. 滚动评估管线 完成了 2025 全年的每日滑动窗口验证

7.2 未完成优化方向

  • 波形锐度问题:模型学习了季节性趋势偏移,但峰谷振幅仍偏平滑
  • 损失函数探索:当前 L1Loss,可尝试 Huber、Quantile 或混合损失
  • 多步预测:pred_len=24 是 1 天窗口,可尝试更长的预测 horizon

7.3 项目交付物

交付件位置
训练配置configs/long_term_forecasting/shanghai_era5_2020_2025.yaml
滚动评估输出outputs/shanghai_rolling_validation_2020_2025_formal/
评估报告summary_report.md
处理调整记录processing_adjustments.md
A/B/C 波形对比E:\dl_learning\xlstm\优化结果\