近年来,有很多研究工作将 Transformer 应用在时间序列预测领域,取得了不错的效果,然而很多工作在模型设计上没有充分利用时间序列数据的特性,通过堆数据和算力获得优良的效果,因此存在一些局限(不可分解、低效等)。
最近来自新加坡 Saleforce 研究院和新加坡管理大学的几位研究者提出了一种新的时间序列Transformer 结构,叫做 ETSformer。他们用模块化分解块重新设计了 Transformer 体系结构,以便它能够学会将时间序列数据分解为可解释的时间序列组合。研究者们受经典指数平滑方法启发,提出了新的指数平滑注意(ESA)和频率注意(FA)来取代 vanilla Transformer 中的自注意机制,从而提高了精度和效率。
本期文章为大家简要介绍这一工作。
论文地址:https://arxiv.org/abs/2202.01381
论文源码:https://github.com/salesforce/ETSformer
背景
Transformer 模型在NLP和CV领域的成功主要归功于它的自注意机制,其能够通过成对的(query-key)请求交互自适应地建模短期和长期依赖关系。近年来很多研究者将 Transformer 这一特性探索应用于时间序列预测领域,特别是长时间序列预测(LSTF)任务。这些工作虽然取得了不错的结果,但提取显著的时序特征,进而利用大规模数据进行准确的长期预测仍然存在挑战。这是因为时间序列数据通常是有噪声和非平稳的。如果不结合时间序列相关知识,就容易学到虚假的依赖关系,也缺乏可解释性。
另一方面,Transformer 使用的基于内容的点积注意力并不能有效地检测时序中的时间依赖性,其原因主要有两个:a) 首先,通常假设时间序列数据是由过去观测数据的条件分布生成的,随着时间的推移,观测数据之间的相关性会减弱。这表明在建模时间序列时,用相对时间滞后测量的注意力比用内容相似度测量的注意力更有效。b) 其次,许多现实世界的时间序列显示出强烈的周期性,自动提取周期模式已被证明是预测成功的关键。然而在没有先验知识的情况下,普通注意机制不太可能学习到周期性依赖关系。
为了解决这些限制,受指数平滑方法的启发,研究者们提出 ETSformer,其模型架构如下图所示:
模型方法
首先,ETSformer 通过执行分层、增长和周期分解,对时间序列的特征结构进行归纳。通过深度架构的高容量和有效的残差学习方案,ETSformer 能够提取一系列潜在的增长和周期性模式,并对其复杂的依赖性进行建模。如下图所示:
上图展现了 ETSformer 是如何通过分解得到周期和趋势成分,从而生成预测的。周期性成分模块提取显著的周期性模式,并对其进行合理推理;趋势分量模块是水平和增长项的组合,首先估计时间序列的当前水平,然后添加阻尼增长项以生成趋势预测。
ETSformer 引入了一种新颖的指数平滑注意力(ESA)和频率注意力(FA)来代替普通注意力。特别是,ESA 基于相对时间滞后因子构建注意力分数,实现了复杂度为O(Llog L) 对长度为 L 的时间窗口进行回溯,展示了强大的增长组件建模能力。FA 利用傅里叶变换通过选择频域中幅度最大的 K 个傅里叶基来提取主要的周期性模式,同样实现了 O(Llog L) 复杂度。
最后,预测的结果是水平、趋势和周期成分的组合,这使其具有可解释性。
实验
本文进行了大量的实证分析,表明ETSformer在多变量和单变量设置下,优于目前的主要算法,并实现了最先进的性能,并将时间序列组件可视化,以验证其可解释性。
1. 下表显示了ETSformer在选择的多变量设置的数据集上实验的结果:
2. 下表显示了ETSformer在选择的单变量设置的数据集上实验的结果:
3. 下图展示了 ETSformer 合成数据与实际数据的对比。在这种情况下,使用合成数据的实验是至关重要的,因为我们无法从真实世界的数据中获得ground truth分解。其中左图: ETSformer 和 Autoformer 在合成数据集上的分解预测的可视化。右图: ETSformer 对真实世界数据集(ETTh1、ECL和Weather)的分解预测的可视化。
总结
本文研究者提出的 ETSformer 是对 Autoformer 模型构建思路的进一步改进,通过指数平滑的这种传统时序方法,不仅有更好的效果,同时也具有良好的可解释性。
ETSformer 模型的主要贡献在于: