(时序论文阅读)TimeMixer: Decomposable Multiscale Mixing for Time Series Forecasting

来源论文iclr2024

论文地址:https://arxiv.org/abs/2405.14616

源码地址: https://github.com/kwuking/TimeMixer

背景

数据是有连续性,周期性,趋势性的。我们这篇文章主要围绕的是用MLP结构来预测数据的周期性具体为:
短期变化(细粒度) :例如局部波动、尖峰等,通常与日常行为或随机事件相关。
长期变化(粗粒度) :例如趋势、周期性或季节性模式,这些通常反映更广义的规律。

现有方法(如 RNN 和 Transformer)通常只能从单一时间尺度建模,忽略了不同时间尺度之间的关联性。

确实,在金融领域,如a股是有明显的周期性的,在股价预测方面确实可以借鉴。

模型架构

Past-Decomposable-Mixing (PDM)模块

PDM 模块负责从历史数据中提取多尺度的时间特征,通过分解和多层混合来捕捉趋势和季节性

PDM 的具体步骤:

时间序列分解:

使用分解模块(如基于 Autoformer 的策略)将时间序列分为:

1.趋势性成分(Trend):表示长期变化。

2.季节性成分(Seasonal):表示短期波动。

生成多尺度的趋势和季节性子序列。(也就是将其自底向上隔点取值)

那是怎么进行多尺度划分的呢?

看这里 我们取P为96,l取0,1,2,3.

原文采用的是普通的平均池化来进行多尺度划分,将P和l进行带入后获得的多尺度提取序列是,第一次比如是隔2个点进行取值获得第一次的粗序列,第二次进行四个点取值的粗序列,第四次是隔八个点取的粗序列,反正是根据2的指数进行递增的。如下图。

下面这是特征提取层

那么这个PDM模块得到的是哪个mixing呢?

答案是总的
那我们如何得到这些趋势向和季节向?

原文就是通过平均池化,得到趋势向

然后用总的减去趋势向得到季节向

那么为什么用平均池化可以得到趋势向?

举个例子, 2,4,6,8,假设池化步幅为2

平均池化后得到3,3,7,7那么这就是趋势向得到的结果,这时候我们可以看到这是有上升趋势的,

那么用原来的序列减去平均池化后的序列结果呢?得到-1,1,-1,1 这样一看就很有周期性。

先看季节向的公式:

季节向是自底向上的,为什么自底向上,是因为季节性的话(也就是周期性),提取向上后时间间隔越来越大,那么得到的上层的周期性就不明显,就需要用下层的信息去补充上层信息,使其达到季节性效果。

趋势层是自上到下的,自顶向下的处理方式可以在细粒度特征中引入稳定的趋势信息,减少噪声的影响,使模型在噪声较大的数据中表现更鲁棒。自顶向下的处理方式可以在细粒度特征中引入稳定的趋势信息,减少噪声的影响,使模型在噪声较大的数据中表现更鲁棒。

FMM模块

就是将多尺度提取后mixing模块的结果进行维度转换,把它统一到一个维度去,最后在进行加权得到最后的预测结果。

总体模型图如下。

实验部分

最后实验部分也是比sota模型高。

TimeMixer在所有基准测试中都实现了一致的最先进性能,涵盖了具有不同频率、

变量数和实际场景的大量系列。特别是,TimeMixer的性能明显优于PatchTST,天气MSE降低

了9.4%,Solar-Energy MSE降低了24.7%。值得注意的是,即使在Solar-Energy和ETT等可预测

性较低的数据集上,TimeMixer也表现出了良好的性能,进一步证明了TimeMixer的通用性和有

效性。

为了验证模型的泛化能力,在一些比较随机性差的数据集是否有效果,作者定义了一个指标

Forecastability,Forecastability可预测指数(2013ForeCA算法)

谱熵--反映数据在频域中的不确定性,度量数据集混乱程度的指标,熵值越高,时间序列趋势越复杂,越难以预测

(1-熵值)越大,可预测Forecastability:性越强

相关推荐
IT古董5 小时前
【机器学习】超简明Python基础教程
开发语言·人工智能·python·机器学习
算家云5 小时前
VideoCrafter模型部署教程
人工智能·深度学习·机器学习·显卡·算力·视频生成·ai视频编辑
曼城周杰伦6 小时前
表格不同类型的数据如何向量化?
人工智能·机器学习·分类·数据挖掘·sklearn·word2vec
AIGC方案6 小时前
免费下载 | 2024年中国人工智能教育蓝皮书
人工智能·百度
斐夷所非6 小时前
OpenAI Adjusts Strategy as ‘GPT’ AI Progress Slow
人工智能
凡人的AI工具箱6 小时前
15分钟学 Go 实战项目六 :统计分析工具项目(30000字完整例子)
开发语言·数据库·人工智能·后端·golang
知新_ROL6 小时前
GPT promote 论文学术润色提示词
人工智能·深度学习
皓7416 小时前
3C产品说明书电子化转变:用户体验、环保与商业机遇的共赢
人工智能·ux
AIBigModel7 小时前
o1的风又吹到多模态,直接吹翻了GPT-4o-mini
大数据·人工智能·算法
德希智慧水利水务7 小时前
河道水位流量一体化自动监测系统:航运安全的护航使者
网络·人工智能·算法·信息可视化