羅廣誠,郜家玨,蔡文學
(華南理工大學 電子商務系,廣州 510000)
時間序列預測是通過歷史觀測數據建立模型以解釋數據變化規(guī)律,并對未來進行預測的技術,廣泛應用在水文氣象、信號處理以及金融經濟等許多領域。時間序列數據分為平穩(wěn)性時間序列和非平穩(wěn)性時間序列。對于平穩(wěn)時間序列,尤其是線性模型的建模和預測,已有許多成熟的技術和方法。但在實際問題中,大多數序列并非平穩(wěn)、線性的,而目前對于這類時間序列的分析和處理上沒有較為完善的方法。
隨著人工智能技術的發(fā)展,神經網絡、支持向量機等模型以其良好的非線性預測和實用性,被廣泛應用在時間序列預測中。其中長短期記憶網絡(Long Short-term Memory,LSTM)是應用最廣泛的預測方法之一,主要應用方面有交通流預測、故障時間預測、語義關系分類、文本分類、情感分類、股票預測等方面[1-5]。LSTM 模型是一種時間遞歸神經網絡,對于時間序列的數據而言預測精度高,并且LSTM 模型擁有大量的非線性傳輸層,不僅可以依據歷史數據對未來變化趨勢進行預測,還可以通過輸入影響因素等非線性數據敏銳捕捉非線性因素影響下的未來變化;基于灰色關聯(lián)度分析(Grey Relation Analysis,GRA)進行LSTM 模型中非線性輸入因素的選擇是常用的方式[6]。但其也存在對季節(jié)性時間序列中的周期、趨勢性變化不敏感的特點[7]。而季節(jié)性差分自回歸移動平均模型(Seasonal Autoregressive Integrated Moving Average,SARIMA)對于包含周期、趨勢性變化的季節(jié)性時間序列預測具有良好的效果,目前被廣泛應用在城市交通流預測、價格預測、疾病預測、CPI 和GDP指數預測等方面[8-10]。然而SARIMA 模型僅適用于短期線性時間序列的預測并且預測精度較低[11]。
綜上所述,若采用組合思想則能夠充分利用二者的優(yōu)勢,實現(xiàn)對序列更為準確的預測。針對SARIMA 模型和LSTM 模型的組合,文獻[12]中提出將兩種模型進行串聯(lián)組合,將SARIMA 模型預測后的結果作為輸入層數據,重新輸入到LSTM 模型中,得到最終結果。而本文針對兩種模型預測上的優(yōu)劣勢,提出采用并聯(lián)方式將兩種模型進行組合,即將數據分別輸入SARIMA 模型與LSTM 模型,然后再對兩種預測結果進行合理并聯(lián),以實現(xiàn)將SARIMA 對周期、趨勢性變化敏感的優(yōu)點及LSTM預測精度高且可以用來非線性數據進行預測的優(yōu)點相組合,提高季節(jié)性時間序列預測精度。其中GRA-LSTM 模型的輸入數據需要基于GRA 法選取關鍵影響因素作為非線性數據輸入。本文以某民航公司春運數據為例,對組合模型進行了驗證。結果表明,組合模型的預測精度高于支持向量機、灰色預測、GRA-LSTM 單模型以及SARIMA 單模型。
GRA—LSTM 模型是由GRA 和LSTM 模型組合而成,基本原理是先根據GRA 法結果,選擇相關性高的因素作為關鍵影響因素,然后將其作為非線性輸入量輸入到LSTM 模型中進行預測。
GRA 法是一種基于各影響因素數據分析,用灰色關聯(lián)度來描述因素間關系的多因素統(tǒng)計分析方法。GRA 法原理簡單,不需要大量數據作為基礎,計算量小、運行速度快,適用于分析各種影響因素與客流量之間存在的相關關系。因此,采用GRA 法求得各影響因素與民航客流量之間序列變化趨勢的相似或相異程度,從而刪選出影響民航客流量的關鍵影響因素,并作為LSTM 模型的輸入進行預測。
灰色關聯(lián)度分析法具體步驟如下:
(1)確定反映系統(tǒng)行為特征的參考序列X0;影響系統(tǒng)行為的比較序列X1,X2,...,Xn;其中Xi={Xi(k)|k=1,2,...,m}。
(2)對參考序列和比較序列進行無量綱化處理:
其中,ρ為分辨系數,取值區(qū)間為(0,1),具體取值視情況而定,ρ值越小,分辨力越大。當ρ≤0.546 3時,分辨力最好,通常取ρ=0.5。
(4)計算X0序列和Xi序列的關聯(lián)度ri:
基于GRA 法分析結果,對灰色關聯(lián)度ri=1,2,...,p按從大到小進行排序。若設灰色關聯(lián)序列為r1>r2>...>rp,則表明第一個比較序列對應的影響因素對參考序列影響最大,第p個因素影響最小。對設定的最小關聯(lián)度閾值σ,取σ∈(0,1),對滿足ri <σ的比較序列則認為這些序列對網絡輸出的影響較小,將其刪除從而優(yōu)化輸入數據,將余下的比較序列對應的影響因素作為關鍵影響因素輸入到LSTM 模型中。
LSTM 深度神經網絡通過復雜的非線性單元構建,具有長期記憶效應和深度學習能力。LSTM 網絡由1 個輸入層、1 個輸出層以及多個隱藏層構成。其中隱藏層由記憶元組組成,每個元組包含輸入門、遺忘門和輸出門,門控制著元組和網絡之間的信息流動,其基本結構如圖1 所示。
圖1 LSTM 網絡元組結構Fig.1 Tuple structure of LSTM network
圖1 中,Ct-1和Ct表示細胞的舊狀態(tài)和新狀態(tài),細胞狀態(tài)是LSTM 網絡的關鍵,像傳送帶一樣在整個鏈上運行。在LSTM 中,門結構可以決定信息是否通過,以對細胞狀態(tài)信息有選擇地進行增刪。其主要計算步驟如下:
第一步:用來決定什么信息可以通過,即遺忘門。其中,輸入為當前層的輸入xt和上一層的輸出ht-1,遺忘門狀態(tài)輸出ft為:
第二步:產生需要更新的新信息并存儲于細胞狀態(tài)中,即輸入門。新的細胞狀態(tài)Ct首先通過舊的細胞狀態(tài)Ct-1乘以ft來忘記不需要的信息,然后加上新的候選信息it·。其中,it為輸入門狀態(tài)。
第三步:輸出門用來決定模型的輸出。首先,通過sigmoid 層得到初始輸出狀態(tài)值ot后,使用tanh層將細胞狀態(tài)的值縮放到[-1,1]之間,相乘得到輸出值ht。
其中,ft、it、ot分別表征遺忘門、輸入門和輸出門的狀態(tài)值;為溝通輸入xt與元組的遺忘門、輸入門、輸出門以及元組輸入的權重矩陣;為連接上一層輸出ht-1與元組的遺忘門、輸入門和輸出門以及元組輸入的權重矩陣;bf、bi、bo、bc為遺忘門、輸入門、輸出門和元組輸入的偏置向量;σ為sigmoid激活函數。
首先,根據GRA法的分析結果選擇合適的影響因素作為關鍵影響因素,然后對歷史客流量數據和關鍵影響因素數據進行歸一化處理后,構成輸入量輸入到LSTM網絡模型中。PCA-LSTM預測模型的表達式如下:
其中,ht+1為預測值;ht,ht-1,...,ht-n是歷史數據;是通過GRA法選出的m個關鍵影響因素數據。其中包括歷史數據及預測值ht+1對應的當前輸入值。根據設定目標誤差不斷訓練模型,直至誤差小于目標誤差,此時輸出預測結果。
SARIMA模型又稱季節(jié)性差分自回歸滑動平均模型,是在ARIMA模型的基礎上演化出的一種針對具有季節(jié)性或周期性規(guī)律變化數據的預測模型,是時間序列預測領域中的主要預測模型之一。該模型的通用表達式為:
其中,p為自回歸階數;q為移動平均階數;d為差分階數;P、Q、D分別為季節(jié)求和自回歸移動平均模型中的自回歸、移動平均和差分的值;S為季節(jié)周期和循環(huán)長度。
SARIMA模型的主要處理步驟為:
(1)判定數據平穩(wěn)性
首先將初始數據進行預處理,對處理后的數據構造時間序列折線圖進行可視化,通過觀察折線圖對數據的平穩(wěn)性進行初步判斷。
(2)數據差分
若初步判定為非平穩(wěn)數據,則需要對數據進行差分,不斷進行差分操作直到數據變?yōu)槠椒€(wěn)時間序列。
(3)通過ACF(自相關函數)和PACF(偏自相關函數)圖形確定參數值引入ACF和PACF圖形,通過判斷可視化的圖形是截尾還是拖尾來確定模型參數中p、P、q和Q的值。判定規(guī)則如下:若ACF拖尾且PACF截尾,通過可視化的階數確定p和P;若ACF截尾且PACF拖尾,通過可視化階數確定q和Q;若ACF和PACF均為拖尾,則通過可視化階數可以確定p和P、q和Q。
(4)確定S值
通過對季節(jié)性時間序列數據進行平均法、移動平均趨勢剔除法等方法分解來確定S的值。
(5)模型確定
得到所有參數后,需要使用參數估計對模型進行校驗,直至確定最終模型。
組合模型是在SARIMA和LSTM單模型預測結果的基礎上設計了組合層,即基于SARIMA模型預測結果中提取的包含周期、趨勢信息的單位節(jié)點比例序列,對LSTM得到的初步預測結果進行修正得到最終預測結果,實現(xiàn)了將SARIMA對周期、趨勢性變化敏感的優(yōu)點及LSTM預測精度高且可以用來對非線性數據進行預測的優(yōu)點相結合。設計思路為:
(1)LSTM單模型預測
將歷史數據以及根據GRA法確定的關鍵影響因素數據輸入LSTM模型,得到初步預測結果Li(i=1,2,...,n)。其中,n為最小時間節(jié)點個數。
(2)SARIMA單模型預測
將歷史數據輸入到SARIMA模型得到預測結果Si(i=1,2,...,n)。
(3)組合設計
根據SARIMA模型中的預測結果si抽取包含周期、趨勢信息的單位節(jié)點比例序列θi,對LSTM得到的初步預測結果進行修正以得到最終預測結果。
①首先根據LSTM模型初步預測結果,得到總時段預測結果數值總和L總:
②提取SARIMA預測結果中單位節(jié)點Si比例序列θi(i=1,2,...,n),以抽取時間序列中周期、趨勢信息,具體計算公式如下:
③將SARIMA模型中的單位節(jié)點比例序列θi與總時段預測結果數值總和L總相乘,得到最終預測結果fi(i=1,2,...,n)。計算公式為:
通過組合使得預測結果既可以很好地擬合時間序列中的周期、趨勢性變化,也可以敏銳捕捉非線性因素影響下的變化。fi的完整表達式為:
組合模型處理步驟如圖2 所示。
圖2 組合模型處理步驟Fig.2 Processing steps of combined model
實例以某民航公司2016~2018 年春運客流量數據作為測試數據,用于對模型進行訓練;將2019年春運客流量數據作為預測數據判斷模型預測準確度。
影響客運量的因素多種多樣,為了更好地研究客運量的關鍵影響因素,參考相關文獻[13-14],提出以下影響航運客運量因素,見表1。
表1 民航春運客流量影響因素Tab.1 Influencing Factors of Air Spring Festival travel rush Passenger Flow
從統(tǒng)計局官網上收集了2016~2018 年春運典型日民航日出港旅客數以及影響因素數據,對其進行灰色關聯(lián)度分析后,得到的分析結果見表2。
表2 關聯(lián)度分析結果Tab.2 Correlation Analysis Results
根據關聯(lián)度分析結果可以得出:
(1)經濟社會發(fā)展、旅游發(fā)展、自身的發(fā)展以及其它相關運輸方式的發(fā)展這4 方面,對航運客流的影響因素均在0.9 以上。
(2)其它因素中,只有節(jié)假日屬性對航運客流的影響因素大于0.9;天氣因素、周六日屬性航運客流的影響因素均小于0.7。因此選取影響程度大于0.7 的13 項因素作為關鍵影響因素。
將2016~2018 年民航春運日出港旅客數以及2016~2019 年關鍵影響因素數據輸入到LSTM 模型中,得到圖3 預測結果。
圖3 LSTM 單模型預測結果Fig.3 LSTM single model prediction results
由圖3 可以看出,LSTM 模型預測結果與真實值擬合度較高,但與真實值相比預測趨勢存在延遲。將2016~2018 年民航春運日出港旅客數輸入到SARIMA 模型中,得到圖4 預測結果:
圖4 SARIMA 單模型預測結果Fig.4 Prediction results of single ARIMA model
SARIMA 模型的預測結果在趨勢上與真實值基本吻合,但預測精度不甚滿意。根據組合模型設計思想,將兩種模型進行組合后,得到的預測結果如圖5 所示。
圖5 組合模型預測結果Fig.5 Prediction results of combined model
可以看到組合模型無論是在預測精度和趨勢變化上都比單模型效果要好。根據表3 可知組合模型預測平均絕對百分比誤差為3.9%。
表3 組合模型預測誤差Tab.3 Prediction error of hybrid model
為檢驗和說明組合模型的預測性能,采用支持向量機、灰色預測、GRA-LSTM 單模型以及SARIMA單模型等經典的預測模型與之進行對比,其預測曲線如圖6 所示。同時采用MAE(平均絕對誤差)、RMSE(均方根誤差)以及MAPE(平均絕對百分比誤差)作為誤差衡量指標,幾種模型的預測誤差見表4。
圖6 幾種模型預測結果Fig.6 Prediction results of several models
由表4 和圖6 可知,本文提出的GRA-LSTM+SARIMA 組合模型與真實值的擬合程度是最好的,預測誤差也是幾種模型中最低的。其中,MAPE 比支持向量機、灰色預測、GRA-LSTM 單模型以及SARIMA單模型分別降低了2.1%、1.1%、0.7%、6.7%。
表4 幾種模型預測誤差Tab.4 Prediction errors of several models
通過評估LSTM 模型和SARIMA 模型的優(yōu)劣勢,提出將兩種模型進行組合。通過實驗表明,組合模型在預測上比單模型具有優(yōu)越性。其次組合模型之一的LSTM 模型的輸入層不僅僅是歷史數據,還有基于GRA 法選取的關鍵影響因素,因此組合模型能夠捕捉非線性時間序列的變化,更好地針對實際變化進行預測。