Autoformer: Decomposition Transformers withAuto-Correlation for Long-Term Series Forecasting

时间序列预测问题是根据过去的长度I序列预测未来最可能的长度O序列,表示为输入I预测O。长期预测设置是预测长期未来,即更大的O。如上所述,我们强调了长期序列预测的困难:处理复杂的时间模式,打破计算效率和信息利用的瓶颈。为了解决这两个难题,我们将分解作为一个内置模块引入深度预测模型,并提出Autoformer作为一种分解架构。此外,我们还设计了自相关机制来发现基于周期的依赖关系,并聚合来自底层周期的相似子序列。

3.1分解架构

我们将Transformer[35]更新为深度分解架构(图1),包括内部串联分解块、自相关机制以及相应的编码器和解码器。

Figure 1:encoder消除了长期趋势周期部分通过时序分解模块(也就是蓝色的模块)重点关注季节模式建模。(这个季节模式是不是指这段输入)。解码器逐步累积从隐藏变量中提取的趋势部分。编码器-解码器自相关利用来自编码器的过去季节信息。解码器中的中间绿色块。

级数分解块

为了在长期预测环境中学习复杂的时间模式,我们采用了分解的思想[1,27],它可以将序列分为趋势周期性和季节性部分。这两部分分别反映了序列的长期发展和季节性。然而,直接分解是无法实现的未来系列,因为未来是未知的。为了解决这个难题,我们提出了一个序列分解块作为Autoformer的内部操作(图1),它可以从预测的中间隐藏变量中逐步提取长期平稳趋势。具体来说,我们采用移动平均线来消除周期性波动,突出长期趋势。对于长度为L的输入系列X∈ RL×d,过程为:

 Xt和Xs都是维度为L*d的,分别指的是季节性的和提取的趋势周期部分,我们采用AvgPool(·)进行移动平均,并使用填充操作来保持序列长度不变。我们使用Xs和Xt = 序列分解(X)总结上述方程,这是一个模型内部块。

模型输入

encoder部分的输入是过去I时间长度的Xen,维度是I*d的维度。作为一种分解架构(图1),Autoformer解码器的输入包含季节性部分和趋势周期部分分别是Xdes和Xdet,他们的维度都是(I/2 + O)* d。每个初始化由两部分组成:从编码器输入Xen的后半部分分解的组件,长度为I2以提供最近的信息,长度为O的占位符由标量填充。公式化如下:

 

:分别指的是Xen,的季节性和趋势周期部分。

:指的是由0填充的和Xen的均值。 

编码器

编码器侧重于季节性零件建模。编码器的输出包含过去的季节性信息,并将用作交叉信息,以帮助解码器优化预测结果。假设我们有N个编码器层。第l个编码器层的总体方程总结为

细节如下展示:

 其中下划线"_",指的是消除的趋势的部分。

 

指的是第l层的encoder的输出以及 

是Xen的enbedded。 

代表着季节性的部分,在i-th 的序列分解块后在第l-th层的layer。 观察到在一层的layer是最起码有两个分解模块的。

 我们将在下一节详细描述自相关(·),它可以无缝地取代自我注意。

解码器

解码器包含两部分:趋势周期分量的累积结构和季节分量的叠加自相关机制(图1)。

 the stacked Auto-Correlation mechanism for seasonal components :seasonal部分是堆叠的。

the accumulation structure for trend-cyclical components:趋势周期成分的累积结构。

每个解码层包含内部自相关和编解码器自相关,它们可以分别细化预测和利用过去的季节信息。

*(也就是说上面那个部分是细化,而下面的部分是利用过去的seasonal信息。)

请注意,该模型在解码器期间从中间隐藏变量中提取潜在趋势,允许Autoformer逐步细化趋势预测,并消除干扰信息,以便在自相关中发现基于周期的依赖关系。假设有M个解码器层:利用来自编码器的潜变量第L层解码器的方程可以总结为:

 The decoder can be formalized as follows:

 

 is embedded from Xdes for deep transform

 

 

 l是层数layer,i是代表第i个分解器。一个layer包括几个分解器。

 W l,i是一个projector。

 

 

最终的预测是两个细化分解分量的总和

 3.2 自相关机制

我们提出了串联连接的自相关机制来扩展信息利用率。自相关通过计算序列自相关来发现基于周期的相关性,并通过延时聚合来聚合相似的子序列。

基于周期的依赖关系

可以观察到,周期之间相同的相位位置自然会提供类似的子过程。受随机过程理论启发,对于一个真正的离散时间进程 

我们可以得到自相关

 通过下列等式

 

反映了两者之间的时间延迟相似性between

 and他的

 我们使用自相关作为估计周期长度的非正规置信度t。然后,我们选择最可能的k个周期长度τ1,···,τk。基于周期的依赖性由上述估计的周期导出,并可由相应的自相关加权。

时延聚合

基于周期的依赖关系将子序列连接到估计的周期中。因此,我们给出了时延聚合块(图2),可以根据选定的时间延迟滚动序列 τ1, · · · , τk,该操作可以对齐处于估计周期相同相位位置的类似子序列,这与自我注意家族中的点积聚合不同。最后,我们汇总子系列通过softmax。

对于单头情况和长度为L的时间序列X,在投影仪之后,我们得到查询Q、键K和值V。因此,它可以无缝地替代自我注意。自相关机制是:

其中,arg Topk(·)是获取Topk自相关的参数,并让k=bc×log Lc,c是一个超参数。RQ,K是序列Q和K之间的自相关。Roll(X,τ)表示对X的操作,时间延迟τ,在此期间,移动到第一个位置之外的元素在最后一个位置重新引入。 对于编码器-解码器自相关(图1),K、V来自编码器X Nen,并将调整为长度-O,Q来自解码器的前一个块。

多头注意力是这么算的, 

高效计算

对于基于周期的依赖关系,这些依赖关系指向处于基础周期相同阶段位置的子流程,并且本质上是稀疏的。在这里,我们选择最可能的延迟,以避免选择相反的阶段。因为我们将长度为L的O(对数L)级数相加,所以方程6和7的复杂性为O(对数L)。对于自相关计算(方程式5),给定时间序列{Xt},可以根据维纳-钦钦定理[37]通过快速傅里叶变换(FFT)计算RX(τ):

 τ在哪里∈ {1,···,L},F表示FFT,F表示FFT−1是它的反面。∗ 表示共轭运算,SX X(f)在频域中。注意,{1,···,L}中所有滞后的序列自相关可以通过FFT一次计算出来。因此,自相关实现了O(L logl)复杂度。

自相关与自我关注家庭

与点式自我注意家族不同,自相关呈现出一系列的联系(图3)。具体来说,对于时间依赖,我们基于周期性找到子序列之间的依赖关系。相比之下,自我关注家庭只计算分散点之间的关系。虽然一些自聚焦(20, 41)考虑局部信息,但它们仅利用这一点来帮助逐点依赖性发现。对于信息聚合,我们采用延时块来聚合来自底层周期的相似子序列。相比之下,自聚焦按点积聚合选定的点。由于固有的稀疏性和子序列级表示聚合,自相关可以同时提高计算效率和信息利用率。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值