劉頡羲 陳松燦
(模式分析與機器智能工業和信息化部重點實驗室(南京航空航天大學) 南京 211106)
時間序列預測在科學和社會的各個領域起著重要的作用,例如對股票價格[1]、交通狀況[2]和天氣狀況[3-4]等的預測.然而這些任務的復雜性導致了預測的挑戰性,通常歸咎于時間序列的非平穩性以及多個變量之間的動態依賴性等,并為此促發了一系列的研究.
一般而言,時間序列大致可被分為平穩和非平穩2類[5-6].給定同一時間序列的2個子序列xt1,xt2,…,xtk和xt1+τ,xt2+τ,…,xtk+τ,如果對任意τ,2個子序列的聯合統計分布相同,則稱該時間序列為平穩序列.而事實上,現實中大部分時間序列難以滿足上述條件,因此形成了所謂的非平穩時間序列.此類時間序列中,非平穩多變量時間序列(NSMTS)存在相對廣泛,因此對于NSMTS的預測成為了重要和持續的研究主題[6-8].
現有時間序列預測的方法主要可分為基于深度學習和非深度學習兩大類[9].典型的非深度學習方法,如基于統計方法的指數加權滑動平均模型(EWMA)[10]和差分整合滑動平均自回歸模型(ARIMA)[9]等,在預測中通常存在幾個缺陷,例如無法應對非平穩序列或處理非平穩序列時需要進行平穩化預處理;無法獲取并利用多個變量間的動態依賴性;不僅如此,這類方法效率較低,處理大數據時耗時較多.相反,基于深度學習的方法則能克服上述不足[9,11],因此,本文側重于當前較為流行的深度學習方法.
深度學習方法尤其是基于神經網絡(NNs)的方法已在時間序列預測中取得了相當的成效,其中前饋神經網絡(FNNs)[11]、模糊神經網絡[12]、混合神經網絡[8]以及循環神經網絡(RNNs)[11]都已得到廣泛運用.而RNNs由于其具有循環鏈狀結構以及各變體門單元內部的特殊結構,更加適合于處理各類時間序列.然而,早期的RNNs存在若干嚴重的缺陷,典型的如梯度消失和梯度爆炸問題[13-14].
梯度爆炸問題通過對梯度范數的嚴格約束可解決,而梯度消失問題相對復雜.最先用于解決該問題的方法是設計出新的長短期記憶(LSTM)[15]以替換循環神經網絡結構中的RNN單元.該單元可以利用3個門(遺忘門、輸入門和輸出門)和內部存儲器以控制梯度流動并更新單元內部信息.同時基于LSTM的神經網絡(LSTMs)可通過門控機制改善RNNs無法獲取長程依賴關系的問題[13],因此很長一段時期使用LSTM替換RNN單元是處理梯度消失問題的標準方法.雖然LSTMs在NSMTS預測問題上已獲得了state-of-the-art的結果[16],但該門單元并不完美.例如其內部結構非常復雜,但其中部分組件在訓練中并沒有明顯意圖[17].因此,研究者進一步對門單元結構進行合理簡化,其中門循環單元(GRU)[18]的表現非常突出,該門單元結構中沒有單獨的內部存儲器并且僅包含2個門(更新門和復位門).多數情況下,基于GRU的神經網絡(GRUs)被證明與LSTMs的預測精度具有可比性[19]并因此成為序列預測中的一個可行的選擇.而最近提出的最小門單元(MGU)[20]更被簡化到了僅含單個遺忘門的結構,令人驚訝之處在于基于MGU的神經網絡(MGUs)在部分序列分析和圖像處理方面仍顯示出了初步的優勢.這源于已有的評估證據,即遺忘門是這些門中的關鍵所在[14,17,21].既然MGUs具有更少的可調參數,故而相對更易訓練,為此我們也嘗試將其用于時間序列預測.
雖然已存在多種類型的門單元,然而目前仍無研究表明哪一種門單元最適合處理一個特定時間序列,為此在本文中加以彌補.我們選用上述各門單元(LSTM,GRU和MGU)分別構建了相應的神經網絡預測模型對NSMTS進行預測.具體而言,實驗中采用單層或多層神經網絡預測模型評估這些門單元在5個NSMTS數據集上的預測性能.結果表明:沒有任何一類能始終保證性能上的占優.這啟發我們設計了一種混合門單元(MIXGU),它包含GRU和MGU[注]由于LSTM在一定條件下與GRU在預測性能上具有可比性[19,17,21],且LSTM與GRU和MGU間的傳遞狀態參數量不同,為了簡化模型,本文設計MIXGU中僅包含GRU和MGU.,并通過動態調整GRU和MGU的混合權重,發揮各門單元的優勢以達成2個世界的最優.
本文的主要貢獻有3個方面:
1) 將MGU應用于NSMTS預測中,并將其預測性能與LSTM和GRU進行比較分析;
2) 提出了MIXGU,在訓練過程中使得模型中的每一個單元動態地,自適應地改變混合的各個門單元(GRU和MGU)的重要性權重.同時我們也證明了訓練過程中確實存在重要性權重的動態變化;
3) 將MIXGU構成的神經網絡與每個單元僅含有一種門單元的典型神經網絡進行對比,并得出基于MIXGU的神經網絡模型可以獲得更高的預測準確率.

Fig. 1 N-layer Neural network model for prediction圖1 用于預測的N層神經網絡模型
為了解決NSMTS預測,許多學者嘗試采用傳統的統計方法.其中,差分整合滑動平均自回歸模型(ARIMA)[9]由于其統計特性以及在模型選擇過程中使用了廣為人知的博克思-詹金斯(Box-Jenkins)法而廣泛運用于金融領域.同時該模型適用于各種指數平滑技術[22],可以靈活地解決一系列,諸如自回歸(AR)、滑動平均(MA)以及自回歸滑動平均(ARMA)等模型能夠解決的問題.但是,ARIMA需要對非平穩數據進行平穩化處理,這毫無疑問會影響預測精度和效率,同時該模型計算復雜度較高,因此無法較好地進行NSMTS的預測.除此之外,自回歸模型(VAR)[9]通過將AR模型拓展成為多變量模型以解決多變量時間序列問題.然而,這種拓展忽略了輸出變量之間的依賴關系.不僅如此,VAR模型的容量在訓練中隨著時間窗口的增大線性增長,隨著變量數量上升呈二次方增長,因此繼承的大模型容易出現過擬合問題并無法有效處理長程時間模式.
由于上述方法無法有效地解決NSMTS預測問題,研究人員進一步通過建立機器學習模型來處理這類問題.例如,帶有時變參數的標準回歸模型[23]在處理多變量時間序列上有一些突破,該模型能夠使用不同損失函數和正則化項進行建模,但是由于其無法獲取多個變量之間非線性關系,因此容易影響模型的預測精度.此外,非參數高斯模型(GP)[24]通過對連續函數域上的分布進行建模可以獲取序列中的動態模式,尤其是復雜的動態模式.但是該模型具有較高的計算復雜度,例如在實現過程中的核矩陣求逆過程會產生超過觀測值數量立方的復雜性.
本節中,我們首先定義NSMTS預測問題,然后介紹于滾動預測的神經網絡模型.為了完整性,我們也詳細介紹本文預測模型中所使用的門單元結構(LSTM,GRU以及MGU) 并詳細說明本文提出的新型MIXGU的門單元結構,最后,介紹了預測模型的目標函數和優化策略.
本文中,我們主要通過使用圖1所示的神經網絡預測模型進行簡單的多步滾動預測.具體來說,給定一系列已知時間序列Y=(y1,y2,…,yT),其中yt∈Rn,n是時間序列的維度.我們的目標是預測yT+h,其中h表示預測范圍(horizon),代表當前時間步向前的預測范圍,其取值范圍可以從幾秒到一年,通常根據時間序列數據集中環境設置需求進行選擇.滾動預測表示當我們預測yT+h+1時y1,y2,…,yT+1是已知的.我們將時間步T時輸入矩陣表示為XT=(y1,y2,…,yT)∈Rn×T.
圖1所示的神經網絡結構中,RNN Unit可由LSTM,GRU,MGU以及我們設計的MIXGU代替.隨后,我們將逐一介紹上述門單元結構.
本文中,W表示權重矩陣,b表示偏差向量,t表示時間序列中的第t個時間戳,xt表示RNN單元及其變體在時間t時的輸入,ht表示時刻t的系統隱狀態,σ(z)表示邏輯Sigmoid函數σ(z)=1(1+exp(-z)),tanh是適用于輸入的每個元素的激活函數,而符號⊙是表示2個向量之間逐個元素相乘.

Fig. 2 Data flow and operations in various typical gated RNN units圖2 各種典型的門控RNN單元中的數據流動和運算
循環神經網絡(RNNs)是前饋神經網絡(FNNs)的擴展,可以通過特殊的反饋回路存儲和利用過去的信息從而有效解決序列問題[25].一般而言,循環神經網絡門單元(RNN)通過式(1)更新隱狀態:
ht=f(ht-1,xt),
(1)
其中,f是一個非線性映射.定義f的常用方法為使用線性變換加上非線性激活函數,
ht=tanh(W[ht-1,xt]+b).
(2)
這種單向RNN單元通常表示為SimpleRNN單元,其內部結構由圖2(a)所示.
不幸的是,SimpleRNN單元在時間序列預測中存在一系列問題,基于該單元的網絡在訓練過程中存在梯度下降或梯度消失問題[13-14]以及該單元結構無法獲取長程依賴關系.因此各類RNN單元的變體如,LSTM,GRU等,被設計以緩解上述問題.所以本文關注的是基于RNN單元變體(LSTM,GRU和MGU)的神經網絡的性能.
2.2.1 LSTM
時間序列預測中,長程和短程依賴關系都十分重要,尤其對具有季節性周期變化或循環變化等特性的時間序列.然而,由于傳統的SimpleRNN單元結構簡單,獲取長程依賴的能力較弱,當長程的相關信息與當前時間點之間的距離足夠大時,其無法獲取所需的遠程信息[13].為了解決這一問題,如圖2(b)所示的具有特殊門控機制和內部存儲器來控制信息流的LSTM[15]被設計出來.迄今為止,LSTM及其各類變體仍然在實際應用中扮演主導角色,如利用ARIMA-LSTM混合模型進行股票預測[26],利用改進的卷積LSTM(ConvLSTM)進行天氣預測[3]等都展現出了LSTM的優勢.
LSTM門控機制中包含3個門,即遺忘門ft,輸入門it和輸出門ot和另外,結構中還含有一個內部存儲器ct.循環單位的隱狀態在時刻t計算為
(3)
這里,各個LSTM單元之間通過控制單元狀態ct和隱狀態ht進行信息傳遞.
2.2.2 GRU
作為LSTM的常用變體,GRU[18]具有更簡化的結構.如圖2(c)所示,GRU將遺忘門ft和輸入門it組合成單個更新門zt,另外增加一個復位門rt并將內部存儲器與隱狀態ht合并.GRU的更新規則為
(4)
實驗表明,當LSTM與GRU具有相同的參數量時[17],GRU的預測效果與LSTM具有可比性.在GRU網絡中,各單元間只對隱狀態ht進行傳遞.
2.2.3 MGU
受GRU設計有效性的啟發,如圖2(d)所示僅包含單門的最小門單元(MGU)[20]被設計出來進一步有效簡化門單元結構.由于MGU在現有的計算機視覺和序列分析的應用中展現出訓練速度和結果準確性的優勢,我們希望將這一門單元引入時間序列預測,尤其是本文中的NSMTS預測.
在MGU結構中,唯一門的選擇至關重要.通過分析LSTM各部分重要性的實驗,發現遺忘門ft最為重要且不可或缺[14,17,21].同時,從經驗角度分析,遺忘門能決定存儲或遺忘的信息,這對于解決長程依賴問題至關重要.而MGU正是在GRU基礎上,進一步通過有效合并復位門rt和更新門zt作為遺忘門ft(rt=ft,?t).由此MGU隱單元狀態更新規則為
(5)
在MGU網絡中,各單元間只對隱狀態ht進行傳遞.
2.2.4 MIXGU

(6)
經過調節模塊后,我們將得到新的隱狀態ht作為下一個單元的輸入.

Fig. 3 Data flow and operations in MIXGU圖3 MIXGU模型中的數據流動和運算
平方誤差是許多預測任務的默認損失函數,因此本文的也采用了相應的優化目標:
(7)

我們的優化策略是將預測問題轉化為一個回歸任務.假設輸入的已知時間序列為Yt=(y1,y2,…,yt),隨后定義一個可調節大小的窗口,將其大小記作q并將時刻t的輸入序列重新定義為Xt=(yt-q+1,yt-q+2,…,yt).最終優化目標即為特征-值對(Xt,Yt+h)的回歸任務,進而可由隨機梯度下降(SGD)或其變體進行優化求解[27].
我們分別使用基于4種不同的門單元(包括我們新提出的門單元)的神經網絡預測模型對5個NSMTS數據集進行了大量實驗.
本文使用3種度量標準來評估模型的預測性能.3種度量標準的定義:
1) 均方根誤差(RMSE)
(8)
2) 絕對平均誤差(MAE)
(9)
3) 決定系數(R2)
(10)

該實驗中,我們使用了5個NSMTS數據集,其中4個為公開數據集,1個為保密數據集.
1) 光纖數據集.該數據集是光纖拉絲生產過程中的真實數據集,記作 “Optical”.其中包括30個有效特征,序列長度為259 202,采樣頻率為1秒/次.由于光纖拉絲過程中會因為斷裂而產生巨大的經濟損失,因此光纖斷裂情況的預測十分重要.該數據集為保密數據集.
2) 3個股票數據集[注]3個股票數據集數據可在https://www.kaggle.com/rohan8594/stock-data獲取.該數據集是在Kaggle Datesets中的公開數據,記作“BAC”,“C” 以及“GS”.每個數據集都包括每日的收盤價、開盤價、低價、高價和成交量,序列的長度為2 517,采樣頻率為1天/次.
3) 空氣狀況數據集[注]天氣狀況數據集可在https://raw.githubusercontent.com/jbrownlee/Datasets/master/pollution.csv獲取.我們將該數據集記作“Pollution”,其中包含7個有效特征,該序列長度為43 825,采樣頻率為1天/次.同時該數據集存在一些缺失,我們使用均值進行代替.
上述數據集按時間順序分為訓練集(60%)、驗證集(20%)和測試集(20%).
我們的實驗設定遵循了此類實驗的一般方法,對于各神經網絡調整深度和寬度(隱單元數)以獲得最優的預測效果[14,17,20-21].因此對各個門單元組成的神經網絡,我們在集合{32,64,96,128}中選擇隱單元數,同時我們構建了N層的神經網絡,其中網絡深度N的選擇范圍為{1,2,3},對應了圖2中“N層”.每一個網絡都經過100次迭代. 為了實驗的完整性,我們還在各數據集上使用經典統計方法ARIMA進行實驗.
表1中我們固定預測模型在每個數據集上的網絡深度,通過調整隱單元數分別比較基于各門單元網絡的預測性能,而表2反之.
首先,我們試圖將MGU引入NSMTS序列預測問題中并通過實驗驗證這個模型是否能夠得到好的結果,并用圖2序列預測模型構建MGUs并與LSTMs和GRUs在預測性能上作對比.表1、表2中,我們用粗體字表示除去MIXGU的實驗結果后每個數據集上的最佳結果.我們發現:
1) 5個數據集的最優結果并不是由單一門單元組成的神經網絡所得,如表1中數據集“BAC”的最優結果由LSTMs神經網絡獲得,而數據集“Optical”最優結果是由MGUs神經網絡取得;
2) MGU可用于時間序列預測,并可以獲得了與LSTM及GRU相當的預測結果;
3) ARIMA的預測準確性較差且實驗中耗時較長,無法有效預測數據量較大的NSMTS序列.
隨后,我們將新設計的MIXGU引入預測問題并與上述由單一門單元構成的預測模型進行比較預測過程中發現確實存在對于門單元的動態選樣.這里,我們采用同樣的實驗參數設置對MIXGU進行實驗.表1和表2中灰色背景突出的實驗結果是各數據集中的最佳.由實驗結果,我們能得出:MIXGU網絡在5個數據集上都獲得了最佳的預測結果,因此該單元可確保預測的準確性.此外,圖4(a)~(d)顯示了時間序列的真實值與預測值的對比.顯然各數據集中基于MIXGU的神經網絡預測結果與真實值最接近,因此直觀上顯示出其預測精度更高.而圖4(e)~(f)則展示了在數據集“Optical”和 “Pollution”的學習曲線.

Table 1 Performance of ARIMA and MIXGUs, LSTMs, GRUs, MGUs Neural Network on Different Amount of Hidden Units表1 ARIMA和不同網絡隱單元數量下MIXGUs,LSTMs,GRUs和MGUs的模型性能
Note: The boldface represents the best experimental results for the LSTM, GRU and MGU, while the results with background color means they are optimal for all the four gated units included.

Table 2 Performance of MIXGUs, LSTMs, GRUs and MGUs Neural Network on Different Depth of Models表2 不同網絡深度下MIXGUs,LSTMs,GRUs和MGUs的模型性能
Note: The boldface represents the best experimental results for the LSTM, GRU and MGU, while the results with background color means they are optimal for all the four gated units included.

Fig. 4 The forecasting curve and learning curve for actual data versus MIXGU, LSTM, GRU and MGU models圖4 NSMTS的實際數據與MIXGU, LSTM, GRU和MGU模型的預測及學習曲線


Fig. 5 The dynamic changes between in SMIXGUt圖5 SMIXGUt中和的動態變化
本文首先將MGU用于NSMTS預測,實驗證明了它達到了與LSTM和GRU相當的預測精度.同時我們在實驗中也發現,沒有任何單一門單元在處理各NSMTS時間序列時始終能表現出最佳行為.為了緩和這一局面,我們設計了一種混合的MIXGU門單元,通過在訓練中動態調整MGU和GRU的組合權重,達到了更優性能的混合結構.預測實驗驗證了MIXGU網絡確實獲得了比由單一門單元構建的神經網絡更優的性能,這一新型混合門單元也可望用于其他諸如視頻流預測.