李思如




摘 要:本文基于我國1999—2020年民航客運量的月度數據,分別用傳統的統計計量方法(SARIMA模型)和深度學習方法(LSTM神經網絡)建立模型,評估并預測航空客運量。對比結果表明:相比傳統SARIMA模型,LSTM模型對民航客運量的預測效果更好。
關鍵詞:旅客運輸量;航空公司;深度學習;季節ARIMA模型;LSTM模型
中圖分類號:TP391.3 ? ? 文獻標識碼:A ? ? 文章編號:1003-5168(2021)36-0018-04
Prediction of Air Passenger Traffic of SARIMA Model and LSTM Neural Network
LI Siru
(School of Statistics and Information,Shanghai University of International Business and Economics,Shanghai 201620)
Abstract: The article is based on the monthly data of civil aviation transportation in China from 1999 to 2020, and the model is established with traditional statistical metering methods (SARIMA models) and depth learning methods (LSTM neural networks) to assess and predict airline transport. The comparison results show that:compared to traditional SARIMA models, the LSTM model has better forecasting effects on civil aviation passenger traffic.
Keywords: passenger transportation; airline; deep learning; season ARIMA model; LSTM model
民航運輸業不斷向前發展,且經濟全球化必然要求航空運輸全球化。高質量的民航市場需求預測和發展規劃是國民經濟與民航運輸業協調發展的前提[1]。
對航空公司客運量的預測,大部分采用的是傳統的時間序列預測模型和機器學習預測模型。其中,傳統的時間序列預測模型[2]包括自回歸移動平均模型[ARIMA]、向量自回歸模型[VAR]、廣義自回歸條件異方差模型[GARCH]等。堯姚等[3]建立[ARIMA-BP]組合模型以及[ARIMA]模型對我國民航客運量進行了預測,結果表明,組合模型的預測精度更高。孫亞蘭[4]采用季節時間序列模型[SARIMA]預測航空客運量,較好地反映了航空客運短期發展現狀。雖然這些預測模型已經得到了較好的實踐驗證,但由于時間序列變化莫測,以及模型建立的各種假設條件的局限性,難以確保線性預測模型的精度。近年來,深度學習方法不斷發展和成熟,其中包含卷積神經網絡[CNN]、循環神經網絡[RNN]、長短期記憶網[LSTM]等。這些模型更適合輸入多種類型數據,并能夠擬合變量間各種復雜的關系,一定程度上可以避免過擬合,[RNN]拓展衍生出了[LSTM],其已被證明在時間序列預測中能更好地模擬數據的長期依賴性,能記憶數據間的長期關系[5]。
本文分別建立了傳統的時間序列預測模型[SARIMA]和長短期記憶網絡模型[LSTM],用于預測民航客運量,并對比兩種方法的預測精度,結果表明,[LSTM]模型預測效果更佳。
1 研究設計
1.1 模型構建
1.1.1 季節ARIMA模型。[ARIMAp,d,q]模型[6]是將自回歸過程[(AR)]和移動平均過程[(MA)]相結合的時間序列組合模型。[p]為自回歸過程滯后的階數,[d]為使時間序列平穩差分的階數,[q]為移動平均過程滯后的階數。[ARIMAp,d,q]模型可表示為:
[Φ(B)(1-B)dXt=θ(B)at] ? ? (1)
式(1)是求和自回歸移動平均模型,其中,[B]為延遲算子。
[ΦB=1-Φ1B?Φ2B2-…-ΦpBp] ?(2)
[θB=1-θ1B-θ2B2-…-θqBq] ? (3)
其中,[Φ1、…、Φp]是實數,且[?p≠0;θ1、…、θq是實數,且θq≠0。對于Φz和θz,當|z|≤1,Φ(z)≠0。]
而季節時間序列呈現出一定的循環或周期性。在一些研究中,為了排除季節性造成的影響,需要把它從數據中剔除。
若將差分序列[Yt=(1-BS)Xt]擬合[ARMA(p,q)]模型[Φ(B)Yt=Θ(B)at],則原始序列的模型為[Φ(B)(1-BS)Xt=Θ(B)at],這是一般季節性[ARIMA(SARIMA)]模型[7],定義如下:
如果[d]和[D]是非負整數,則[Xt]是周期為[S]的季節性[ARIMA]過程,記作[ARIMA(p,d,q)×(P,D,Q)S],若差分序列[Yt=(1-B)d(1-BS)DXt]是如下定義的因果[ARMA]過程:
[Φ(B)Φ(BS)Yt=θ(B)Θ(BS)at,at~WN(0,σ2)] ?(4)
其中,[Φz=1-Φ1z-Φ2z2-…-ΦPzP]
[θB=1+B+θ2B2+…+θqBq]
[Θ(z)=1+Θ1z+Θ2z2+…+ΘQzQ]
1.1.2 [LSTM]模型[8]。隨著訓練時間加長和網絡層數的增多,原始[RNN]模型容易出現梯度消失和爆炸的問題,無法處理較長序列數據。而[LSTM]是更高級的[RNN]模型,其可獲取長距離數據的信息,并有效記憶序列的長期依賴關系。
[LSTM]是在標準[RNN]結構的基礎上,添加了若干個閥門節點。其包含一個記憶存儲[Cell]單元和三個門控單元:遺忘門[Forget Gate]、輸入門[Input Gate]和輸出門[Output Gate]。這些閥門可打開或關閉,其輸出的值域為(0,1),用于控制其他數據的數級。
[LSTM]模型第[t]層的更新公式如式(5)。
[it=σ(Wi?[?t-1,xt]+bi)ft=σ(Wf?[?t-1,xt]+bf)ot=σ(Wo?[?t-1,xt]+bo)c~t=tan?(Wc?[?t-1,xt]+bc)ct=ftct-1+it⊙c~t?t=ot⊙tan?(ct)] ? ?(5)
其中,輸入門[it]控制流入[ct]的信息量;遺忘門[ft]控制[t-1]時刻的信息可累計到[t]時刻的信息量;輸出門[ot]控制[t]時刻流入[?t]的信息量;[σ]為激活函數[sigmoid函數等]可將記憶信息納入計算范圍;[W]為循環層的權重矩陣;[bi]為輸入門的偏置項。
[LSTM]和[RNN]都從[tan?(Wc?[?t?1,xt]+bc)]獲取信息,而[LSTM]模型是靠三個門控單元在線性自連接單元進行信息積累,并將其作為中間產物計算當期[?t]。[LSTM]模型考慮了信息遞歸過程,從狀態[ct-1]到狀態[ct]的信息轉移不完全取決于[σ]函數計算得到的狀態,還由[it]和[ft]共同控制,即[ct=ftct-1+it⊙tan?(Wc?[?t-1,xt]+bc)],使得[LSTM]模型具有遞歸效應,且具有常數誤差流的特性,誤差向上一個狀態傳遞過程中幾乎沒有衰減,故模型具有長期記憶功能。
1.2 數據來源及樣本選擇
為了預測我國2020年以后的民航客運量和民航運輸業的穩定發展,選取的數據來源于中國民航1999年1月至2020年12月的客運量(單位:億人),時間跨度為264個月,共264個樣本點。
2 實證結果分析
2.1 基于[SARIMA]模型對中國民航客運量的實證分析
2.1.1 繪制時序圖。圖1為國民航國內月客運量時序圖,由圖1可知,中國民航國內月客運量表現出長期向上增長的趨勢,且有一定的以年為周期的季節效應,客運量上升緩慢,但是下降卻很快。這表明客運量數據沒有遵循線性時間序列模型。
因原始數據沒有遵循線性時間序列模型,對數變換是一種常用的方法,對數據取對數能夠減少異方差的影響,將其轉化為線性形式。
2.1.2 單位根檢驗。圖2(a)展現了數據序列取對數后的走勢,可以看出取對數后的序列變為線性增長。同時,數據序列經過差分過程剔除了數據向上趨勢,但樣本自相關函數表現出了周期性,即當滯后階數為12階、24階和36階時自相關函數較大,表明序列有季節性特征,仍須進行季節差分處理。
在此基礎上,用單位根檢驗進一步判斷其對數序列的平穩性,運用ADF檢驗,得到[p]值為0.439,大于0.05,說明其對數序列非平穩。
2.1.3 剔除季節性。由單位根檢驗可知,其對數序列具有季節性,故將通過12階差分和正規差分剔除季節性因素,得到圖3。
由圖3可以看出,季節差分過程剔除了數據的季節性,時序圖顯示序列類似平穩。
2.1.4 建立SARIMA模型。令[Xt]為取對數后的中國民航國內月客運量序列,利用[R]中[forecast]包里的[auto.arima]函數對模型進行定階。
由運行結果可得擬合的模型為[ARIMA(2,1,1)×(2,0,0)s=12]:
[1-0.689 5B+0.086 7B2(1-0.350 9B12-0.202 2B24)1-BXt=(1-0.917 9B)at]
[ σa^2=0.027 59] ? ? ? (6)
其中,系數估計的標準差分別為0.068 4、0.064 8、0.031 2、0.083 7、0.083 6。
圖4給出了擬合的[SARIMA]模型診斷圖。由圖(b)知,幾乎所有的殘差[ACF]都在兩倍的標準誤差上下限(虛線)內;由圖(c)知,[p]值均大于第[I]類錯誤值(虛線)。最后,對殘差進行[Ljung-Box]檢驗,得到檢驗統計量為4.058 3,當自由度為12時,[p]值為0.982 4,認為估計模型是顯著的。
2.1.5 預測及模型評價。為了評價模型的預測性能,取中國民航國內月客運量的前254個月度數據來估計模型的參數,以[h=254]為預測原點,對新得到的擬合模型計算向前10 步預測值,并將最后10個數據點的實際觀測值與預測值相對比,新得到的擬合模型為:
[1-0.696 5B+0.239 4B2(1-0.331 0B12-0.206 4B24)1-BXt=(1-0.855 6B)at]
[ σa^2=0.027 09]
其中,系數估計的標準差分別為0.108 9、0.093 2、0.076 0、0.084 4、0.085 6。
由表1可看出,預測值與實際觀測值相差不大,實際觀測值大部分都在區間預測內,且均方預測誤差為0.258 588 3。
2.2 基于[LSTM]模型[9]對于中國民航客運量的實證分析
2.2.1 數據預處理。為加快程序構建網絡模型效率,本文采用[Pyt?on]語言環境,選擇高度封裝的[Tensor Flow]官方支持的[Keras]板塊來構建[LSTM]神經網絡框架。
在對樣本數據進行訓練和預測之前,為使模型快速收斂,可先將序列數據采用歸一化方式進行處理,使序列數據放縮在[0,1]之間,可采用[sklearn.preproces sin g]模塊中[MinMaxS cal er]函數處理,其原理如下式:
[x?=x-minxmaxx-minx] ? ? ?(7)
由于數據樣本點有限,為與[SARIMA]的預測模型一致,取前96%的序列值作為訓練集,其余序列值作為測試集,即1999年1月至2020年1月的數據作為測試集。本文采用單步預測即向后一步預測的方式,使用4層[LSTM]神經網絡模塊加一層普通的神經網絡層進行訓練,[LSTM]模塊的激活函數默認使用[tan h]函數。使用均方誤差[MSE]作為損失評價標準,采用[Adam]算法迭代更新權重參數,擬合模型中的[epoch]、[batchsize]分別設為100和1。
2.2.2 模型預測。用上述模型分別對訓練集和測試集的序列值進行預測,表2展示了模型部分預測結果。該方法自動識別了數據季節性和趨勢性的非線性特征,在訓練集數據中模型的訓練效果較好,在測試集數據中,同樣取得了較好的效果。模型訓練集和測試集預測的均方根誤差[RMSE]分別為0.02和0.06(歸一化數據),相比[SARIMA]模型的預測結果更好。
3 結語
本文通過[SARIMA]模型和[LSTM]神經網絡對中國民航1999年1月至2020年12月的客運量進行預測比較,發現[LSTM]模型預測均方根誤差更小。但對于不同的數據集,兩種方法各有優勢,對于文章中選取的數據集而言,進一步可考慮基于[LSTM]模型的多變量預測。一般相對簡單的數據集可考慮使用[SARIMA]模型直接預測,因其進行了去季節性和趨勢等各種數學變換,其預測結果與[LSTM]模型預測結果相差不大,應根據數據本身的特征,選擇合理的模型進行預測。
參考文獻:
[1] 張宗清.我國支線航空運輸市場需求預測與發展規劃研究[D].天津:中國民航大學,2008.
[2] 楊海民,潘志松,白瑋.時間序列預測方法綜述[J].計算機科學,2019(1):21-28.
[3] 堯姚,陶靜,李毅.基于ARIMA-BP組合模型的民航旅客運輸量預測[J].計算機技術與發展,2015(12):147-151.
[4] 孫亞蘭.基于季節時間序列模型的民航客運需求預測分析[J].中國外資,2013(18):263-266.
[5] LE C Y,BENGIO Y,HINTON G. Deep Learning [J].Nature,2015(521): 436-444.
[6] 范波,宋文彬.基于ARIMA模型的產品銷售量預測研究[J].工業控制計算機,2021(5):128-129,125.
[7] 徐映梅,陳堯.季節ARIMA模型與LSTM神經網絡預測的比較[J].統計與決策,2021(2):46-50.
[8] 王英偉,馬樹才.基于ARIMA和LSTM混合模型的時間序列預測[J].計算機應用與軟件,2021(2):291-298.
[9] TAWUM J M,HAIWANG Y,JIANHUA Z,et al.Using LSTM and ARIMA to Simulate and Predict Limestone Price Variations[J].Mining,Metallurgy&Exploration,2021(38):913-926.