李文豪,嚴 華
(四川大學電子信息學院,成都 610065)
多變量時間序列預測已被廣泛應用于交通預測[1-2]、匯率預測[3]、用電消耗預測[4-5]、河流水位預測[6]等領域。如果能實現精準的預測并應用在這些領域,將會幫助人們進行重大決策。
多變量時間序列預測的關鍵是充分捕獲其長、短期的依賴。現實世界的應用通常需要短期和長期重復模式的混合[7]。然而傳統的方法,例如線性移動平均模型[8]、支持向量機線性回歸[9]大多采用統計模型來研究時間序列的演化,可能無法捕捉到復雜的潛在非線性關系[10]。遞歸神經網絡(RNN)[11]是一種專為序列建模而設計的深度神經網絡,因其在捕捉非線性關系方面的靈活性而受到廣泛關注。DA?RNN[12]使用了RNN 來捕捉時間序列的長期時間依賴,但它沒有使用專門的方法來提取時間序列的短期模式。在計算機視覺領域,卷積神經網絡(CNN)[13?14]模型通過成功提取局部和平移不變特征表現出了在輸入圖像的不同粒度級別方面的出色性能。LSTNet[7]利用了CNN 的長處去發現多維輸入變量之間的短期模式。然而,與LSTNet 相同,近年來提出的網絡MTNet[10]和TPA[15]都只使用了一種大小的卷積核來提取多變量時間序列的短期模式,這使得時間序列的短期模式并沒有被充分提取。
僅僅將不同時間跨度的短期模式提取出來還不夠,還要選擇性地加以利用。因為在對不同的數據集和預測范圍進行預測時,模型對不同時間跨度的短期模式的依賴是不同的。雖然MTGNN[16]使用了不同尺寸CNN 卷積核來提取不同范圍內的時間特征,但是沒有對不同卷積輸出進行選擇,而是將它們不加區分地拼接在一起。
針對上述問題,本文提出了基于多尺度特征表示和時間跨度注意力的網絡結構。多變量時間序列首先經過包含多尺寸卷積核的CNN 模塊來獲得不同時間跨度的短期模式,然后通過時間跨度注意力模塊來為短期模式分配權重。之后,將時間跨度注意力模塊的輸出送入RNN模塊來進一步提取長期模式。與LSTNet 相同,本文也引入了線性回歸模塊來提高模型的魯棒性。但與LSTNet 直接將非線性部分和線性部分的輸出相加不同,本文采用了一個權重學習模塊來整合非線性部分和線性部分的輸出。在四個公開數據集上的實驗結果表明,本文提出的模型能有效提高多變量時間序列預測的準確度。
本文提出的時間跨度注意力神經網絡(a deep neural network based time span attention,TSANN)的結構如圖1所示。其主體結構分為線性和非線性兩部分。在非線性部分,將多變量時間序列數據輸入到有多個分支的多尺度卷積模塊來提取不同時間跨度的短期模式。多個分支的輸出被裁剪成相同尺寸后在通道維度上拼接。之后,多尺度卷積模塊的輸出被送入不同的短期模式賦予權重的時間跨度注意力模塊。圖1中時間跨度注意力模塊的輸出被賦予了不同的權重。然后,時間跨度注意力模塊的輸出被送入迭代模塊進一步提取長期模式。最后,通過全連接層得到非線性部分的輸出。

圖1 時間跨度注意力神經網絡
取非線性部分輸入中近期的數據作為線性部分的輸入。線性部分的輸出通過簡單的AR 模塊得到。最后,通過權重學習模塊將兩部分的輸出加起來得到最后的預測結果。
多尺度卷積模塊的目標在于充分提取時間維度上不同時間跨度的短期時間模式和變量間的局部依賴。在該模塊的多個CNN 分支中,不同分支間CNN 卷積核寬度w不同,高度n相同。其中w表示不同的時間跨度,n表示變量個數。這樣,模型就能提取到多時間跨度的短期模式。
多尺度卷積模塊中包含6 個分支,其卷積核寬度w分別為{3,6,7,12,24,36}。每個分支中都設置N個相同的卷積核。下文通過實驗說明w設置的依據。第k個分支中的第i個卷積核掃描輸入矩陣X,并產生如下關系:
其中:*表示卷積操作,輸出hki是一個向量,RELU函數為RELU(x)=max(0,x)。
當預測任務不同時(數據集不同或預測時間步長Q不同),網絡模型對不同時間跨度的短期模式的依賴是不同的,所以要對不同時間跨度的短期模式進行選擇性的利用。
多尺度卷積模塊一共提取到了6種不同時間跨度的短期模式,每種短期模式有4個通道。所以卷積模塊的輸出一共有24 個通道,表示為H∈R24×T×1。時間跨度注意力推斷出一個一維通道注意地圖Ms∈R24×1×1。整體注意過程可以概括為
其中,?表示元素級相乘。
圖2 描述了時間跨度注意力圖的計算過程。時間跨度注意力計算公式為

圖2 時間跨度注意力模塊示意圖
其中,σ表示sigmoid函數。
在經過多尺度卷積模塊和時間跨度注意力模塊之后,模型已經提取到了不同重要程度的短期模式。但時間序列中還存在更為長期的依賴關系,能幫助提高預測的準確度。本文使用了擅長記憶歷史信息的GRU[17]來組成循環神經網絡模塊。
時間跨度注意力模塊的輸出被輸入到循環模塊中。在時間為t時,循環單元的隱藏狀態計算公式為
其中:?表示元素級相乘;σ表示激活函數;xt為模塊在時間t時的輸出。
預測結果的準確度不僅依賴于長期數據中包含的周期,也依賴于短期數據的線性關系。目前使用線性和非線性兩部分進行預測的網絡,都是直接將兩部分的預測結果相加得到最終預測結果,但是這樣做忽略了預測結果對兩者的依賴程度。為了更加準確地表示預測結果對線性部分和非線性部分的依賴關系并提高預測精度,本文設計了權重學習模塊。該模塊包含兩個可學習參數,分別來學習對線性和非線性部分的依賴程度。TSANN最終的預測結果計算如下:
其中,α和β為兩個可學習的參數。
為了驗證TSANN 的有效性,本文將TSANN在四個常用基準數據集上與八種方法進行了對比,其中包括四種傳統方法和四種近幾年提出來的先進方法。
LSTNet 發布了四個公開可用的多元基準數據集。表1展示了數據集的相關統計信息。為了便于驗證,所有的數據集按照時間順序分為訓練集(60%)、驗證集(20%)和測試集(20%)。

表1 四個基準數據集的描述信息
參與比較的九種方法的描述如下:
AR:一個標準的自回歸模型。
LRidge:具有L2 正則化的向量自回歸模型,曾經是最流行的多元時間序列預測模型。
GP:用于時間序列預測的高斯過程模型[18?19]。
RNN?GRU:使用GRU單元的RNN模型。
LSTNet:使用CNN 提取短期模式和使用RNN提取長期模式的模型[7]。
MTNet:一種使用記憶網絡捕捉極長期模式的模型[10]。
TPA:使用時間模式注意力來選擇相關時間序列的模型,并使用其頻域信息進行多元預測[15]。
MTGNN:使用圖神經網絡和圖學習模塊自動提取變量之間的單向關系的模型[16]。
TSANN:本文提出的模型。
對于前面提到的單值輸出方法,例如GP、LRidge 和AR,本文為每個變量訓練一個模型。例如Solar?Energy 數據集有137 個變量,因此本文總共訓練了137個模型。
由于在相同的數據集上對TSANN與LSTNet、MTNet、TPA 和MTGNN 進行比較,因此繼續使用相同的評估指標:RSE和CORR。
根相對平方誤差(RSE):
經驗相關系數(CORR):
其中:Y表示真實值;表示模型的預測值。對于RSE,值越低越好;而對于CORR,值越高越好。
表2列出了所有實驗的結果。遵循以往的慣常做法,設置Q={3,6,12,24},并使用RSE和CORR兩個指標來評估模型。Q越大,預測難度越大。在表2中,每個數據集和每個指標的最優結果被加粗突出顯示。在所有的32 個最優結果中,TSANN 占了19 個,遠多于其他方法,證明了本文提出方法的優越性。在其他方法中,MTGNN 的 最優結果 占了10 個,TPA 占 了2 個,LRidge占了1個。

表2 九種方法在四個數據集上的對比實驗結果
TSANN之所以能取得優于其他方法的結果,主要是因為使用了多尺度卷積模塊來充分提取多變量時間序列的短期模式,并使用時間跨度注意模塊進行選擇性的利用。
文獻[7]對這四個數據集進行了分析,發現Solar?Energy、Traffic 和Electricity 都具有明顯的周期性,而Exchange?Rate 則沒有。LSTNet 在Exchange?Rate 上的表現不如AR、LRidge 等傳統方法,是因為線性模型比深度學習方法更適合該數據集。本文提出的方法能在Exchange?Rate上取得最優結果,是因為使用了權重學習模塊,能夠根據不同數據集動態調整模型對線性模塊和非線性模塊的依賴程度。
本文方法在Traffic 數據集上的表現不如MTGNN,可能是因為MTGNN 使用了圖神經網絡,使其具有更強的提取變量間依賴關系的能力。在這四個數據集中,Traffic具有最多的變量數(862),而MTGNN 中復雜的圖神經網絡在變量數較大時表現出了一定的優勢。
為了驗證本文所提方法中關鍵模塊的有效性,在Solar-Energy 數據集上進行了充分的消融實驗,每次移除TSANN 中的一個模塊,并將它們命名如下。
w/o MC:TSANN 去除多尺度卷積模塊。按照LSTNet 的設置,只使用寬度為6 的CNN 卷積核來代替多尺度卷積模塊進行短期模式的提取。
w/o TSA:TSANN 去除時間跨度注意力模塊。不同時間跨度的短期模式被不加選擇地利用。
w/o WL:TSANN 去除權重學習模塊。將線性部分和非線性部分的輸出直接相加。
w/o AR:TSANN 去除線性模塊。預測結果僅由非線性部分輸出得到。
在進行消融實驗時,Q取難度最大值24。實驗結果如表3所示。

表3 消融實驗結果
消融實驗結果表明,TSANN 引入的關鍵模塊都提升了網絡結構的性能。多尺度卷積模塊的引入極大地提升了實驗結果,因為它能充分提取不同時間跨度的短期模式來幫助模型進行預測。權重學習模塊帶來的效果也很明顯,因為它能調整最終預測結果對線性部分預測結果和非線性部分預測結果的依賴關系,實現更準確的預測。實驗結果也進一步驗證了LSTNet 中提出的AR 模塊的有效性。時間跨度注意力模塊在多尺度卷積模塊的基礎上進一步提升了預測結果的準確度,因為它對不同時間跨度的短期模式進行了選擇性的利用。
本文提出了一種基于多尺度卷積和時間跨度注意力的深度學習框架(TSANN),來進行多變量時間序列的預測。TSANN 中的多尺度卷積模塊能充分提取時間序列的短期模式。時間跨度注意力模塊能對這些短期模式進行選擇性的利用,以應對不同的數據集和未來時間步Q。另外,權重學習模塊能動態調整最終預測結果對線性和非線性輸出的依賴程度,從而提高預測精度。大量的實驗在四個公開數據集上進行,實驗結果證明了本文方法的有效性。
本文中短期模式的時間跨度是通過實驗確定的。未來的工作將致力于找到一種能根據數據集和未來時間步Q自動確定時間跨度的方法。