从失败到成功:M4数据集短期预测完整复现指南

从失败到成功:M4数据集短期预测完整复现指南

【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models. 【免费下载链接】Time-Series-Library 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library

你是否在使用Time-Series-Library复现M4短期预测时遇到各种问题?参数错误、数据加载失败、模型不收敛?本文将系统解析复现过程中的核心问题与解决方案,帮助你顺利完成从环境配置到结果评估的全流程。

复现准备与环境配置

项目结构概览

Time-Series-Library项目提供了统一的时序预测框架,M4短期预测相关代码主要分布在以下路径:

环境依赖安装

确保已安装项目所需依赖:

pip install -r requirements.txt

M4数据集与预测任务解析

M4数据集特性

M4数据集包含6种时间粒度的时序数据,每种粒度有不同的预测长度要求:

时间粒度预测长度频率
Yearly61
Quarterly84
Monthly1812
Weekly131
Daily141
Hourly4824

数据加载逻辑在data_provider/m4.py中实现,通过M4Dataset类统一管理不同粒度的数据。

短期预测任务流程

短期预测任务的核心逻辑在exp/exp_short_term_forecasting.py中实现,主要流程包括:

  1. 模型初始化(根据M4时间粒度自动设置序列长度)
  2. 数据加载与预处理
  3. 模型训练与早停
  4. 预测结果生成与评估

常见复现问题与解决方案

问题1:数据集路径错误

错误表现FileNotFoundError: [Errno 2] No such file or directory: './dataset/m4/M4-info.csv'

解决方案:检查脚本中的root_path参数是否正确。以Mamba模型为例,在scripts/short_term_forecast/Mamba_M4.sh中设置:

--root_path ./dataset/m4 \

确保该路径下存在M4数据集文件,如不存在可通过data_provider/m4.py中的下载功能自动获取。

问题2:参数不匹配

错误表现ValueError: Expected input batch_size (16) to match target batch_size (32)

解决方案:检查模型参数设置是否一致。M4短期预测脚本需统一以下关键参数:

  • batch_size:批处理大小,建议保持默认16
  • d_model:模型维度,建议设置为128
  • e_layers:编码器层数,建议设置为2

以Mamba模型为例,正确参数设置:

--batch_size 16 \
--d_model 128 \
--e_layers 2 \

问题3:模型不收敛

错误表现:训练损失持续在高位波动,不下降

解决方案

  1. 检查学习率设置,M4任务建议使用--learning_rate 0.001
  2. 确认损失函数是否正确,M4推荐使用SMAPE损失:--loss 'SMAPE'
  3. 检查数据标准化是否正确,确保在exp/exp_short_term_forecasting.py中正确应用频率信息

完整复现步骤(以Mamba模型为例)

1. 克隆项目并准备数据

git clone https://gitcode.com/GitHub_Trending/ti/Time-Series-Library.git
cd Time-Series-Library
mkdir -p dataset/m4  # 数据集将自动下载到此目录

2. 运行预测脚本

# 选择Mamba模型的M4短期预测脚本
cd scripts/short_term_forecast
bash Mamba_M4.sh

脚本将自动处理6种时间粒度的预测任务,关键代码逻辑:

# 循环处理不同时间粒度( Monthly/Yearly/Quarterly/Weekly/Daily/Hourly )
python -u run.py \
  --task_name short_term_forecast \
  --is_training 1 \
  --root_path ./dataset/m4 \
  --seasonal_patterns 'Monthly' \  # 时间粒度参数
  --model_id m4_Monthly \
  --model Mamba \
  --data m4 \
  --features M \
  --e_layers 2 \
  --enc_in 1 \
  --batch_size 16 \
  --d_model 128 \
  --learning_rate 0.001 \
  --loss 'SMAPE'

3. 结果评估与可视化

预测完成后,结果将保存在./m4_results/Mamba/目录下,包含各时间粒度的预测文件。系统会自动计算SMAPE、MAPE等评估指标:

smape: 12.34
mape: 15.67
mase: 1.23
owa: 0.89

预测可视化结果保存在./test_results/目录下,展示预测曲线与真实曲线对比。

常见模型复现对比

不同模型在M4数据集上的表现存在差异,以下是几种主流模型的复现难度和效果对比:

模型复现难度SMAPE训练时间
Mamba★★☆12.3
PatchTST★★★11.8
TimesNet★★☆12.5
DLinear★☆☆13.2

总结与常见问题排查工具

关键排查文件

下一步建议

  1. 尝试复现其他模型,如scripts/short_term_forecast/PatchTST_M4.sh
  2. 调整模型参数,对比不同参数设置对结果的影响
  3. 查看官方教程:README.md获取更多项目细节

通过本文档的指导,你应该能够顺利复现M4数据集的短期预测实验。如果遇到其他问题,欢迎在项目Issues中提问或参考CONTRIBUTING.md中的贡献指南。

【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models. 【免费下载链接】Time-Series-Library 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值