李思如
摘 要:本文基于我國1999—2020年民航客運量的月度數(shù)據(jù),分別用傳統(tǒng)的統(tǒng)計計量方法(SARIMA模型)和深度學(xué)習(xí)方法(LSTM神經(jīng)網(wǎng)絡(luò))建立模型,評估并預(yù)測航空客運量。對比結(jié)果表明:相比傳統(tǒng)SARIMA模型,LSTM模型對民航客運量的預(yù)測效果更好。
關(guān)鍵詞:旅客運輸量;航空公司;深度學(xué)習(xí);季節(jié)ARIMA模型;LSTM模型
中圖分類號:TP391.3 ? ? 文獻標(biāo)識碼: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
民航運輸業(yè)不斷向前發(fā)展,且經(jīng)濟全球化必然要求航空運輸全球化。高質(zhì)量的民航市場需求預(yù)測和發(fā)展規(guī)劃是國民經(jīng)濟與民航運輸業(yè)協(xié)調(diào)發(fā)展的前提[1]。
對航空公司客運量的預(yù)測,大部分采用的是傳統(tǒng)的時間序列預(yù)測模型和機器學(xué)習(xí)預(yù)測模型。其中,傳統(tǒng)的時間序列預(yù)測模型[2]包括自回歸移動平均模型[ARIMA]、向量自回歸模型[VAR]、廣義自回歸條件異方差模型[GARCH]等。堯姚等[3]建立[ARIMA-BP]組合模型以及[ARIMA]模型對我國民航客運量進行了預(yù)測,結(jié)果表明,組合模型的預(yù)測精度更高。孫亞蘭[4]采用季節(jié)時間序列模型[SARIMA]預(yù)測航空客運量,較好地反映了航空客運短期發(fā)展現(xiàn)狀。雖然這些預(yù)測模型已經(jīng)得到了較好的實踐驗證,但由于時間序列變化莫測,以及模型建立的各種假設(shè)條件的局限性,難以確保線性預(yù)測模型的精度。近年來,深度學(xué)習(xí)方法不斷發(fā)展和成熟,其中包含卷積神經(jīng)網(wǎng)絡(luò)[CNN]、循環(huán)神經(jīng)網(wǎng)絡(luò)[RNN]、長短期記憶網(wǎng)[LSTM]等。這些模型更適合輸入多種類型數(shù)據(jù),并能夠擬合變量間各種復(fù)雜的關(guān)系,一定程度上可以避免過擬合,[RNN]拓展衍生出了[LSTM],其已被證明在時間序列預(yù)測中能更好地模擬數(shù)據(jù)的長期依賴性,能記憶數(shù)據(jù)間的長期關(guān)系[5]。
本文分別建立了傳統(tǒng)的時間序列預(yù)測模型[SARIMA]和長短期記憶網(wǎng)絡(luò)模型[LSTM],用于預(yù)測民航客運量,并對比兩種方法的預(yù)測精度,結(jié)果表明,[LSTM]模型預(yù)測效果更佳。
1 研究設(shè)計
1.1 模型構(gòu)建
1.1.1 季節(jié)ARIMA模型。[ARIMAp,d,q]模型[6]是將自回歸過程[(AR)]和移動平均過程[(MA)]相結(jié)合的時間序列組合模型。[p]為自回歸過程滯后的階數(shù),[d]為使時間序列平穩(wěn)差分的階數(shù),[q]為移動平均過程滯后的階數(shù)。[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]是實數(shù),且[?p≠0;θ1、…、θq是實數(shù),且θq≠0。對于Φz和θz,當(dāng)|z|≤1,Φ(z)≠0。]
而季節(jié)時間序列呈現(xiàn)出一定的循環(huán)或周期性。在一些研究中,為了排除季節(jié)性造成的影響,需要把它從數(shù)據(jù)中剔除。
若將差分序列[Yt=(1-BS)Xt]擬合[ARMA(p,q)]模型[Φ(B)Yt=Θ(B)at],則原始序列的模型為[Φ(B)(1-BS)Xt=Θ(B)at],這是一般季節(jié)性[ARIMA(SARIMA)]模型[7],定義如下:
如果[d]和[D]是非負(fù)整數(shù),則[Xt]是周期為[S]的季節(jié)性[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]。隨著訓(xùn)練時間加長和網(wǎng)絡(luò)層數(shù)的增多,原始[RNN]模型容易出現(xiàn)梯度消失和爆炸的問題,無法處理較長序列數(shù)據(jù)。而[LSTM]是更高級的[RNN]模型,其可獲取長距離數(shù)據(jù)的信息,并有效記憶序列的長期依賴關(guān)系。
[LSTM]是在標(biāo)準(zhǔn)[RNN]結(jié)構(gòu)的基礎(chǔ)上,添加了若干個閥門節(jié)點。其包含一個記憶存儲[Cell]單元和三個門控單元:遺忘門[Forget Gate]、輸入門[Input Gate]和輸出門[Output Gate]。這些閥門可打開或關(guān)閉,其輸出的值域為(0,1),用于控制其他數(shù)據(jù)的數(shù)級。
[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]的信息量;[σ]為激活函數(shù)[sigmoid函數(shù)等]可將記憶信息納入計算范圍;[W]為循環(huán)層的權(quán)重矩陣;[bi]為輸入門的偏置項。
[LSTM]和[RNN]都從[tan?(Wc?[?t?1,xt]+bc)]獲取信息,而[LSTM]模型是靠三個門控單元在線性自連接單元進行信息積累,并將其作為中間產(chǎn)物計算當(dāng)期[?t]。[LSTM]模型考慮了信息遞歸過程,從狀態(tài)[ct-1]到狀態(tài)[ct]的信息轉(zhuǎn)移不完全取決于[σ]函數(shù)計算得到的狀態(tài),還由[it]和[ft]共同控制,即[ct=ftct-1+it⊙tan?(Wc?[?t-1,xt]+bc)],使得[LSTM]模型具有遞歸效應(yīng),且具有常數(shù)誤差流的特性,誤差向上一個狀態(tài)傳遞過程中幾乎沒有衰減,故模型具有長期記憶功能。
1.2 數(shù)據(jù)來源及樣本選擇
為了預(yù)測我國2020年以后的民航客運量和民航運輸業(yè)的穩(wěn)定發(fā)展,選取的數(shù)據(jù)來源于中國民航1999年1月至2020年12月的客運量(單位:億人),時間跨度為264個月,共264個樣本點。
2 實證結(jié)果分析
2.1 基于[SARIMA]模型對中國民航客運量的實證分析
2.1.1 繪制時序圖。圖1為國民航國內(nèi)月客運量時序圖,由圖1可知,中國民航國內(nèi)月客運量表現(xiàn)出長期向上增長的趨勢,且有一定的以年為周期的季節(jié)效應(yīng),客運量上升緩慢,但是下降卻很快。這表明客運量數(shù)據(jù)沒有遵循線性時間序列模型。
因原始數(shù)據(jù)沒有遵循線性時間序列模型,對數(shù)變換是一種常用的方法,對數(shù)據(jù)取對數(shù)能夠減少異方差的影響,將其轉(zhuǎn)化為線性形式。
2.1.2 單位根檢驗。圖2(a)展現(xiàn)了數(shù)據(jù)序列取對數(shù)后的走勢,可以看出取對數(shù)后的序列變?yōu)榫€性增長。同時,數(shù)據(jù)序列經(jīng)過差分過程剔除了數(shù)據(jù)向上趨勢,但樣本自相關(guān)函數(shù)表現(xiàn)出了周期性,即當(dāng)滯后階數(shù)為12階、24階和36階時自相關(guān)函數(shù)較大,表明序列有季節(jié)性特征,仍須進行季節(jié)差分處理。
在此基礎(chǔ)上,用單位根檢驗進一步判斷其對數(shù)序列的平穩(wěn)性,運用ADF檢驗,得到[p]值為0.439,大于0.05,說明其對數(shù)序列非平穩(wěn)。
2.1.3 剔除季節(jié)性。由單位根檢驗可知,其對數(shù)序列具有季節(jié)性,故將通過12階差分和正規(guī)差分剔除季節(jié)性因素,得到圖3。
由圖3可以看出,季節(jié)差分過程剔除了數(shù)據(jù)的季節(jié)性,時序圖顯示序列類似平穩(wěn)。
2.1.4 建立SARIMA模型。令[Xt]為取對數(shù)后的中國民航國內(nèi)月客運量序列,利用[R]中[forecast]包里的[auto.arima]函數(shù)對模型進行定階。
由運行結(jié)果可得擬合的模型為[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)
其中,系數(shù)估計的標(biāo)準(zhǔn)差分別為0.068 4、0.064 8、0.031 2、0.083 7、0.083 6。
圖4給出了擬合的[SARIMA]模型診斷圖。由圖(b)知,幾乎所有的殘差[ACF]都在兩倍的標(biāo)準(zhǔn)誤差上下限(虛線)內(nèi);由圖(c)知,[p]值均大于第[I]類錯誤值(虛線)。最后,對殘差進行[Ljung-Box]檢驗,得到檢驗統(tǒng)計量為4.058 3,當(dāng)自由度為12時,[p]值為0.982 4,認(rèn)為估計模型是顯著的。
2.1.5 預(yù)測及模型評價。為了評價模型的預(yù)測性能,取中國民航國內(nèi)月客運量的前254個月度數(shù)據(jù)來估計模型的參數(shù),以[h=254]為預(yù)測原點,對新得到的擬合模型計算向前10 步預(yù)測值,并將最后10個數(shù)據(jù)點的實際觀測值與預(yù)測值相對比,新得到的擬合模型為:
[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]
其中,系數(shù)估計的標(biāo)準(zhǔn)差分別為0.108 9、0.093 2、0.076 0、0.084 4、0.085 6。
由表1可看出,預(yù)測值與實際觀測值相差不大,實際觀測值大部分都在區(qū)間預(yù)測內(nèi),且均方預(yù)測誤差為0.258 588 3。
2.2 基于[LSTM]模型[9]對于中國民航客運量的實證分析
2.2.1 數(shù)據(jù)預(yù)處理。為加快程序構(gòu)建網(wǎng)絡(luò)模型效率,本文采用[Pyt?on]語言環(huán)境,選擇高度封裝的[Tensor Flow]官方支持的[Keras]板塊來構(gòu)建[LSTM]神經(jīng)網(wǎng)絡(luò)框架。
在對樣本數(shù)據(jù)進行訓(xùn)練和預(yù)測之前,為使模型快速收斂,可先將序列數(shù)據(jù)采用歸一化方式進行處理,使序列數(shù)據(jù)放縮在[0,1]之間,可采用[sklearn.preproces sin g]模塊中[MinMaxS cal er]函數(shù)處理,其原理如下式:
[x?=x-minxmaxx-minx] ? ? ?(7)
由于數(shù)據(jù)樣本點有限,為與[SARIMA]的預(yù)測模型一致,取前96%的序列值作為訓(xùn)練集,其余序列值作為測試集,即1999年1月至2020年1月的數(shù)據(jù)作為測試集。本文采用單步預(yù)測即向后一步預(yù)測的方式,使用4層[LSTM]神經(jīng)網(wǎng)絡(luò)模塊加一層普通的神經(jīng)網(wǎng)絡(luò)層進行訓(xùn)練,[LSTM]模塊的激活函數(shù)默認(rèn)使用[tan h]函數(shù)。使用均方誤差[MSE]作為損失評價標(biāo)準(zhǔn),采用[Adam]算法迭代更新權(quán)重參數(shù),擬合模型中的[epoch]、[batchsize]分別設(shè)為100和1。
2.2.2 模型預(yù)測。用上述模型分別對訓(xùn)練集和測試集的序列值進行預(yù)測,表2展示了模型部分預(yù)測結(jié)果。該方法自動識別了數(shù)據(jù)季節(jié)性和趨勢性的非線性特征,在訓(xùn)練集數(shù)據(jù)中模型的訓(xùn)練效果較好,在測試集數(shù)據(jù)中,同樣取得了較好的效果。模型訓(xùn)練集和測試集預(yù)測的均方根誤差[RMSE]分別為0.02和0.06(歸一化數(shù)據(jù)),相比[SARIMA]模型的預(yù)測結(jié)果更好。
3 結(jié)語
本文通過[SARIMA]模型和[LSTM]神經(jīng)網(wǎng)絡(luò)對中國民航1999年1月至2020年12月的客運量進行預(yù)測比較,發(fā)現(xiàn)[LSTM]模型預(yù)測均方根誤差更小。但對于不同的數(shù)據(jù)集,兩種方法各有優(yōu)勢,對于文章中選取的數(shù)據(jù)集而言,進一步可考慮基于[LSTM]模型的多變量預(yù)測。一般相對簡單的數(shù)據(jù)集可考慮使用[SARIMA]模型直接預(yù)測,因其進行了去季節(jié)性和趨勢等各種數(shù)學(xué)變換,其預(yù)測結(jié)果與[LSTM]模型預(yù)測結(jié)果相差不大,應(yīng)根據(jù)數(shù)據(jù)本身的特征,選擇合理的模型進行預(yù)測。
參考文獻:
[1] 張宗清.我國支線航空運輸市場需求預(yù)測與發(fā)展規(guī)劃研究[D].天津:中國民航大學(xué),2008.
[2] 楊海民,潘志松,白瑋.時間序列預(yù)測方法綜述[J].計算機科學(xué),2019(1):21-28.
[3] 堯姚,陶靜,李毅.基于ARIMA-BP組合模型的民航旅客運輸量預(yù)測[J].計算機技術(shù)與發(fā)展,2015(12):147-151.
[4] 孫亞蘭.基于季節(jié)時間序列模型的民航客運需求預(yù)測分析[J].中國外資,2013(18):263-266.
[5] LE C Y,BENGIO Y,HINTON G. Deep Learning [J].Nature,2015(521): 436-444.
[6] 范波,宋文彬.基于ARIMA模型的產(chǎn)品銷售量預(yù)測研究[J].工業(yè)控制計算機,2021(5):128-129,125.
[7] 徐映梅,陳堯.季節(jié)ARIMA模型與LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的比較[J].統(tǒng)計與決策,2021(2):46-50.
[8] 王英偉,馬樹才.基于ARIMA和LSTM混合模型的時間序列預(yù)測[J].計算機應(yīng)用與軟件,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.