付恩,張益農*,楊帆,王疏影
(1.北京聯合大學 北京市信息服務工程重點實驗室,北京 100101;2.清華大學自動化系,北京 100084;3.北京聯合大學 城市軌道交通與物流學院,北京 100101)
時間序列預測在多種領域內均有重要意義,如工業監控[1]、能源分析[2]等,隨著近些年深度學習方法的成功,時間序列預測的研究也進入了新的階段。
目前對于時間序列預測算法的研究可以大致分為基于時域的方法與基于頻域的方法。
基于時域的方法研究成果最為豐富。循環神經網絡(RNN)[3]由于其結構上的時序性,天然適合處理時序數據。例如,有研究者將LSTM[8]與傳統遺傳算法相結合來預測時間序列[9]。為了解決RNN結構所帶來的梯度問題以及長距離依賴問題,注意力機制經常與RNN結構共同使用?;陔p階段注意力機制的RNN模型(DA-RNN)[10]是經典的時序預測模型,它使用兩層RNN與注意力相結合的結構進行短期時間序列預測。自注意力機制在多種任務中均具有優越性,有研究利用LSTM改進標準自注意力機制,用于提升多變量序列的短期預測性能[11]。最新的方法中基于Transformer[4]的深度學習架構在長期預測問題中取得了很好的效果,如:Informer[6]基于KL散度優化了自注意力機制的復雜度,提出了稀疏自注意力機制,并在長期預測問題上獲得了更好的性能。Autoforme[5]基于隨機過程自相關理論提出了自相關機制用以取代自注意力機制,在多組數據集上取得了目前最佳的長期預測效果。
基于頻域的預測方法主要利用離散傅里葉變換(DFT)將時間序列轉換至頻域進行分析,在信號處理中是十分有效的方法。如StemGNN[7]結合圖神經網絡對多序列進行建模,通過卷積對序列的頻域特征進行提取,并結合序列分解結構逐層學習序列的變化模式,取得了更好的中長期預測效果。
總的來說,目前基于時域的方法相較于基于頻域的方法研究成果更多,但最新的一些研究也表明了頻域方法的潛力,基于頻域的預測方法同樣具有很強的研究價值。
但上述的兩類方法均存在不同的問題:
1)基于時域的方法容易受到噪聲的影響而難以對序列的宏觀特征進行建模,如序列的周期,而宏觀特征對于長期預測的準確性至關重要。
2)目前基于頻域的方法沒有考慮不同頻率分量的重要性,不同頻率分量對預測結果的影響不同,長期預測受到低頻分量的影響更大,目前缺乏用于長期預測的、具有針對性的頻域模型。
為了解決上述的問題,本文從頻域的角度提出了一種基于Transformer[4]的頻率建模方法,針對不同的頻率分量分別進行處理,本文的主要貢獻如下:
1)提出一種頻率分解多頭自注意力模塊,用來對不同頻段的頻率分量針對性地進行建模,是自注意力機制在頻域處理中的新方法。
2)本文將Tranformer[4]結構作為特征提取框架,基于頻率分解多頭自注意力模塊,設計了頻率分解Transformer(FD-Transformer)模型。通過實驗與目前最新的研究成果進行了對比,本文的方法在3個真實數據集的多個指標上取得了最佳性能。
本節將介紹所提出的FD-Transformer的輸入、預處理、頻率分解多頭自注意力模塊以及模型總體架構。
給定輸入序列Xt∈Rn×t,由n條長度為t的序列構成。定義Yl∈Rk×l為輸出序列,其中1≤k≤n,由k條長度為l的變量構成,Yl為Xt的預測值,數學形式如下:

其中F(*)為映射函數,即模型的學習目標。
為了獲取輸入序列的頻域特征,首先需要使用離散傅里葉變換(DFT)對輸入序列進行預處理。
編碼器輸入:如圖所示,xt為n條輸入序列的時域表示,時間長度為t,wt為輸入序列的頻域表示,由組頻率分量構成。由于傅里葉變換結果的對稱性,在此處只取單邊頻譜作為編碼器的輸入。wt中的虛部與實部會被堆疊在最后一維作為整體傳入模型。具體的維度變化如圖1。

圖1 預處理過程
解碼器輸入:由于時間序列的時間動態性,越靠近預測點的時間段越具有參考性,此處將輸入序列的后一半提取,進行相似操作表示xt的后一半時域序列,為的頻域表示,由t/2組頻率分量構成,與編碼器相同,取單邊頻譜作為解碼器輸入。
設有t長度的n條序列同時作為輸入,即xt為(n,t)的實矩陣,經過離散傅里葉變換之后得到的wt為(n,t)的復矩陣,為了使得該矩陣便于運算,將其實部與虛部分別提取并堆疊,再取其單邊頻譜,最終的wt/2的維度為(n,t/2,2),其中最后一維的2代表復矩陣的實部與虛部,同理可得
經過上述預處理,得到了wt/2和分別作為編碼器與解碼器的輸入。
時間序列的不同頻率分量中的低頻部分構成了序列的趨勢信息,而中高頻部分包含了噪聲以及細節信息。針對這一特點,設計了頻率分解多頭自注意力模塊。受到標準多頭自注意力機制的啟發,頻率分解多頭自注意力機制通過多個頭分別處理不同頻率段的特征,與多頭自注意力機制不同的是,頻率分解多頭自注意力機制的目的是尋找不同頻率分量之間的依賴關系。模塊的整體結構如圖2所示。

圖2 頻率分解多頭自注意力
其中,w為輸入的頻域特征,形狀為(d,w,2),其中d為特征維度,w為頻率維度,2為頻率的虛部與實部,將w由低頻到高頻分為多個區間,每個區間長度逐級遞增??梢员WC低計算量的前提下使低頻部分特征干擾項更少。每個頻率區間分別輸入到獨立的自注意力層形成多頭結構。其中Conv是貫穿全模塊的線性映射層,由堆疊的二維卷積構成,為了降低模型計算量,第一個卷積層采用深度可分離卷積,卷積核寬度隨著頻率區間的增大而增大,其中表示頻率區間下標,第二個卷積層為標準卷積,使用Leaky RELU作為激活函數。各個頻率區間的處理結果通過連接(Concat)操作拼接在一起,拼接后的形狀保持為(d,w,2)。最后使用Conv模塊對輸出做整體映射。
基于上述的預處理方法和頻率分解多頭自注意力機制,本小節將介紹模型的整體結構,如圖3所示。

圖3 模型整體結構
Conv層作為基本映射單元貫穿整個模型。由于頻率特征不同頻率分量的振幅差異大,導致頻率特征內部方差較大,不利于模型收斂,因此使用LayerNorm對頻率特征歸一化消除過大方差對模型訓練的影響。最終,解碼器的輸出特征經過Conv層后做反傅里葉變換,得到最終的預測結果。
圖3中,Conv層結構與圖4中的結構相同,用于處理頻率特征,并保持頻率特征長度不變。編碼器與解碼器在輸入前分別存在Conv與Conv &Linear輸入層,Conv層將輸入的變量維度擴展至指定的高維空間。例如,模型維度為m,輸入wt/2經過Conv層后轉變為解碼器輸入前的線性層將輸入的頻率特征長度擴展至所需的預測長度,實現一次前向傳播得到整個預測序列。例如,預測長度為l,則解碼器輸入經過Conv+Linear層后轉變為
本節通過實驗驗證所提出的FD-Transformer的有效性。
1)Electricity數據集,該數據集包含2012年至2014年321個客戶的每小時用電量。
2)Weather數據集,該數據集包含21個氣象指標,每十分鐘記錄一次。
3)Traffic數據集來自美國加利福尼亞交通部,利用位于舊金灣區高速公路上的傳感器記錄了每小時的道路占用率。
我們使用均方誤差(MSE)、平均絕對誤差(MAE)以及皮爾遜相關系數(CORR)來衡量模型的性能,其表達式如下:


其中,Y為真實值序列,為預測序列,cov為協方差,σ為標準差。目前的長時序列預測研究中通常只關注MSE與MAE,但這是不夠全面的。MSE與MAE容易受到序列高頻部分的影響,因此我們通過皮爾遜相關系數(CORR)重點衡量低頻趨勢的預測能力,再綜合MSE與MAE,可以更加客觀的反映出模型性能的優劣。MSE與MAE越小代表模型性能越好,CORR越接近1代表模型性能越好。
2.2.1 基線模型
我們選擇3個基于時域的模型與1個基于頻域的模型作為基線模型。
Autoformer:目前的最佳長序列預測模型,Autoformer基于Transformer結構額外引入了改進的序列級自相關機制,其在多個數據集上均取得了最佳的長期預測效果。
Informer:基于KL散度設計了稀疏自注意力機制,大幅度減少了標準自注意力機制的計算量,在時間復雜度上達到了(nlogn),并且可以一次性生成多步序列預測結果。
StemGNN:基于圖神經網絡(GNN)對多變量序列進行建模,并在頻域中捕捉序列特征。
實驗中Autoformer、Informer與StemGNN均使用作者默認配置。
LSTM:LSTM為編解碼器結構,編碼器、解碼器各2層,模型隱層維度為256,每層使用20%的dropout避免過擬合。
2.2.2 實驗結果
本文跟隨Autoformer的實驗設置,給定輸入序列長度為96,預測長度分為96、192、336和720。本文模型的編碼器與解碼器層數為2,頻率從低頻到高頻依次劃分為4組,分別為[0,6%]、[6%,20%]、[20%,50%]、[50%,100%],模型訓練迭代次數為10次,batch大小為32,模型隱層維度為512,初始學習率為5×10-4,每2次迭代將學習率減小1/2。
模型的預測性能對比如表1所示。我們的模型在3個數據集的相關系數(CORR)指標上均取得了最優結果,即本文的模型擁有更穩定的長期預測性能。通過注意力機制本身的稀疏性,模型可以從高頻分量中提取到更加本質的高頻特征,所以對于MSE與MAE,模型也取得了大部分的最優性能。在結果中只有LSTM是迭代生成預測的模型,隨著預測長度的增加,誤差累積導致的預測性能下降最為明顯。Autoformer在更加反映低頻趨勢的CORR指標上表現一般。

表1 多變量序列預測結果對比
所有模型的輸入長度為96,每個數據集的預測長度分為96、192、336和720共4組。
本節對頻率分解注意力機制中最重要的超參數頻率劃分區間與對模型的影響進行實驗驗證。
頻率劃分區間選取不同的劃分策略如表2所示。

表2 用于實驗的頻率劃分策略
表2中的區間*代表不同的區間號,每個區間對應本文注意力層中的一個“頭”。區間含義[0,2%]代表頻率段的前2%的劃分為一組,[50%,100%]代表頻率段的后50%劃分為一組。策略1到策略4的低頻部分逐漸增大。實驗輸入序列長度96,預測長度336,其余超參數設置與4.2.2節相同。4組劃分策略實驗結果如表3示所示。
由于序列低頻分量對中長期預測的重要性,更細粒度的低頻劃分區間有助于幫助模型獲取更詳細的低頻特征。但過細的粒度會強迫模型使用更多的低頻特征,限制模型的靈活性,因此,并非粒度越細越好,從表3中可以看到,策略2的劃分方式最佳。此外,模型穩定性較好,以最優指標為基準,MSE、MAE和CORR指標波動幅度分別為:在Electricity數據集上為2.6%,2.5%,3.1%,Weather數據集上度為12.5%,4.2%,16.8%,Traffic數據集上為6.3%,8.5%,2%。

表3 不同頻率劃分策略的效果差異
本文提出了一種頻率分解自注意力機制,通過自注意力機制提取用于中長期預測的頻率特征。由于頻域本身描述了序列宏觀的特征模式,相比于時域,頻域分析對于中長期序列預測更有優勢,通過針對高頻低頻別分建??梢杂行^分序列中的趨勢與噪聲?;陬l率分解自注意力機制本文提出了一種改進的Transformer架構用于處理頻域特征,主要通過特殊設置的二維卷積模塊替代線性變換層保證頻率特征維度正確同時擁有更少的參數量。通過編碼器、解碼器結構協助模型進一步學習序列的變化模式。在Traffic、Weather和Electricity共3組公開數據集上與目前最新的研究成果Autoformer在內的共4個基線模型進行了對比,本文提出的方法在多組指標上提升明顯,驗證了本文模型在中長期序列預測問題中的有效性。