高凱悅,牟 莉,張英博
(西安工程大學 計算機科學學院,西安 710048)
多元時間序列是指以相同間隔按指定采樣率對某過程進行采集的一組變量,且按時間先后順序排列. 在實際處理多元時間序列時,需要分析各變量之間潛在的復雜關系和變化規律,才能對其做出有效預測. 但現有方法常因為多元時間序列復雜的變化規律難以捕捉,所以導致預測精度較低. 如何對其做出有效預測,成為國內外諸多學者關注的問題.
早期傳統多元時間序列預測方法主要采用灰色模型[1]、自回歸綜合移動平均模型(ARMA)[2]、自回歸移動平均模型(ARIMA)[3]等. 這些方法雖然結構簡單,但都屬于線性方法,不能較好反映時間序列中非線性因素的影響. 為了克服這一缺陷,人們將神經網絡引入對多元時間的序列的預測. 例如,Meng 等人[4]使用BP 神經網絡實現了對股價走勢的預測. 這種模型可以較好反映出多元時間序列中非線性因素對結果的影響,但無法聯系多元時序數據間的潛在的內部關聯. 鄧玉婧等人[5]采用了循環神經網絡(RNN)實現了對航班客座率的預測,證明了RNN 神經網絡在時序預測方面的有效性,這種模型可以解決無法聯系多元時序數據關系的缺點,但在預測較長序列時經常會出現梯度爆炸的缺陷,使模型無法從訓練數據中得到較高的學習效率. 廖志偉等人[6]使用LSTM 神經網絡實現了對短期電煤價格預測,這種模型在RNN 神經網絡的基礎上增加了不同的門控單元來實現長期信息記憶功能,成功減緩了RNN 神經網絡梯度爆炸問題. 周莽等人[7]使用GRU 神經網絡實現了對短期電力負荷的預測,這種模型是LSTM 模型的一種流行變體,不僅同樣可以克服RNN 模型梯度爆炸問題,其結構較LSTM 模型還更為簡易,更易訓練. BiLSTM 神經網絡作為近年來神經網絡中的新型模型[8,9],它創新性地將一個正向LSTM模型和一個反向LSTM 模型相結合,實現了特征之間潛在關系的雙向挖掘. 與LSTM 相比,BiLSTM 模型在預測多元時序序列時,其預測精度明顯提高. 江知航等人[10]使用BiLSTM 神經網絡對棉花價格進行了預測,但沒有考慮多維特征與預測目標的相關性以及無關特征對預測結果的影響,導致預測精度并未大幅提升. 陳宇韶等人[11]在預測股票價格前使用了PCC 相關系數,在龐雜多維特征中分析出與預測目標高度相關的特征,消除了無關特征對預測結果的影響,降低了模型復雜度的同時有效地改善了最終的預測效果.
基于以上,為了更有效地對多元時序序列進行預測,本文將PCC-BiLSTM-GRU-Attention 組合模型的預測方法進行了探討和驗證. 具體來說,該方法首先利用PCC 相關系數對輸入特征進行篩選,刪除無關變量,避免無關變量對結果精度的影響. 其次使用BiLSTM神經網絡雙向獲取輸入特征之間潛在的關聯關系. 最后使用GRU 神經網絡融合Attention 機制,進一步深入學習雙向時序特征的變化規律,更精準的捕獲關鍵時刻的信息以及非線性動力系統的復雜變化規律. 為了驗證此方法在多元時間序列中的預測效果,本文以股票價格預測[12–15]為實驗場景,以各模型的平均絕對百分比誤差值和決定系數值作為衡量標準進行對比實驗,驗證結果表明,相比于其他5 種模型,PCC-BiLSTMGRU-Attention 組合模型的預測方法擬合程度更高,預測效果更好.
根據文獻[16]可知,在預測多元時間序列前,建立初始化指標體系后進行相關性篩選可以有效減少的數據復雜度和無關變量對預測結果的影響. Cai 等人[17]根據PCC 相關系數計算出變量間的相關程度來刪除冗余變量. 因此本文選擇PCC 相關系數對實驗進行特征選擇,PCC 相關系數的公式為:

其中,rX,Y為變量X,Y的相關系數,Xi為自變量,Yi為因變量. 變量的相關程度可由相關系數的絕對值表示,具體如表1 所示.

表1 相關程度
BiLSTM 神經網絡由兩個LSTM 神經網絡疊加組成[18]. LSTM 神經網絡是另一種RNN 神經網絡,在處理時間序列方面具備顯著優勢[19],它具有遺忘門、輸入門、輸出門和細胞狀態等部分,其結構如圖1 所示.細胞狀態用來存儲和傳遞時序特征信息,3 種門結構在訓練過程中會學習如何去保存、遺忘和輸出時序特征信息[20]. 這種結構使得在LSTM 神經網絡中早期單元的特征信息一樣可以傳遞至后期單元的細胞狀態中,實現了LSTM 神經網絡可長時間記憶特征信息的優勢.

圖1 LSTM 神經網絡單元結構圖

其中,Wf、Wi、Wc、Wo和bf、bi、bc、bo分別對應各門結構的權重矩陣與偏置,其運行原理首先是遺忘門通過式(2)計算當前細胞狀態需要遺忘的信息ft,然后輸入門通過式(3)計算當前細胞狀態需要存放的信息it,并通過式(4)、式(5)在tanh 層中創建候選值加入到細胞狀態中并且將單元狀態從Ct?1更新為Ct,最后輸出門通過式(6)、式(7)計算出當前LSTM 單元的輸出ht.
圖2 是BiLSTM 神經網絡結構圖,它由一個前向LSTM 計算層一個為后向LSTM 計算層. 這種結構可對時序序列關系進行較長時間的雙向挖掘,提取雙向時序特征.

圖2 BiLSTM 神經網絡結構圖
GRU 神經網絡對LSTM 內部進行了有效簡化,引入了重置門、更新門的概念,這使其在保留原LSTM神經網絡預測效果的同時變得更易訓練[21],其結構如圖3 所示.

圖3 GRU 神經網絡單元結構圖

其中,Xt代表當前時刻的輸入,ht?1代表上一時刻GRU 單元的隱藏狀態,ht代表當前GRU 單元計算出的隱藏狀態,Wr、Wh、Wz和br、bh、bz為各門結構對應的權重矩陣和偏置,GRU 神經網絡單元的運行原理首先是通過式(8)計算出重置門的取值,再通過式(9)計算候選狀態. 若重置門取值接近0,則候選值會選擇忽略前一個隱藏狀態的信息,這有效地使隱藏狀態具有丟棄不相關的特征信息的能力. 計算出候選值后,通過式(10)使更新門控制特征信息需要傳遞多少信息至當前隱藏狀態,實現了單元的長期記憶功能,最后通過式(11)計算出當前隱藏狀態的最終值.
Attention 機制通過不同特征對于預測結果影響的大小來為神經網絡中的隱藏單元賦予不同權重,使對預測結果有突出影響的因素獲得更高關注,為后續再次處理數據提供更好的參考[22–24],大大減少了對資源的消耗,提高了預測精度,其結構具體如圖4 所示.

圖4 Attention 機制網絡結構圖

其中,W、b為權重系數和偏置系數,hi為GRU 神經網絡中t時刻中輸出的第i個隱藏單元狀態值. Attention機制首先根據GRU 神經網絡輸出每個隱層單元的值hi計算式(12)后得到每個隱層單元的得分ei,再通過式(13)對注意力得分值進行歸一化,最終計算式(14)將歸一化后的得分值ai和隱層單元hi進行加權求和得到t時刻這一時間步長內的隱藏層狀態值ct.
PCC-BiLSTM-GRU-Attention 組合模型的預測方法主要由6 個階段構成,具體層級結構如圖5 所示.

圖5 PCC-BiLSTM-GRU-Attention 組合模型預測方法的層級結構
(1)PCC 相關系數: 將原始數據中的自變量逐一與預測的因變量進行PCC 相關性分析,刪除與因變量無關的特征,具體表示為:

其中,Xi表示某時刻中的第i天的輸入序列,xi為第i個特征值,N為未降維選優時的總特征數,n為降維后的總特征數.p為某時刻第i天的預測值,未經過篩選時Xi可表示為式(15),經過PCC 相關性分析篩選出不相關的特征后,Xi可表示為式(16).
(2)輸入層: 將經過特征值篩選后的特征以及因變量作為本文模型的輸入,在t時刻中的輸入序列具體為:

其中,Xt為t時刻的輸入序列,T為時間步數.
(3)BiLSTM 層: 在前向層中輸入正向Xt序列[X1,···,Xi,···,XT]T計算出該層第i個輸出的隱藏狀態,在后向層中輸入反向Xt序列[XT,···,Xi,···,X1]T計算出該層第i個輸出的隱藏狀態:

其中,通過式(18)使用對應t時刻的輸入序列Xt、第i–1 個輸入時間步的前向LSTM 層中的隱藏單元狀態以及第i–1 個輸入時間步的前向LSTM 層中的細胞狀態,計算出在t時刻的前向LSTM 層中第i個輸出的隱藏狀態. 通過式(19)使用對應t時刻的輸入序列Xt、第i+1 個輸入時間步的后向LSTM 層中的隱藏單元狀態以及第i+1 個輸入時間步的后向LSTM層中的細胞狀態計算出在t時刻的后向LSTM 層中第i個輸出狀態,通過式(20)計算出BiLSTM 層在t時刻的第i個隱藏單元狀態值,將式(21)中Ht最終作為t時刻上提取的雙向時序序列.
(4)GRU: 將BiLSTM 層中輸出的雙向時序序列Ht作為GRU 層的輸入序列進行進一步學習:

其中,記hi為t時刻中第i個GRU 層的隱層狀態,式(23)中ht為最終在t時刻上GRU 層的隱層狀態.
(5)Attention 機制: 將GRU 層輸出的隱層狀態ht作為Attention 機制的輸入,每個隱層單元的得分ei、歸一化后得分ai和最終Attention 層輸出ct由式(12)–式(14)計算而來.
(6)輸出層: 選擇Sigmoid函數作為激活全連接層的函數,輸出最終t時刻最終預測值,記作yt:

本文選取某銀行從2006 年1 月5 日至2019 年6 月5 日這一時段內所有交易日的股指數據作為實驗數據集. 采集數據主要包括: 開盤價、最高價、最低價、漲幅率、振幅率、總手數、交易金額、換手率、成交次數和收盤價,最終將股票收盤價作為目標變量.此數據集大且全面,具有多元特性,在連續的時間序列上呈現一定的變化規律. 本文將數據集選取前80%的數據為訓練集,后20%的數據為測試集.
本文對數據的預處理分為兩個步驟,歸一化和特征數據的降維選優:
(1)為了消除特征參數之間數值與單位的差異性,以對每個特征進行同等對待,本文對原始特征數據進行歸一化處理來提升預測精度,歸一化公式如下:

其中,min代表特征x在時序序列中的最小值,max代表在時序序列中的最大值.
(2)將歸一化后的特征數據進行PCC 相關性分析.如表2 可以看出各特征與股票收盤價的PCC 相關程度,為了消除無關變量對模型預測帶來的噪聲影響,決定選取開盤價、最高價、最低價、總手數、交易金額和成交次數這些具有相關性的因素作為神經網絡輸入參數,刪除無關因素來實現對特征數據的降維選優.

表2 不同特征與股票價格的相關系數
基于本文提出方法訓練中的優化目標為平均絕對百分比誤差MAPE最小化,即決定采用Adam 優化算法對模型中的權重進行迭代更新. 模型各參數選用經驗數據且通過多次實驗進行調整,最終確定BiLSTM神經網絡層的隱層節點個數為64 個,GRU 神經網絡層的隱層節點個數為16 個,迭代次數為100 次,batchsize 大小為64,滑動窗口長度為5,學習率為0.01.
本文選用的評價指標為平均絕對百分比誤差(MAPE)和決定系數(R2score)兩種指標來評價模型的優劣性,兩種指標公式如下:

其中,n為樣本個數,ytrue(i)為i時刻的實際值,ypre(i)為i時刻的預測值.MAPE的值代表預測值與真實值產生的誤差值與真實值之間的比例,當比例越接近0%時,表明預測誤差越小.R2score的值表示預測值曲線與真實值曲線的擬合優度,當R2score的值越接近1 時擬合優度越好.
為了驗證PCC-BiLSTM-GRU-Attention 組合模型的預測方法的預測性能,將該方法與BP、LSTM、GRU、BiLSTM-GRU、BiLSTM-GRU- Attention 等神經網絡模型放在股票價格預測場景中進行對比實驗,觀察不同模型對某銀行測試集的預測效果. 為了減少結果中的偶然因素對各神經網絡精度的影響,本文對每種神經網絡進行了多次實驗,記錄下每種模型在測試集預測的最優結果,實驗結果如表3 所示.

表3 不同神經網絡預測結果對比
從表3 可觀察到,PCC-BiLSTM-GRU-Attention 組合模型的預測方法在MAPE與決定系數兩種評估指標上計算的結果均優于其他神經網絡. 該方法的MAPE指標為2.484%,與BP、LSTM、GRU、BiLSTM-GRU、BiLSTM-GRU-Attention 等神經網絡相比,其MAPE指標分別下降了7.285%、5.462%、5.369%、2.216%、0.372%. 該方法的決定系數指標為0.966,與BP、LSTM、GRU、BiLSTM-GRU、BiLSTM-GRU-Attention 等神經網絡進行對比后,決定系數分別提高了0.343、0.268、0.208、0.028、0.02,由此可見,實驗的結果驗證了PCCBiLSTM-GRU-Attention 組合模型的預測方法可以有效提高對多元時間序列的預測. 此外,將PCC-BiLSTMGRU-Attention 組合模型的預測方法與BiLSTM-GRUAttention 神經網絡模型相比較,MAPE指標降低了0.372%,決定系數提高了0.02,證明了使用PCC 相關性系數剔除無關變量可有效減少其對預測精度的影響.將BiLSTM-GRU-Attention 神經網絡模型與BiLSTMGRU 神經網絡模型相比較,MAPE指標降低了1.844%,決定系數提高了0.008,證明了Attention機制神經網絡的加入能夠有效捕捉關鍵時刻的信息. 圖6 為PCCBiLSTM-GRU-Attention 組合模型的預測方法與其他模型的預測結果圖,可以看出該方法相較于其他模型預測的結果同真實值的波動更為擬合.

圖6 不同模型預測結果圖
本文將PCC-BiLSTM-GRU-Attention 組合模型的預測方法進行了探討和驗證. 該方法首先利用PCC 相關系數將特征數據進行篩選,刪除冗余無關特征對實驗結果精度的影響,實現多元數據的降維選優. 其次選取BiLSTM 神經網絡雙向學習時序序列的變化規律,再使用GRU 融合Attention 機制進一步深度學習雙向時序特征的變化規律,同時更精準的捕獲關鍵時刻的信息,最后通過全連接層輸出最后預測值. 本文結合PCC 相關系數、BiLSTM 神經網絡、GRU 神經網絡、Attention 機制進一步提高了對多元時序序列的預測精度. 將該方法通過實驗與BP、LSTM、GRU、BiLSTMGRU、BiLSTM-GRU-Attention 五種模型進行對比,驗證結果表明,PCC-BiLSTM-GRU-Attention 組合模型的預測方法在MAPE和決定系數兩種指標上有顯著優勢,與真實值具有更高的擬合性,實際預測精度最佳.