(ICLR'24) TimeMixer:用于时间序列预测的可分解多尺度混合
🙋 如果您发现任何错误或有任何建议,请告诉我们!
🌟 如果您觉得这个资源有帮助,请考虑给这个仓库点个星并引用我们的研究:
@inproceedings{wang2023timemixer,
title={TimeMixer: Decomposable Multiscale Mixing for Time Series Forecasting},
author={Wang, Shiyu and Wu, Haixu and Shi, Xiaoming and Hu, Tengge and Luo, Huakun and Ma, Lintao and Zhang, James Y and ZHOU, JUN},
booktitle={International Conference on Learning Representations (ICLR)},
year={2024}
}
更新
🚩 新闻 (2024.07):TimeMixer 已被纳入 NeuralForecast。特别感谢贡献者 @marcopeix 和 @JQGoh!
🚩 新闻 (2024.07) TimeMixer 已发展成为一个支持全面时间序列分析的大型模型,包括长期预测、短期预测、异常检测、插值和分类。未来,我们将进一步探索更多类型的时间序列分析任务,并努力突破当前长期预测的限制,实现高效的超长期时间序列预测。
🚩 新闻 (2024.06) TimeMixer 的中文介绍**已经发布。
🚩 新闻 (2024.05) TimeMixer 现已在 arXiv 上发布了 28 页的完整论文版本。此外,我们还提供了一个简短的视频,以帮助您更好地理解我们的工作。
🚩 新闻 (2024.05) TimeMixer 现在支持使用未来时间特征进行预测。这一功能已得到社区成员的好评。您现在可以通过使用参数 use_future_temporal_feature 来决定是否启用此功能。
🚩 新闻 (2024.03) TimeMixer 已被纳入 [Time-Series-Library],并在长期时间和短期时间序列预测中始终保持🏆最先进水平。
🚩 新闻 (2024.03) TimeMixer 新增了基于 DFT 的时间序列分解方法,以及基于 1D 卷积的下采样操作。 🚩 新闻 (2024.02) TimeMixer被接受为ICLR 2024海报论文。
介绍
🏆 TimeMixer作为一个完全基于MLP的架构,充分利用了分解的多尺度时间序列,在长期和短期预测任务中都实现了一致的最先进性能,并具有良好的运行时效率。
🌟观察1:历史信息提取
鉴于时间序列中的季节性和趋势成分表现出显著不同的特征,且时间序列的不同尺度反映了不同的属性,细粒度的微观尺度上季节性特征更为显著,而粗粒度的宏观尺度上趋势特征更为明显,因此有必要在不同尺度上解耦季节性和趋势成分。
🌟观察2:未来预测
整合不同尺度的预测以获得最终预测结果,不同尺度展现出互补的预测能力。
整体架构
TimeMixer是一个完全基于MLP的架构,包含**过去可分解混合(PDM)和未来多预测器混合(FMM)**模块,以在过去提取和未来预测阶段充分利用分解的多尺度序列。
过去可分解混合
我们提出了**过去可分解混合(PDM)**模块,用于分别混合多个尺度上分解的季节性和趋势成分。
通过季节性和趋势混合,PDM逐步从细到粗聚合详细的季节性信息,并利用来自更粗尺度的先验知识深入探索宏观趋势信息,最终实现过去信息提取中的多尺度混合。
未来多预测器混合
需要注意的是,**未来多预测器混合(FMM)**是多个预测器的集成,不同预测器基于来自不同尺度的过去信息,使FMM能够整合混合多尺度序列的互补预测能力。
开始使用
- 安装依赖。
pip install -r requirements.txt
- 下载数据。您可以从Google Drive、百度网盘或Kaggle数据集下载所有数据集。所有数据集都已经过良好的预处理,可以轻松使用。
- 训练模型。我们在
./scripts
文件夹下提供了所有基准测试的实验脚本。您可以通过以下方式重现实验结果:
bash ./scripts/long_term_forecast/ETT_script/TimeMixer_ETTm1.sh
bash ./scripts/long_term_forecast/ECL_script/TimeMixer.sh
bash ./scripts/long_term_forecast/Traffic_script/TimeMixer.sh
bash ./scripts/long_term_forecast/Solar_script/TimeMixer.sh
bash ./scripts/long_term_forecast/Weather_script/TimeMixer.sh
bash ./scripts/short_term_forecast/M4/TimeMixer.sh
bash ./scripts/short_term_forecast/PEMS/TimeMixer.sh
主要结果
我们进行了广泛的实验来评估TimeMixer的性能和效率,涵盖长期和短期预测,包括18个真实世界的基准测试和15个基线模型。 🏆 TimeMixer在所有基准测试中都取得了一致的最先进性能,涵盖了具有不同频率、变量数量和真实场景的大量时间序列。
长期预测
为确保模型比较的公平性,实验采用了标准化参数,统一了输入长度、批量大小和训练轮次。此外,考虑到许多研究中的结果通常来自超参数优化,我们还包括了全面参数搜索的结果。
短期预测:多变量数据
短期预测:单变量数据
模型消融实验
为验证TimeMixer每个组件的有效性,我们在所有18个实验基准上对过去可分解混合和未来多预测器混合模块中的每个可能设计进行了详细的消融研究(完整结果请参见我们的论文😊)。
模型效率
我们在训练阶段将运行内存和时间与最新的最先进模型进行了比较。除了在长期和短期预测任务中始终保持最先进的性能外,TimeMixer在各种序列长度(从192到3072)下,在GPU内存和运行时间方面都表现出一致的良好效率。 值得注意的是,作为一个深度模型,TimeMixer在效率方面展现出接近全线性模型的结果。这使得TimeMixer在需要高模型效率的广泛场景中具有很大的应用前景。
进一步阅读
1、Time-LLM:通过重新编程大型语言模型进行时间序列预测,发表于 ICLR 2024。 [GitHub仓库]
作者:金明、王世宇、马林涛、储智轩、张原、石小明、陈品宇、梁宇轩、李元芳、潘世瑞、温庆松
@inproceedings{jin2023time,
title={{Time-LLM}: 通过重新编程大型语言模型进行时间序列预测},
author={金明 and 王世宇 and 马林涛 and 褚志轩 and 张James Y and 史晓明 and 陈品宇 and 梁宇轩 and 李元芳 and 潘世瑞 and 温庆松},
booktitle={国际学习表示会议 (ICLR)},
year={2024}
}
2, iTransformer: 倒置的Transformer在时间序列预测中效果显著, 发表于 ICLR 2024 Spotlight。 [GitHub仓库]
作者: 刘勇, 胡腾格, 张浩然, 吴海旭, 王世宇, 马林涛, 龙明盛
@article{liu2023itransformer,
title={iTransformer: 倒置的Transformer在时间序列预测中效果显著},
author={刘勇 and 胡腾格 and 张浩然 and 吴海旭 and 王世宇 and 马林涛 and 龙明盛},
journal={arXiv预印本 arXiv:2310.06625},
year={2023}
}
致谢
我们非常感谢以下GitHub仓库提供的宝贵代码和努力。
- 时间序列库 (https://github.com/thuml/Time-Series-Library)
- Autoformer (https://github.com/thuml/Autoformer)
联系方式
如果您有任何问题或想使用代码,请随时联系: