郭曉彤,王綺靜,勞晶晶,余彥翹,周少婷
(五邑大學(xué),廣東 江門 529020)
軌道交通建設(shè)的快速發(fā)展,使其日益成為新時(shí)代旅客的主要出行方式。軌道交通車站客流預(yù)測,是優(yōu)化車站客運(yùn)組織、提高運(yùn)營安全和運(yùn)輸效率的有效途徑。但車站客流變化會(huì)受到諸如天氣、季節(jié)、節(jié)假日等多種因素的隨機(jī)影響,具有一定的隨機(jī)性和非線性特征,因此,如何提高客流預(yù)測精度具有重要的現(xiàn)實(shí)意義。
目前,國內(nèi)外針對(duì)交通客流預(yù)測的研究方法主要包括時(shí)間序列、灰色模型、神經(jīng)網(wǎng)絡(luò)等。趙鵬等[1]針對(duì)城市軌道交通進(jìn)站客流建立ARIMA預(yù)測模型。郝勇等[2]以日為單位的客流預(yù)測問題建立ARIMA模型;武騰飛等[3]構(gòu)建ARIMA模型預(yù)測公交站上下車客流量。熊杰等[4]用Kalman濾波預(yù)測地鐵換乘客流。由于上述單一模型在客流預(yù)測精度上存在一定誤差,部分學(xué)者提出混合算法進(jìn)行改進(jìn)。李潔等[5]將時(shí)間序列與LSTM方法相結(jié)合,建立了高鐵客流預(yù)測的組合模型,并對(duì)模型進(jìn)行了精細(xì)調(diào)參,此組合模型與其他模型相比,具有更高的預(yù)報(bào)準(zhǔn)確率。王菲華等[6]利用BP神經(jīng)網(wǎng)絡(luò)和灰色模型對(duì)湖北省公路交通流量進(jìn)行了預(yù)測,預(yù)測結(jié)果表明,該方法具有較高的精確度。求森[7]采用小波分析法對(duì)原始客流數(shù)據(jù)進(jìn)行去噪處理后,將時(shí)間序列與神經(jīng)網(wǎng)絡(luò)相組合后對(duì)客流量進(jìn)行預(yù)測,以此提高模型精度。
ARIMA模型機(jī)理是對(duì)大量的歷史數(shù)據(jù)進(jìn)行訓(xùn)練后對(duì)未來的值進(jìn)行預(yù)測,但由于數(shù)據(jù)本身易受到外界因素的隨機(jī)性的影響,預(yù)測得到的數(shù)據(jù)依據(jù)會(huì)存在誤差。Kalman濾波具有的自適應(yīng)降噪特性,通過對(duì)原始數(shù)據(jù)進(jìn)行迭代訓(xùn)練,從而達(dá)到提高預(yù)測精確度的目的。可以發(fā)現(xiàn),在傳統(tǒng)ARIMA預(yù)測模型中融合Kalman濾波自適應(yīng)性矯正數(shù)據(jù)和降噪性能達(dá)到有效降低預(yù)測誤差的效果。但是目前ARIMA-Kalman濾波混合預(yù)測算法主要用于產(chǎn)量、網(wǎng)絡(luò)負(fù)載等領(lǐng)域,在城市軌道交通客流預(yù)測方面的應(yīng)用較少?;诖瞬捎肁RIMA-Kalman濾波混合算法來預(yù)測鐵路進(jìn)站客流,以江門東站實(shí)際的進(jìn)站客流數(shù)據(jù)為研究樣本,通過Python軟件建立ARIMA模型,結(jié)合自適應(yīng)Kalman濾波對(duì)模型進(jìn)行修正,得到最優(yōu)的ARIMA-Kalman濾波混合預(yù)測算法,達(dá)到提高進(jìn)站客流預(yù)測精確度的目的。
時(shí)間序列分析根據(jù)系統(tǒng)觀測得到的時(shí)間序列數(shù)據(jù),采用曲線擬合和參數(shù)估計(jì)的方法來建立數(shù)學(xué)模型。時(shí)間序列分析方法思想主要是利用歷史數(shù)據(jù)對(duì)未來數(shù)據(jù)進(jìn)行預(yù)測。在研究中,時(shí)間序列分析法會(huì)依據(jù)自身的變化規(guī)律,利用外推機(jī)制來描述時(shí)間序列的變化。
在運(yùn)用時(shí)間序列分析法之前要先對(duì)數(shù)據(jù)進(jìn)行差分平穩(wěn)化處理、對(duì)白噪聲進(jìn)行判斷,再進(jìn)行預(yù)測分析。ARIMA模型也叫自回歸積分滑動(dòng)平均模型,該模型由兩種模型構(gòu)成,一種為p階自回歸(AR)模型,其計(jì)算方法如公式(1)所示。
Xt=φ1Xt-1+φ2Xt-2+…+φpXt-p+αt,
t∈Z
(1)
式中:φ0,φ1,…,φp(φp≠0)為實(shí)數(shù);p為自回歸階數(shù);Xt為零均值平穩(wěn)序列;αt為隨機(jī)誤差項(xiàng),為白噪聲。
另一種為q階滑動(dòng)平均(MA)模型的公式,定義如公式(2)所示,此方程的單變量時(shí)序數(shù)據(jù)(yt,t=1,2,3,…)一般滿足下面的關(guān)系
Xt=αt-θ1αt-1-…-θqαt-q
(2)
式中:θ1,θ2,…,θq(θq≠0)為移動(dòng)平均系數(shù);q為移動(dòng)平均階數(shù);αt為隨機(jī)誤差項(xiàng),為白噪聲。
ARIMA模型的預(yù)測公式如公式(3)所示。
Xt=φ0+φ1Xt-1+…+φp(t)Xt-p+
αt-θ1αt-1-…-θqαt-q
(3)
式中:φ0,φ1,…,φp(φp≠0)為自回歸系數(shù);p為自回歸階數(shù);q為移動(dòng)平均階數(shù);θ1,θ2,…,θq(θq≠0)為移動(dòng)平均系數(shù);αt為隨機(jī)誤差項(xiàng),為白噪聲;Xt為零均值平穩(wěn)序列。
時(shí)間序列預(yù)測模型的建立,需要通過不斷地調(diào)整參數(shù)來確定最終的模型。據(jù)此,一般需要固定的評(píng)價(jià)指標(biāo)來衡量,通常會(huì)以AIC、BIC、HQIC來判斷建立模型的良好性。常用的AIC準(zhǔn)則公式如公式(4)所示,BIC準(zhǔn)則公式如公式(5)所示,HQIC準(zhǔn)則公式如公式(6)所示。
AIC=2×N-2ln(m)
(4)
BIC=ln(n)×N-2ln(m)
(5)
HQIC=ln[ln(n)]×N-2ln(m)
(6)
式中:N為模型參數(shù)個(gè)數(shù),個(gè);m為模型的最大似然函數(shù);n為樣本容量,個(gè)。
時(shí)間序列預(yù)測模型的方法步驟主要分為四步:模型識(shí)別和定階、參數(shù)估計(jì)以及模型檢驗(yàn)。
Kalman濾波在已知測量方程方差的基礎(chǔ)上,以最小均方差作為估計(jì)準(zhǔn)則,通過公式基于前一個(gè)數(shù)據(jù)和對(duì)應(yīng)的協(xié)方差來預(yù)測后一個(gè)數(shù)據(jù),根據(jù)存在測量噪聲的數(shù)據(jù),對(duì)線性系統(tǒng)的狀態(tài)方程、觀測數(shù)據(jù)、系統(tǒng)噪聲等進(jìn)行一系列變換,預(yù)估動(dòng)態(tài)系統(tǒng)方程,得到最優(yōu)估計(jì)的算法。
Kalman濾波模型主要包括狀態(tài)方程(7)和預(yù)測方程(8)。
Xk+1=AXk+Wk
(7)
Zk=CXk+Vk
(8)
式中:Xk+1為k時(shí)刻的狀態(tài)值;Zk為k時(shí)刻的系統(tǒng)測量值;A為狀態(tài)轉(zhuǎn)移矩陣;Wk為白噪聲;C為觀測矩陣;Vk為觀測噪聲。
Kalman濾波模型根據(jù)空間狀態(tài)方程來調(diào)整Kalman濾波方程,主要包含有五條基本公式。Kalman濾波的基本思想是:用最小均方差誤差作為最優(yōu)的估計(jì)準(zhǔn)則。建立模型主要有兩個(gè)步驟:迭代和預(yù)測。
假設(shè)引入了一個(gè)離散控制過程的系統(tǒng),一般先用一個(gè)線性方程公式(9)來表示,而它的系統(tǒng)觀察值公式可以用公式(10)來表示。當(dāng)要預(yù)測某一狀態(tài)時(shí),假設(shè)其狀態(tài)為k,那么狀態(tài)方程可以表示為公式(11),預(yù)測方程為公式(12)[8]。
X(k)=AX(k-1)+BU(k)+W(k)
(9)
Z(k)=HX(k)+V(k)
(10)
x(k|k-1)=Ax(k-1|k-1)+BU(k)
(11)
P(k|k-1)=AP(k-1|k-1)AT+Q
(12)
式中:A為轉(zhuǎn)移矩陣;B為控制矩陣;X(k)為k時(shí)刻的狀態(tài)向量;Z(k)是k時(shí)刻的觀測向量;V(k)是觀測噪聲隨機(jī)向量;x(k|k-1)為在k-1時(shí)刻預(yù)測k時(shí)刻的進(jìn)站客流值;x(k-1|k-1)為k-1時(shí)刻的進(jìn)站客流客流值;P為協(xié)方差矩陣;Q為觀測噪聲方程的協(xié)方差矩陣;公式(10)為系統(tǒng)的測量值方程;公式(11)是為當(dāng)前狀態(tài)的預(yù)測值,這是由一矩陣的最優(yōu)值和控制矩陣共同求得;公式(12)為協(xié)方差矩陣;U(k)為k時(shí)刻的控制變量。
接著計(jì)算此系統(tǒng)的Kalman增益如公式(13)所示,結(jié)合實(shí)際的測量結(jié)果用來修正系統(tǒng)狀態(tài)方程,如公式(14)所示,誤差協(xié)方差如公式(15)所示[9]。
K(k)=P(k|k-1)HT
×[H×P(k|k-1)HT+R]-1
(13)
x(k|k)=x(k|k-1)+K(k)×[z(k)-H×
(k|k-1)]
(14)
P(k|k)=[I-K(k)]×P(k|k-1)
(15)
式中:K為Kalman增益矩陣;P為k-l時(shí)刻的狀態(tài)協(xié)方差矩陣;H為模型狀態(tài)矩陣;R為測量噪聲的協(xié)方矩陣。
Kalman濾波的設(shè)計(jì)方法便捷,通過計(jì)算機(jī)編程即可實(shí)現(xiàn)。也正是這種便捷性,讓Kalman濾波在預(yù)測方面得以被廣泛使用。另外,它的運(yùn)用依賴于遞歸的方法和模型的自適應(yīng)性,與歷史數(shù)據(jù)無較大的聯(lián)系。
由于存在天氣、日期等因素的影響,預(yù)測結(jié)果與理想值仍有差距。Kalman濾波運(yùn)用系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì),根據(jù)自身模型的自適應(yīng)性對(duì)數(shù)據(jù)進(jìn)行預(yù)測,提高結(jié)果的精確度。
因此提出一種ARIMA-Kalman濾波混合算法的預(yù)測方法來預(yù)測進(jìn)站客流,先構(gòu)建ARIMA模型,根據(jù)模型參數(shù)和Kalman濾波方程,得到混合算法。
假設(shè)ARIMA模型寫成公式,調(diào)整其為矩陣的形式,即
(16)
結(jié)合Kalman濾波五個(gè)主要公式(9)~公式(15)、狀態(tài)方程(7)和預(yù)測方程(8),得到混合算法的預(yù)測進(jìn)站客流預(yù)測方程即公式(17)。
Z=C×X
(17)
式中:Z為觀測向量;X為狀態(tài)向量。
采用江門東站2019年的進(jìn)站客流數(shù)據(jù)對(duì)前文所述方法進(jìn)行實(shí)例驗(yàn)證。把2019年全年的進(jìn)站客流數(shù)據(jù)作為研究的樣本,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后建立客流時(shí)間序列,所建立的客流時(shí)間序列如圖1所示。
圖1 車站原始數(shù)據(jù)時(shí)間序列
對(duì)客流數(shù)據(jù)進(jìn)行平穩(wěn)化處理后,確定模型種類和階數(shù)。通過建立ARIMA預(yù)測模型,結(jié)合Kalman濾波構(gòu)建狀態(tài)空間方程,實(shí)現(xiàn)用Kalman濾波對(duì)客流量進(jìn)行預(yù)測。在此基礎(chǔ)上,將江門東站2019年前359 d的數(shù)據(jù)應(yīng)用到建立的模型上,預(yù)測后7 d的數(shù)據(jù);再用前351 d的數(shù)據(jù)應(yīng)用到模型上,預(yù)測后15 d的數(shù)據(jù)以及用前331 d的數(shù)據(jù)應(yīng)用到模型上,預(yù)測后30 d的數(shù)據(jù);對(duì)比三種預(yù)測情況,檢驗(yàn)所建立模型的良好性。研究依托大量樣本數(shù)據(jù),數(shù)據(jù)支持力度充足,具有一定的可靠性。
采用均方根誤差(Root Mean Squared Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Deviation,MAE)和平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)作為客流預(yù)測的性能度量指標(biāo),它們能反映與實(shí)際值的差距,也能反映反映測量的可信程度。因此,利用這三種判斷標(biāo)準(zhǔn)來衡量ARIMA模型和ARIMA-Kalman混合算法的良好性。比較預(yù)測得到的客流數(shù)據(jù)與實(shí)際的進(jìn)站客流數(shù)據(jù)之間的誤差,單一算法和混合算法對(duì)預(yù)測數(shù)據(jù)的檢驗(yàn)提高度,評(píng)判標(biāo)準(zhǔn)如下所示。
(18)
(19)
(20)
式中:m為客流預(yù)測日期;y為實(shí)際客流值;yi為預(yù)測得到的客流量。
對(duì)所建立的時(shí)間序列進(jìn)行單元根檢驗(yàn)。分析檢驗(yàn)結(jié)果得,P檢驗(yàn)值為1.650×10-9小于顯著值0.05,說明建立的時(shí)間序列是平穩(wěn)的。因此在本研究中未對(duì)數(shù)據(jù)進(jìn)行差分處理,即d=0。
為確定模型種類,對(duì)客流時(shí)間序列前30個(gè)自相關(guān)系數(shù)和偏自相關(guān)系數(shù)進(jìn)行計(jì)算,結(jié)果如圖2、圖3所示。由圖2、圖3可以看出,前30個(gè)自相關(guān)圖和偏自相關(guān)圖都是拖尾的,由此可確定模型為ARIMA(p,d,q)且所建序列是平穩(wěn)的。
圖2 自相關(guān)系數(shù)
圖3 偏自相關(guān)系數(shù)
僅僅從自相關(guān)圖和偏自相關(guān)圖確定模型階數(shù)是比較困難的,所以采用AIC、BIC和HQIC準(zhǔn)則來確定模型階數(shù),定階結(jié)果如表1所示。當(dāng)p=3,d=0,q=2時(shí),AIC、BIC和HQIC的值皆為最小值,確定模型為ARIMA(3,0,2)。對(duì)客流時(shí)間序列進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖4所示。
表1 模型定階結(jié)果
圖4 ARIMA模型訓(xùn)練
將建立得到的ARIMA(3,0,2)模型與Kalman濾波結(jié)合起來。通過ARIMA-Kalman混合算法對(duì)客流量進(jìn)行預(yù)測,得到ARIMA-Kalman模型與ARIMA模型預(yù)測結(jié)果對(duì)比如圖5所示。
圖5 ARIMA-Kalman模型與ARIMA模型對(duì)比
ARIMA模型和ARIMA-Kalman模型預(yù)測的絕對(duì)誤差對(duì)比圖如圖6所示。對(duì)比圖6可得知,ARIMA模型預(yù)測得到的進(jìn)站客流數(shù)據(jù)誤差波動(dòng)較大、誤差值也大,而ARIMA-Kalman混合算法得到的進(jìn)站客流預(yù)測誤差波動(dòng)較小,變化范圍基本在0~100左右。相較于ARIMA模型,ARIMA-Kalman濾波混合算法的誤差值更小。
圖6 兩種模型絕對(duì)誤差對(duì)比
計(jì)算ARIMA模型和ARIMA-Kalman模型的預(yù)測結(jié)果誤差,結(jié)果如表2所示。其均方根誤差由ARIMA模型的425.582下降至ARIMA-Kalman的168.476,降低了257.106;平均絕對(duì)誤差由ARIMA模型的311.944下降至ARIMA-Kalman的166.269,降低了145.675;平均絕對(duì)誤差百分比由ARIMA模型的10.610%下降至ARIMA-Kalman的4.955%,降低了5.655%,從表中ARIMA-Kalman混合算法三種誤差值均比ARIMA模型要小,證明了混合算法得到的預(yù)測值精確度更高。
表2 兩種模型的誤差分析結(jié)果
為檢驗(yàn)?zāi)P徒⒌牧己眯?選擇江門東站2019年前359 d的數(shù)據(jù)來運(yùn)用ARIMA(3,0,2)模型,預(yù)測得到未來7 d的進(jìn)站客流值;選擇江門東站2019年前351 d的數(shù)據(jù)來運(yùn)用ARIMA(3,0,2)模型,預(yù)測未來15 d進(jìn)站客流值;同理,選擇江門東站2019年前336 d的數(shù)據(jù)來運(yùn)用ARIMA(3,0,2)模型,預(yù)測得到未來30 d的進(jìn)站客流值,得到的預(yù)測結(jié)果,如圖7所示??梢钥闯?兩種模型預(yù)測得到的進(jìn)站客流變化與實(shí)際客流走勢基本一致。但相較于單一ARIMA模型,ARIMA-Kalman濾波混合模型預(yù)測值更貼近實(shí)際值,精確度更優(yōu)。
圖7 預(yù)測結(jié)果對(duì)比
再分別對(duì)比兩種模型分別預(yù)測未來7 d、15 d和30 d客流量的誤差值,如表3所示。表3展示的評(píng)判標(biāo)準(zhǔn)對(duì)兩種方法的比較,均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)和平均絕對(duì)百分比誤差(MAPE)能很好地反映出預(yù)測值的精確度。由表3可以看出,ARIMA-Kalman濾波混合模型在三種情況下的三種誤差值都比單一ARIMA模型的誤差值要小。由此證明混合模型能在一定程度上提高預(yù)測的精確度,且預(yù)測性能比單一ARIMA模型高。
表3 兩種模型的三種預(yù)測情況的誤差值
準(zhǔn)確的客流預(yù)測有效的保證了運(yùn)營安全,提高了運(yùn)輸效率,但客流預(yù)測過程受到多種因素的影響,有時(shí)難以得到精確的預(yù)測結(jié)果。為了提高客流預(yù)測效果,在ARIMA模型基礎(chǔ)上引入Kalman濾波降噪機(jī)理,提出了一種ARIMA-Kalman濾波混合算法。并通過江門東站2019年全年進(jìn)站客流數(shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證,實(shí)例結(jié)果分析表明,相較于單一ARIMA模型,ARIMA-Kalman濾波混合算法具有更好的預(yù)測性能,可用于進(jìn)站客流預(yù)測。