时序必读论文15|TimeXer:通过外部变量增强Transformer在时间序列预测中的能力

2024-09-18 16:50:21 浏览数 (2)

论文标题:TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables

论文链接:https://arxiv.org/abs/2402.19072

前言

仅仅关注内生变量,通常不足以保证准确的预测,外部序列可以为内生变量提供有价值的外部信息。先前的多变量或单变量预测方法要么将所有变量平等对待,要么忽视外部信息,本文提出TimeXer框架,利用外部信息来增强内生变量的预测。TimeXer相较于Transformer架构,具备调节内生和外生信息的能力,特别是设计了patch自注意力和variate交叉注意力机制。此外,TimeXer还采用了一个全局内生变量token来将外部序列桥接到内生时间patch中。实验结果表明,TimeXer在带有外部变量的时间序列预测方面显著提升了性能,并在十二个真实世界预测基准测试中取得了领先的性能。

这里首先给出内生和外生变量的概念定义:内生时间序列代表需要预测的值,而外部变量是影响内生序列的额外因素。这些外部变量可能包含与内生序列相关的各种信息,如季节性因素、经济指标、政策变化等,它们可以对内生序列的走势产生重要影响。

本文工作

01、背景介绍

如图1所示,现有的预测范式可以大致归纳为三个不同的类别。与单变量和多变量预测相比,带有外部变量的预测引入了辅助信息以促进内生变量的预测。外部变量在实际应用中普遍存在且不可或缺,因为时间序列数据的变化常常受到外部因素的影响,如经济指标、人口变化和社会事件。例如,电价高度依赖于市场的供需情况,仅基于历史数据来预测未来价格几乎是不可能的。结合外部因素可以更全面地理解各变量之间的相互关系和因果关系,从而提高预测的性能、可靠性和可解释性。

带有外部变量的预测面临着独特的挑战。首先,时间序列往往受到多种因素的影响,这要求模型能够调和内生变量与外部变量之间的差异和依赖关系。将外部变量与内生变量同等对待不仅会导致显著的时间和内存复杂度,还会涉及从内生序列到外部信息的不必要交互。其次,外部因素对内生序列的影响可能是连续的和具有时滞性的。现实世界场景中的时间序列往往是不规则的,外部变量可能会遇到数据缺失、长度不一致和采样时间不一致等问题。

这里引出:基于Transformer的预测器最初并不是为带有外部变量的预测而设计的。以PatchTST为代表的现有变量独立模型仅能够捕捉时间依赖关系,但无法捕捉多元相关性。

02、TimeXer

如图所示,TimeXer在不修改任何组件的情况下重新利用了标准的Transformer架构,其中引入了变量嵌入和patch嵌入来处理外部变量和内生变量之间的差异。TimeXer采用了标准的自注意力和交叉注意力机制来分别捕捉时间依赖性和变量依赖性。

Variate Embedding。TimeXer采用了一种变量嵌入方法,将每个序列嵌入为一个变量token,可以总结如下:

  • 内生变量嵌入:对于内生时间序列x_1:L,将其视为一个整体,并应用一个嵌入层(如线性层或嵌入查找表)将其嵌入为一个固定大小的向量e_x,该向量表示整个内生序列的全局特征。
  • 外部变量嵌入:对于每个外部变量序列z_1:L'^{(i)}(其中i从1到C),、应用相同的嵌入层将其嵌入为一个固定大小的向量e_z^{(i)}。这样,就为每个外部变量序列都获得了一个全局表示。
  • 嵌入融合:在获得内生变量和外部变量的嵌入之后,通过将所有嵌入向量拼接(concatenation),或者使用注意力机制将它们融合,以捕捉它们之间的相互作用。

通过这种方法,TimeXer能够利用序列的全局表示来建模内生变量和外部变量之间的相互作用,同时避免了由于使用过于细粒度的表示而引入的噪声和计算复杂度。

Patch Embedding。内生序列被分割成非重叠的patch,并且每个patch都被映射为一个时间token。内生变量的patch嵌入可以表示为:

PatchEmbed()函数通过一个可训练的线性投影和位置嵌入将每个长度为P的patch映射到D维空间。

Patch-wise Self-Attention。TimeXer对所有内生token应用注意力机制,以捕获patch间的依赖关系。具体来说,内生变量的嵌入向量包含多个patch token(P)和变量token(V),其中变量token 是全局token,提供了全局视图以及与外生变量的交互。这个过程可以形式化为:

Variate-wise Cross-Attention。在TimeXer中,采用交叉注意力来对内生和外生变量的序列级依赖性进行建模。交叉注意力层将内生变量作为查询(query),将外生变量作为键(key)和值(value),以建立两种类型变量之间的联系,。这个过程可以形式化为:

实验和结论

整体读下来,这篇和Itransformer是一样的风格,故事讲的好,模型并不复杂,相比讲故事好重要~

按照作者的说法,考虑到外生变量在现实世界预测场景中的普遍性,TimeXer赋予了经典的Transformer架构无需结构性修改就能整合内生和外生信息的能力,能够捕捉内生时间依赖性以及内生和外生变量之间的多元相关性。实验结果表明,TimeXer在包含外生变量的短期和长期预测任务中都实现了最先进的性能。

0 人点赞