在过去的十年里,深度学习在时间序列预测方面取得了显著进展。然而,现有的方法主要集中于一维时间序列的时间变化建模,忽略了时间序列中内在的复杂周期性。这种复杂性使得直接建模变得具有挑战性,同时短期波动、上升和下降等变化往往相互重叠,进一步增加了预测难度。
本文介绍一篇来自深圳大学与清华大学联合开展的时间序列预测研究工作。研究者提出了一种新的周期性解耦框架(PDF),可以有效地捕捉和建模时间序列中的短期和长期变化。通过分解时间序列中的趋势、季节和残差分量,并结合选择提示技术,该方法能够适应非平稳时间序列的数据分布变化,显著提升预测性能。这一研究扩展了从多个领域数据中动态建模现实世界时间现象的能力,为时间序列预测提供了新的思路和方法。
【论文标题】Periodicity Decoupling Framework for Long-term Series Forecasting
【论文地址】https://openreview.net/forum?id=dp27P5HBBt
【论文源码】https://github.com/Hank0626/PDF
论文概述
现有的基于卷积神经网络(CNN)和 Transformer 的方法在时间序列预测中取得了显著的进展。CNN 方法在捕捉短期变化方面表现出色,但在长期依赖性表示上的局限性使其在长期时间序列预测中效果不佳。相比之下,Transformer 方法利用自注意机制在捕捉长期依赖性方面表现突出,虽然其性能更具竞争力,但计算成本较高,尤其是在处理长期时间序列输入时,这限制了其实际应用。
另外,直接建模一维时间序列会面临复杂的模式问题,这些变化可以是各种类型的,包括短期波动、下降和上升,通常会彼此重叠。因此,研究者尝试将时间序列分解为短期变化和长期变化进行建模。由于短期变化(short-term variations)的多样性(例如波动、上升和下降),研究者采用“频率切片(frequency slicing)”技术,将回溯窗口划分为多个子序列,以对应不同的周期。对于长期变化(long-term variations),研究者利用 “周期补丁(period patching)” 提取所有周期内相应时间段内的变化(见下图)。这种方法结合了CNN在短期变化建模上的优势和 Transformer 在长期变化建模上的优势。
该论文主要有3个贡献点:
模型框架
模型整体框架如上图所示,输入为
,其中 t 为历史输入序列的长度,d 为序列的通道数,想要预测
,T 为预测序列的长度。由于模型采用的是通道独立的预测方式,因此后文的
和
均代表单条输入序列。
01
多周期解耦块
对于输入序列
,周期性提取器首先先用傅立叶变换提取出其中的频率信息,这与 TimesNet 的操作一致:
其中,
代表了
中每个频率分量的强度。然后对于
中频率的选择,研究者认为不仅要考虑强度最大的几个频率,还需要考虑频率取值最大的频率。因为前者反映了序列的主要组成部分,后者代表了序列的高频变化部分。所以,研究者选取了
中强度前 m 大的频率。并在 m 个频率中,进一步选取了强度前
大的频率,并在剩下的频率中选取了频率值前
大的频率(保证 k1+k2<m ):
这
个频率
对应
个周期长度
。接下来,可以基于选定的周期对原始的一维时间序列
进行折叠,该过程形式为:
其中 Padding(·) 表示在序列末尾补 0,使得序列长度可以被
整除。通过上述操作,得到了一组二维张量。对应着由周期
主导的二维时序变化。
随后对于这个二维张量的表示,通过“时间变化解耦器”分别用“周期补丁(period patching)”和“频率切片(frequency slicing)”的技术来提取序列的长程变化和短程变化。
周期补丁:对于二维张量
,在
维度上进行 patch 的划分,得到 2D 的 patch,代表不同周期同一时间段的聚合信息。假设每个 patch 的维度为
,步长 stride 为
,共可以划分成
个 patch,其中每一个 patch 的维度是
。将 patch 拉平,就得到了整个序列的长程变化的表示:
。
频率切片:即将二维张量中
维度的每一行当作子序列,代表了周期内部的短程变化信息,表示为
。
02
双重变化建模模块
如图所示,双重变化建模模块采用了并行架构同时建模长程变化和短程变化。
对于长程变化,采用了经典 Transformer Encoder 的架构对于
进行建模,公式如下:
建模完成后,通过线形网络将
映射到预测序列的长度:
对于短程变化,用CNN结合SELU激活函数进行预测:
最后将长程变化的预测和短程变化的预测相加即为双变化预测模块的输出:
03
周期融合模块
将
个双周期建模模块的输出进行拼接,并用一个线性层得到最终的输出
:
实验结果
主实验对比了 Transformer 模型,CNN 模型和 Linear 模型在长程时间序列预测中的效果。本文提出的模型都取得了比较显著的提升。值得注意的是,本文并没有对所有的 baseline 都固定一个输入长度(表格中方法名后的括号代表输入长度),而是直接取了他们原论文本身的数据,这样更加公平。
Patch 中信息的讨论。研究者探讨了时序中的patch要蕴含什么信息更有效。因此对比了 PatchTST,PatchTST*(增大 PatchTST 中 patch 的长度,使其蕴含了更多的局部信息)和本文的方法(每个 patch 都蕴含了周期间的长程信息)。从表中的结果可以得出,局部 patch 长度变长反而对预测结果有不好的影响。因此,patch 中应该要蕴含更多长程的信息,有利于后续 Transformer 的建模。
复杂度分析。本文的另一大亮点是其相对于其他基于 Transformer 模型很低的计算复杂度。相对于目前计算复杂度比较低的 PatchTST 来说,其复杂度是输入长度除以 patch 长度 p 的平方;而本文提出的方法的计算复杂度是所选取的最长周期
除以 patch 长度 p 的平方。因此,本文的计算复杂度只与最长周期有关,在超长输入序列的长度下的效率可以远远高于其他的基于 Transformer 的模型。
文章还做了串行架构和并行架构以及不同周期信息融合方式的消融实验,具体可以参见原论文。
总结
该论文介绍了一种用于长期序列预测的高效周期性解耦框架(PDF)。PDF 可捕捉二维空间中的短期和长期时间变化。该方法包括使用基于周期性的多周期解耦块(MDB)分解复杂的一维时间序列。此外,研究者还提出了一个双变化建模块(DVMB),以并行地从解耦的二维序列中学习短期和长期变化。与之前仅对一维时间变化建模的方法相比,PDF 通过有效提取短期和长期变化而表现更佳。在多个时间序列数据集上的实验证明 PDF 的预测性能和计算效率都更胜一筹。