【論文閱讀】Autoformer Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting

张天明發表於2024-03-16

原始題目:Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting
中文翻譯:Autoformer:用於長期序列預測的自相關分解變壓器
發表時間:2021年
平臺:Advances in Neural Information Processing Systems
文章連結:https://proceedings.neurips.cc/paper/2021/hash/bcc0d400288793e8bdcd7c19a8ac0c2b-Abstract.html
開原始碼:https://github.com/thuml/Autoformer

摘要

延長預測時間是實際應用的關鍵需求,如極端天氣預警和長期能源消耗規劃。本文研究了時間序列的長期預測問題。先驗基於變換的模型採用各種自注意機制來發現長程依賴關係。然而,長期未來複雜的時間模式阻礙了模型找到可靠的依賴關係。此外,變壓器為了長串聯效率,不得不採用稀疏版本的逐點自關注,導致資訊利用瓶頸。超越變形金剛,我們將Autoformer設計為一種具有自相關機制的新型分解架構。我們打破了級數分解的預處理慣例,將其作為深度模型的基本內部塊進行了更新。這種設計使Autoformer具有複雜時間序列的漸進分解能力。此外,受隨機過程理論的啟發,我們設計了基於序列週期性的自相關機制,在子序列層面進行相關性發現和表示聚合。自相關在效率和準確性方面都優於自注意。在長期預測中,Autoformer產生了最先進的準確性,在六個基準上相對提高了38%,涵蓋了五個實際應用:能源、交通、經濟、天氣和疾病。程式碼在此儲存庫中可用:https://github.com/thuml/Autoformer.

1. 引言

時間序列預測已廣泛應用於能源消耗、交通和經濟規劃、天氣和疾病傳播預測。在這些現實世界的應用中,一個緊迫的需求是將預測時間延長到遙遠的未來,這對長期規劃和預警非常有意義。因此,在本文中,我們研究了時間序列的長期預測問題,其特徵是預測的時間序列的長度很大。最近的深度預測模型[41,17,20,28,23,29,19,35]取得了很大的進展,尤其是基於Transformer的模型。得益於自關注機制,Transformers在為序列資料建模長期依賴性方面獲得了巨大優勢,這使得能夠建立更強大的大模型[7,11]。

然而,在長期環境下,預測任務極具挑戰性。首先,直接從長期時間序列中發現時間相關性是不可靠的,因為相關性可能會被糾纏的時間模式所掩蓋。其次,由於序列長度的二次複雜性,具有自注意機制的正則變換器在計算上不適合長期預測。先前基於Transformer的預測模型[41,17,20]主要集中於提高對稀疏版本的自我關注。雖然效能顯著提高,但這些模型仍然使用逐點表示聚合。因此,在效率提高的過程中,由於稀疏的逐點連線,它們將犧牲資訊利用率,從而成為時間序列長期預測的瓶頸。

為了解釋複雜的時間模式,我們試圖採用分解的思想,這是時間序列分析的標準方法[1,27]。它可以用於處理複雜的時間序列,並提取更可預測的成分。然而,在預測上下文下,它只能用作過去序列的預處理,因為未來是未知的[15]。這種常見用法限制了分解的能力,並忽略了分解元件之間未來潛在的互動。因此,我們試圖超越分解的預處理使用,並提出一種通用架構來賦予深度預測模型以漸進分解的內在能力。此外,分解可以解開糾纏的時間模式,突出時間序列的固有特性[15]。得益於此,我們試圖利用序列的週期性來翻新自我關注中的逐點連線。我們觀察到,週期之間處於相同相位的子序列往往表現出相似的時間過程。因此,我們試圖基於序列週期性匯出的過程相似性來構建序列級連線。

基於上述動機,我們提出了一種原始的Autoformer來代替變壓器進行長期時間序列預測。Autoformer仍然遵循殘差和編碼器-解碼器結構,但將Transformer更新為分解預測架構。透過嵌入我們提出的分解塊作為內部運算元,Autoformer可以逐步將長期趨勢資訊與預測的隱藏變數分離開來。這種設計允許我們的模型在預測過程中交替分解和細化中間結果。受隨機過程理論[8,24]的啟發,Autoformer引入了一種自相關機制來代替自注意,該機制基於序列的週期性來發現子序列的相似性,並從潛在週期中聚合相似的子序列。該序列機制實現了長度為L的序列的O(L log L)複雜性,並透過將逐點表示聚合擴充套件到子序列級別來打破資訊利用瓶頸。Autoformer在六個基準上實現了最先進的精度。貢獻概述如下:

  • 為了解決長期未來複雜的時間模式,我們將Autoformer作為一種分解架構,並設計內部分解塊,以賦予深度預測模型內在的漸進分解能力。
  • 我們提出了一種在序列級別上具有相關性發現和資訊聚合的自相關機制。我們的機制超越了以前的自關注家族,可以同時提高計算效率和資訊利用率。
  • 在六個基準的長期設定下,Autoformer實現了38%的相對改善,涵蓋了五個現實世界的應用:能源、交通、經濟、天氣和疾病。

2. 相關工作

2.1 時間序列預測模型

由於時間序列預測的巨大重要性,各種模型已經得到了很好的發展。許多時間序列預測方法都是從經典工具開始的[32,9]。ARIMA[6,5]透過差分將非平穩過程轉換為平穩過程來解決預測問題。濾波方法也用於序列預測[18,10]。此外,遞迴神經網路(RNN)模型用於對時間序列的時間相關性進行建模[36,26,40,22]。DeepAR[28]將自迴歸方法和RNN相結合,對未來序列的機率分佈進行建模。LSTNet[19]引入了具有遞迴跳躍連線的卷積神經網路(CNNs),以捕捉短期和長期的時間模式。基於注意力的RNN[39,30,31]引入時間注意力來探索用於預測的長程依賴性。此外,許多基於時間卷積網路(TCN)的工作[34,4,3,29]試圖用因果卷積對時間因果關係進行建模。這些深度預測模型主要關注透過遞迴連線、時間注意或因果卷積進行的時間關係建模。

最近,基於自注意機制的Transformer[35,38]在序列資料方面顯示出強大的能力,如自然語言處理[11,7]、音訊處理[14]甚至計算機視覺[12,21]。然而,由於記憶和時間中序列長度L的二次複雜性,將自關注應用於長期時間序列預測在計算上是禁止的。LogTrans[20]在Transformer中引入了區域性卷積,並提出了LogSparse注意,以選擇遵循指數遞增區間的時間步長,這將複雜性降低到O(L(log L)2)。Reformer[17]提出了區域性敏感雜湊(LSH)注意,並將複雜性降低到O(L log L)。Informer[41]擴充套件了具有基於KL散度的ProbeSparse注意力的Transformer,並實現了O(L log L)複雜性。請注意,這些方法基於vanilla Transformer,並試圖將自注意機制改進為稀疏版本,該版本仍然遵循逐點依賴和聚合。在本文中,我們提出的自相關機制基於時間序列的固有周期性,可以提供序列連線。

2.2 時間序列的分解

作為時間序列分析的一種標準方法,時間序列分解[1,27]將時間序列分解為幾個組成部分,每個組成部分代表更可預測的模式的基本類別之一。它主要用於探索隨時間推移的歷史變化。對於預測任務,在預測未來序列[15,2]之前,總是使用分解作為歷史序列的預處理,例如具有趨勢季節性分解的Prophet[33]和具有基擴充套件的N-BEATS[23]以及具有矩陣分解的DeepGLO[29]。然而,這種預處理受到歷史序列的平面分解效應的限制,並忽視了長期未來序列底層模式之間的層次互動。本文將分解思想從一個新的漸進維度引入。我們的Autoformer將分解作為深度模型的內部塊,它可以在整個預測過程中逐步分解隱藏序列,包括過去的序列和預測的中間結果。

3. Autoformer

時間序列預測問題是在給定過去的長度I序列的情況下預測未來最可能的長度-O序列,表示為輸入-I-預測-O。長期預測設定是預測長期的未來,即更大的O。如上所述,我們強調了長期序列預測的困難:處理複雜的時間模式打破計算效率和資訊利用的瓶頸。為了解決這兩個挑戰,我們將分解作為內建塊引入深度預測模型,並提出將Autoformer作為分解架構。此外,我們還設計了自相關機制來發現基於週期的依賴關係,並從底層週期中聚合相似的子序列。

3.1 分解架構

我們將Transformer[35]更新為深度分解架構(圖1),包括內部串聯分解塊、自相關機制以及相應的編碼器和解碼器。

序列分解塊 為了學習長期預測環境中複雜的時間模式,我們採用了分解的思想[1,27],它可以將序列分為趨勢週期和季節部分。這兩個部分分別反映了該系列的長期進展和季節性。然而,對於未來的系列來說,直接分解是不可行的,因為未來是未知的。為了解決這一困境,我們提出了一個級數分解塊作為Autoformer的內部操作(圖1),它可以從預測的中間隱藏變數中逐步提取長期平穩趨勢。具體地說,我們調整移動平均線來平滑週期性波動,並突出長期趨勢。對於長度為L的輸入序列\(\mathcal{X}\in\mathbb{R}^{L\times d}\),過程為:

\[\begin{aligned} &X_{t} =\mathrm{AvgPool}(\mathrm{Padding}(\mathcal{X})) \\ &\mathcal{X}_{\mathbf{s}} ={\mathcal X}-{\mathcal X}_{\mathrm{t}}, \end{aligned}\tag{1} \]

其中\(\mathcal{X}_{\mathrm{s}},\mathcal{X}_{\mathrm{t}}\in\mathbb{R}^{L\times d}\)分別表示季節性部分和提取的趨勢週期部分。我們採用AvgPool(·)進行移動平均,並進行填充操作,以保持序列長度不變。我們使用Xs,Xt=SeriesDecomp(X)來總結上述方程,它是一個模型內部塊。

模型輸入 編碼器部分的輸入是過去的I時間步長\(\mathcal{X}_{\mathrm{en}}\in\mathbb{R}^{I\times d}\)。作為一種分解架構(圖1),Autoformer解碼器的輸入包含季節部分\(\chi_{\mathrm{des}}\in\mathbb{R}^{(\frac I2+O)\times d}\)和趨勢迴圈部分\(\mathcal{X}_{\mathrm{det}}\in\mathbb{R}^{(\frac{I}{2}+O)\times d}\)。每個初始化由兩個部分組成:從編碼器輸入\(\mathcal{X}_{\mathrm{en}}\)的後半部分分解的長度為\(\frac{I}{2}\)的分量,以提供最近的資訊,長度為O的佔位符由標量填充。其公式如下:

\[\begin{aligned} \mathcal{X}_{\mathrm{ens}},\mathcal{X}_{\mathrm{ent}}& =\mathrm{SeriesDecomp}(\mathcal{X}_{\mathrm{en}\frac{I}{2}:I}) \\ \mathcal{X}_{\mathrm{des}}& =\mathrm{Concat}(\mathcal{X}_{\mathrm{ens}},\mathcal{X}_{0}) \\ \mathcal{X}_{\mathrm{det}}& =\mathrm{Concat}(\mathcal{X}_{\mathrm{ent}},\mathcal{X}_{\mathrm{Mean}}), \end{aligned}\tag{2} \]

其中\(\mathcal{X}_{\mathrm{ens}},\mathcal{X}_{\mathrm{ent}}\in\mathbb{R}^{\frac{I}{2}\times d}\)分別表示\(\chi_{\mathrm{en}}\)的季節性和趨勢性迴圈部分,\(\mathcal{X}_{0},\mathcal{X}_{\mathrm{Mean}}\in\mathbb{R}^{O\times d}\)分別代表用零填充的佔位符和Xen的平均值。

image-20240315235323001

圖1:Autoformer架構。編碼器透過序列分解塊(藍色塊)消除了長期趨勢迴圈部分,並專注於季節模式建模。解碼器逐步累積從隱藏變數中提取的趨勢部分。來自編碼器的過去季節資訊由編碼器-解碼器自相關(解碼器中的中心綠色塊)使用。

編碼器 如圖1所示,編碼器專注於季節性零件建模。編碼器的輸出包含過去的季節性資訊,並且將被用作交叉資訊以幫助解碼器細化預測結果。假設我們有N個編碼器層。第l個編碼器層的總體方程總結為\(\mathcal{X}_{\mathrm{en}}^{l}=\mathrm{Encoder}(\mathcal{X}_{\mathrm{en}}^{l-1})\)。具體如下:

\[\begin{aligned}\mathcal{S}_{\text{en}}^{l,1},_{-}&=\text{SeriesDecomp}\Big(\text{Auto-Correlation}(\mathcal{X}_{\text{en}}^{l-1})+\mathcal{X}_{\text{en}}^{l-1}\Big)\\\mathcal{S}_{\text{en}}^{l,2},_{-}&=\text{SeriesDecomp}\Big(\text{FeedForward}(\mathcal{S}_{\text{en}}^{l,1})+\mathcal{S}_{\text{en}}^{l,1}\Big),\end{aligned}\tag{3} \]

其中"_"是已消除的趨勢部分。\(\mathcal{X}_{\mathrm{en}}^{l}=\mathcal{S}_{\mathrm{en}}^{l,2},l\in\{1,\cdots,N\}\)表示第l個編碼器層的輸出,\(\mathcal{X}_{\mathrm{en}}^{0}\)是嵌入的\(\mathcal{X}_{\mathrm{en}}\)\(\mathcal{S}_{\mathrm{en}}^{l,i},i\in\{1,2\}\)分別表示第l層中第i個級數分解塊之後的季節分量。我們將在下一節中詳細描述Auto-Correlation(·),它可以無縫地取代自我關注。

解碼器 解碼器包括兩個部分:趨勢週期分量的累積結構和季節分量的堆疊自相關機制(圖1)。每個解碼器層都包含內部自相關和編碼器-解碼器自相關,它們可以分別細化預測和利用過去的季節資訊。請注意,該模型在解碼器過程中從中間隱藏變數中提取潛在趨勢,使Autoformer能夠逐步細化趨勢預測,並消除干擾資訊,以便在自相關中發現基於週期的相關性。假設有M個解碼器層。利用來自編碼器的潛在變數\(\mathcal{X}_{\mathrm{en}}^{N}\),第l解碼器層的方程可以概括為\(\mathcal{X}_{\mathrm{de}}^{l}=\mathrm{Decoder}(\mathcal{X}_{\mathrm{de}}^{l-1},\mathcal{X}_{\mathrm{en}}^{N})\)。解碼器可以形式化如下:

\[\begin{aligned} \mathcal{S}_{\mathrm{de}}^{l,1},\mathcal{T}_{\mathrm{de}}^{l,1}& =\text{SeriesDecomp}\Big(\text{Auto-Correlation}(\mathcal{X}_{\mathrm{de}}^{l-1})+\mathcal{X}_{\mathrm{de}}^{l-1}\Big) \\ \mathcal{S}_{\mathrm{de}}^{l,2},\mathcal{T}_{\mathrm{de}}^{l,2}& =\text{SeriesDecomp}\Big(\text{Auto-Correlation}(\mathcal{S}_{\mathrm{de}}^{l,1},\mathcal{X}_{\mathrm{cn}}^{N})+\mathcal{S}_{\mathrm{de}}^{l,1}\Big) \\ \mathcal{S}_{\mathrm{de}}^{l,3},\mathcal{T}_{\mathrm{de}}^{l,3}& =\mathrm{SeriesDecomp}\Big(\mathrm{FeedForward}(\mathcal{S}_{\mathrm{de}}^{l,2})+\mathcal{S}_{\mathrm{de}}^{l,2}\Big) \\ \mathcal{T}_{\mathrm{de}}^{l}& ={\mathcal T}_{\mathrm{de}}^{l-1}+{\mathcal W}_{l,1}*{\mathcal T}_{\mathrm{de}}^{l,1}+{\mathcal W}_{l,2}*{\mathcal T}_{\mathrm{de}}^{l,2}+{\mathcal W}_{l,3}*{\mathcal T}_{\mathrm{de}}^{l,3}, \end{aligned}\tag{4} \]

其中,\(\mathcal{X}_{\mathrm{de}}^{l}=\mathcal{S}_{\mathrm{de}}^{l,3},l\in\{1,\cdots,M\}\)表示第l解碼器層的輸出。從\(\mathcal{X}_{\mathrm{des}}\)嵌入\(\mathcal{X}_{\mathrm{de}}^{0}\)用於深度變換,\(\mathcal{T}_{\mathrm{de}}^{0}=\mathcal{X}_{\mathrm{det}}\)用於累加。\(\mathcal{S}_{\mathrm{de}}^{l,i},\mathcal{T}_{\mathrm{de}}^{l,i},i\in\{1,2,3\}\)分別表示第l層第i個序列分解塊後的季節性分量和趨勢週期性分量。\(\mathcal{W}_{l,i},i\in\{1,2,3\}\)表示第i個提取的趨勢\(\mathcal{T}_{\mathrm{de}}^{l,i}\)的投影。

image-20240316000817054

圖2:自相關(左)和時延聚合(右)。我們利用快速傅立葉變換來計算自相關R(τ),它反映了時延的相似性。然後,基於所選擇的延遲τ,將相似的子過程滾動到相同的索引,並透過R(τ)進行聚合。

最終預測是兩個精細分解分量的總和,即\({\mathcal W}_{\mathcal S}*{\mathcal X}_{\mathrm{de}}^{M}+{\mathcal T}_{\mathrm{de}}^{M}\),其中\(\mathcal{W}_{\mathcal{S}}\)是將深度變換的季節分量\(\mathcal{X}_{\mathrm{de}}^{M}\)投影到目標維度。

3.2 自相關機制

如圖2所示,我們提出了具有串聯連線的自相關機制,以擴大資訊利用率。自相關透過計算序列自相關來發現基於週期的相關性,並透過時間延遲聚合來聚合相似的子序列。

基於週期的依賴性可以觀察到,週期之間相同的相位位置自然會提供相似的子過程。受隨機過程理論[8,24]的啟發,對於實離散過程\(\{{\mathcal{X}_{t}}\}\),我們可以透過以下方程獲得自相關\(\mathcal{R}_{\mathcal{X}\mathcal{X}}(\tau)\)

\[\mathcal{R}_{\mathcal{X}\mathcal{X}}(\tau)=\lim_{L\to\infty}\frac{1}{L}\sum_{t=1}^{L}\mathcal{X}_{t}\mathcal{X}_{t-\tau}.\tag{5} \]

\(\mathcal{R}_{\mathcal{X}\mathcal{X}}(\tau)\)反映了{Xt}與其τ滯後序列{Xt-τ}之間的時延相似性。如圖2所示,我們使用自相關R(τ)作為估計週期長度τ的非標準化置信度。然後,我們選擇最可能的k週期長度τ1,··,τk。基於週期的依賴性是由上述估計的週期匯出的,並且可以透過相應的自相關來加權。

時間延遲聚合基於週期的依賴關係連線估計週期之間的子序列。因此,我們提出了時延聚合塊(圖2),它可以基於選定的時延τ1,···,τk滾動序列。該操作可以對齊處於估計週期相同相位的相似子序列,這與自關注族中的逐點積聚合不同。最後,我們透過softmax歸一化置信度來聚合子序列。

對於長度為L的單頭情況和時間序列X,在投影儀之後,我們得到查詢Q、金鑰K和值V。因此,它可以無縫地取代自注意。自相關機制是:

\[\begin{aligned} \tau_{1},\cdots,\tau_{k}& =\underset{\tau\in\{1,\cdots,L\}}{\arg\text{Topk}}{ ( \mathcal{R}_{\mathcal{Q},\mathcal{K}}(\tau))} \\ \widehat{\mathcal R}_{\mathcal{Q},\mathcal{K}}(\tau_{1}),\cdots,\widehat{\mathcal R}_{\mathcal{Q},\mathcal{K}}(\tau_{k})& =\text{SoftMax}\left(\mathcal{R}_{\mathcal{Q},\mathcal{K}}(\tau_{1}),\cdots,\mathcal{R}_{\mathcal{Q},\mathcal{K}}(\tau_{k})\right) \\ \operatorname{Auto-Correlation}(\mathcal{Q},\mathcal{K},\mathcal{V})& =\sum_{i=1}^{k}\mathrm{Roll}(\mathcal{V},\tau_{i})\widehat{\mathcal{R}}_{Q,\mathcal{K}}(\tau_{i}), \end{aligned}\tag{6} \]

其中arg-Topk(·)是得到Topk自相關的自變數,並且設k=bc×log-Lc,c是超引數。RQ,K是級數Q和K之間的自相關。Roll(X,τ)表示對具有時間延遲τ的X的運算,在此期間,偏移超過第一個位置的元素在最後一個位置重新引入。對於編碼器-解碼器自相關(圖1),K、V來自編碼器\(\chi_{\mathrm{en}}\),並將調整大小為長度O,Q來自解碼器的前一塊。

image-20240316110137843

圖3:自相關與自我關注家庭。全注意力[35](a)適應所有時間點之間的完全連線。稀疏注意力[17,41](b)基於所提出的相似性度量來選擇點。LogSparse Attention[20](c)選擇遵循指數遞增區間的點。自相關(d)側重於基礎時期之間的子序列的連線。

對於Autoformer中使用的多頭版本,具有\(d_{model}\)通道的隱藏變數h頭,第i頭的查詢、鍵和值為\(\mathcal{Q}_{i},\mathcal{K}_{i},\mathcal{V}_{i}\in\mathbb{R}^{L\times\frac{d_{\mathrm{model}}}{h}},i\in\{1,\cdots,h\}\)。過程是:

\[\begin{gathered} \mathrm{MultiHead}(\mathcal{Q},\mathcal{K},\mathcal{V}) =\mathcal{W}_\text{output}*\text{Concat}(\text{head}_1,\cdots,\text{head}_h) \\ \mathrm{where~head}_{i} =\operatorname{Auto-Correlation}(\mathcal{Q}_i,\mathcal{K}_i,\mathcal{V}_i). \end{gathered}\tag{7} \]

高效計算 對於基於週期的依賴關係,這些依賴關係指向處於基礎週期相同相位的子程序,並且本質上是稀疏的。在這裡,我們選擇最可能的延遲,以避免選擇相反的相位。因為我們聚合長度為L的O(log L)序列,所以方程6和7的複雜度為O(L log L)。對於自相關計算(方程5),給定時間序列{Xt},RX X(τ)可以根據Wiener–Khinchin定理[37]透過快速傅立葉變換(FFT)計算:

\[\begin{aligned}\mathcal{S}_{\mathcal{X}\mathcal{X}}(f)&=\mathcal{F}\left(\mathcal{X}_{t}\right)\mathcal{F}^{*}\left(\mathcal{X}_{t}\right)=\int_{-\infty}^{\infty}\mathcal{X}_{t}e^{-i2\pi tf}\mathrm{d}t\overline{\int_{-\infty}^{\infty}\mathcal{X}_{t}e^{-i2\pi tf}\mathrm{d}t}\\\mathcal{R}_{\mathcal{X}\mathcal{X}}(\tau)&=\mathcal{F}^{-1}\left(\mathcal{S}_{\mathcal{X}\mathcal{X}}(f)\right)=\int_{-\infty}^{\infty}\mathcal{S}_{\mathcal{X}\mathcal{X}}(f)e^{i2\pi f\tau}\mathrm{d}f,\end{aligned}\tag{8} \]

其中\(\tau\in\{1,\cdots,L\}\),F表示FFT,F−1是其逆。*表示共軛運算,並且\(\mathcal{S}_{\mathcal{X}{\mathcal{X}}}({f})\)在頻域中。注意,{1,··,L}中所有滯後的序列自相關可以透過FFT同時計算。因此,自相關實現了O(L log L)複雜度。

**自相關與自關注家族 ** 不同於點自關注家族,自相關呈現了串聯連線(圖3)。具體來說,對於時間依賴性,我們基於週期性找到子序列之間的依賴性。相比之下,自關注族只計算分散點之間的關係。儘管一些自關注[20,41]考慮了區域性資訊,但它們僅利用這一點來幫助點依賴性發現。對於資訊聚合,我們採用時間延遲塊來聚合來自底層週期的相似子序列。相比之下,自我關注透過點積來聚合所選的點。自相關具有固有的稀疏性和子序列級表示聚合,可以同時提高計算效率和資訊利用率。

4. 實驗

我們在六個真實世界的基準上廣泛評估了所提出的Autoformer,涵蓋了五個主流時間序列預測應用:能源、交通、經濟、天氣和疾病。

資料集 以下是對六個實驗資料集的描述:(1)ETT[41]資料集包含從變壓器收集的資料,包括2016年7月至2018年7月期間每15分鐘記錄一次的負載和油溫。(2) Electricity1資料集包含了2012年至2014年321名客戶的小時用電量。(3) Exchange[19]記錄了1990年至2016年期間八個不同國家的每日匯率。(4) Traffic2是加州交通部每小時收集的資料,描述了舊金山灣區高速公路上不同感測器測量的道路佔用率。(5) Weather3在2020年全年每10分鐘記錄一次,其中包含21個氣象指標,如氣溫、溼度等。(6)ILI4包括2002年至2021年間美國疾病控制和預防中心每週記錄的流感樣疾病(ILI)患者資料,該資料描述了ILI患者的比例和患者總數。我們遵循標準協議,按照時間順序將所有資料集劃分為訓練集、驗證集和測試集,ETT資料集的比例為6:2:2,其他資料集的比率為7:1:2。

image-20240316110940208

表1:具有不同預測長度O∈{96,192,336,720}的多變數結果。我們將ILI的輸入長度I設定為36,將其他的設定為96。較低的MSE或MAE指示更好的預測。

實現細節 我們的方法是用L2損失進行訓練的,使用ADAM[16]最佳化器,初始學習率為10-4。批次大小設定為32。訓練過程在10個時期內提前停止。所有實驗重複三次,在PyTorch[25]中實現,並在單個NVIDIA TITAN RTX 24GB GPU上進行。自相關的超引數c在1到3的範圍內,以權衡效能和效率。標準偏差和靈敏度分析見補充資料。Autoformer包含2個編碼器層和1個解碼器層。

基線我們包括10種基線方法。對於多變數設定,我們選擇了三個最新的基於轉換器的模型:Informer[41]、Reformer[17]、LogTrans[20],以及兩個基於RNN的模型:LSTNet[19]、LSTM[13]和基於CNN的TCN[3]作為基線。對於單變數設定,我們包括更具競爭力的基線:N-BEATS[23]、DeepAR[28]、Prophet[33]和ARMIA[1]。

image-20240316111124593

表2:在典型資料集上,具有不同預測長度O∈{96192336720}的單變數結果。我們將輸入長度I設定為96。較低的MSE或MAE指示更好的預測。

4.1 主要結果

為了比較不同未來範圍下的效能,我們固定輸入長度,並評估具有廣泛預測長度範圍的模型:96192336720。這種設定正好符合長期預測的定義。以下是多變數和單變數設定的結果。

多變數結果 對於多變數設定,Autoformer在所有基準和所有預測長度設定中都實現了一致的最新效能(表1)。特別是,在輸入96-預測336設定下,與之前最先進的結果相比,Autoformer給出了74%(1.334→0.339)MSE ETT減少18%(0.280→0.231)在電力方面,61%(1.357→0.509)在交易所,15%(0.733→0.622)和21%(0.455→0.359)。對於ILI的輸入36-predict-60設定,Autoformer使43%(4.882→2.770)MSE降低。總體而言,Autoformer在上述設定中產生了38%的平均MSE降低。請注意,Autoformer在沒有明顯週期性的Exchange資料集中仍然提供了顯著的改進。詳見補充資料。此外,我們還可以發現,隨著預測長度O的增加,Autoformer的效能變化相當穩定。這意味著Autoformer保留了更好的長期魯棒性,這對現實世界的實際應用有意義,如天氣預警和長期能耗規劃。

單變數結果 我們在表2中列出了兩個典型資料集的單變數結果。與廣泛的基線相比,我們的Autoformer在長期預測任務中仍然達到了最先進的效能。特別是,對於輸入96-預測336設定,我們的模型實現了14%(0.180→0.145)在具有明顯週期性的ETT資料集上的MSE減少。對於沒有明顯週期性的Exchange資料集,Autoformer超過其他基線17%(0.611→0.508),並顯示出更大的長期預測能力。此外,我們發現ARIMA[1]在Exchange資料集的輸入-96-預測-96設定中表現最好,但在長期設定中失敗。ARIMA的這種情況可以得益於其對非平穩經濟資料的固有能力,但受到現實世界序列複雜時間模式的限制。

4.2 消融研究

image-20240316111434742

表3:MSE度量的多變數ETT分解消融。我們的將我們的漸進式架構應用到其他模型中。Sep採用兩個模型分別預測預分解的季節性和趨勢性週期成分。與Origin相比,Promotion是MSE的減少。

分解架構使用我們提出的漸進分解架構,其他模型可以獲得一致的提升,特別是隨著預測長度O的增加(表3)。這驗證了我們的方法可以推廣到其他模型,並釋放其他依賴性學習機制的能力,緩解複雜模式造成的分心。此外,我們的體系結構優於預處理,儘管後者使用了更大的模型和更多的引數。特別是,預分解甚至可能帶來負面影響,因為它忽略了元件在長期未來的相互作用,如Transformer[35]predict-720,Informer[41]predict-336。

自相關與自注意家族 如表4所示,我們提出的自相關在各種輸入-預測-輸出設定下實現了最佳效能,這驗證了串聯連線與點式自注意相比的有效性(圖3)。此外,我們還可以觀察到,自相關是表4最後一列的記憶效率,可用於長序列預測,如輸入-336-預測-1440。

image-20240316111648979

表4:多變數ETT中自相關和自我注意的比較。我們用不同的自注意來代替自形成器中的自相關。“-”表示記憶體不足。

4.3 模型分析

時間序列分解 如圖4所示,如果沒有我們的序列分解塊,預測模型就無法捕捉季節部分的增長趨勢和峰值。透過新增序列分解塊,Autoformer可以逐步從序列中聚合和細化趨勢週期部分。這種設計也便於學習季節性部分,尤其是波峰和波谷。這驗證了我們提出的漸進分解架構的必要性。

image-20240316111742740

圖4:最後一個解碼器層的學習季節性X M de和趨勢週期性T M de的視覺化。我們在解碼器中從左到右逐漸新增分解塊。此案例來自ETT資料集的輸入-96-預測-720設定。為了清晰起見,我們將線性增長新增到原始資料中。

依賴性學習 圖5(a)中標記的時間延遲大小表示最可能的時間段。我們學習的週期性可以指導模型透過Roll(X,τi),i∈{1,··,6}來聚合來自週期的相同或相鄰相位的子序列。在最後一個時間步長(下降階段),與自我注意相比,自動關聯充分利用了所有相似的子序列,沒有遺漏或錯誤。這驗證了Autoformer可以更充分、更準確地發現相關資訊。

複雜的季節性建模 如圖6所示,Autoformer從深度表示中學習的滯後可以指示原始序列的真實季節性。例如,每日記錄的Exchange資料集的學習滯後顯示了月度、季度和年度(圖6(b))。對於每小時記錄的交通資料集(圖6(c)),學習到的滯後將間隔顯示為24小時和168小時,這與真實世界場景的每日和每週時段相匹配 。這些結果表明,Autoformer可以從深度表示中捕捉真實世界序列的複雜季節性,並進一步提供人類可解釋的預測。

image-20240316111857361

圖5:學習依賴關係的視覺化。為了清晰起見,我們選擇自相關的前6個時延大小τ1、··、τ6,並將它們標記為原始序列(紅線)。對於自我關注,關於最後一個時間步長的前6個相似點(紅星)也用橙色點標記。

圖6:學習滯後的統計資料。對於測試集中的每個時間序列,我們計算解碼器為輸入-96-預測-336任務學習的前10個滯後。圖(a)-(d)為密度直方圖。

**效率分析 ** 我們比較了訓練階段基於自相關和基於自我注意的模型(圖7)的執行記憶和時間。所提出的Autoformer在記憶體和時間上都顯示了O(L log L)的複雜性,並實現了更好的長期序列效率。

image-20240316111950924

圖7:效率分析。對於記憶體,我們在Autoformer中將自相關替換為自注意族,並用輸入96記錄記憶體。對於執行時間,我們執行自相關或自關注103次,以獲得每一步的執行時間。輸出長度呈指數級增長。

5. 結論

本文研究了時間序列的長期預測問題,這是現實應用的迫切需求。然而,複雜的時間模式阻礙了模型學習可靠的依賴關係。我們提出了Autoformer作為一種分解架構,透過嵌入序列分解塊作為內部運算元,它可以從中間預測中逐步聚合長期趨勢部分。此外,我們設計了一種高效的自相關機制,在序列級別上進行相關性發現和資訊聚合,這與以前的自注意家族形成了鮮明的對比。Autoformer可以自然地實現O(L log L)的複雜性,並在廣泛的真實世界資料集中產生一致的最先進的效能。

相關文章