何必勝,朱永俊,陳路鋒,聞克宇
(1.西南交通大學(xué) 交通運(yùn)輸與物流學(xué)院,四川 成都 611756;2.綜合運(yùn)輸四川省重點(diǎn)實(shí)驗(yàn)室,四川 成都 611756;3.綜合交通運(yùn)輸智能化國家地方聯(lián)合工程實(shí)驗(yàn)室,四川 成都 611756;4.電子科技大學(xué) 自動化工程學(xué)院,四川 成都 611756;5.中國鐵路經(jīng)濟(jì)規(guī)劃研究院有限公司, 北京 100038;6.西南交通大學(xué) 經(jīng)濟(jì)管理學(xué)院,四川 成都 611756)
隨著我國國民經(jīng)濟(jì)的快速發(fā)展,鐵路旅客對出行服務(wù)水平、運(yùn)輸產(chǎn)品的精細(xì)化和多樣化要求越來越高,為有效適應(yīng)客流變化,滿足“一日一圖”以及靈活編組和動態(tài)客票分配等客運(yùn)工作需求,需要獲取準(zhǔn)確的鐵路短期客流數(shù)據(jù)。但在高速鐵路(以下簡稱“高鐵”)網(wǎng)絡(luò)化、公交化開行模式下,旅客出行行為變化極大,從原來提前數(shù)天購票指定出行計劃變?yōu)楦屿`活隨機(jī)的方式。報告顯示旅客出行當(dāng)日購票比例達(dá)到50%[1],無法直接根據(jù)客票系統(tǒng)數(shù)據(jù)統(tǒng)計未來客流的變化趨勢。鐵路短期客流預(yù)測通過預(yù)測未來數(shù)日內(nèi)每天客流需求量,成為運(yùn)力資源與運(yùn)輸需求高度匹配的關(guān)鍵。高鐵車站短期客流預(yù)測是提升服務(wù)水平,提供精細(xì)化客運(yùn)服務(wù)[2]的關(guān)鍵,是鐵路運(yùn)輸部門亟待解決的問題。
鐵路車站短期客流預(yù)測[3]是典型的時間序列預(yù)測問題,已經(jīng)形成豐富的預(yù)測方法,如歷史平均(Historical Average, HA)模型、自回歸(Autoregressive, AR)模型和差分整合移動平均自回歸(Autoregressive Integrated Moving Average, ARIMA)[4]模型等參數(shù)預(yù)測方法和支持向量回歸(Support Vector Regression, SVR)模型[5]、隨機(jī)森林(Random Forest, RF)[6]等非參數(shù)方法。此外,以上模型也能與遷移學(xué)習(xí)方法[7-8]結(jié)合,應(yīng)用于鐵路客流預(yù)測中。隨著深度學(xué)習(xí)技術(shù)在各領(lǐng)域應(yīng)用中性能不斷提升,其在交通預(yù)測領(lǐng)域中也取得了飛速發(fā)展,目前廣泛應(yīng)用的基于時間序列的深度學(xué)習(xí)包括以下3類:①基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)的時序預(yù)測模型,如長短期記憶人工神經(jīng)網(wǎng)絡(luò)(LSTM)[9-10]和門控循環(huán)神經(jīng)網(wǎng)絡(luò)(Gated Recurrent Unit, GRU)[11];②基于時間序列卷積的預(yù)測模型(Temporal Convolutional Network, TCN);③結(jié)合注意力機(jī)制的預(yù)測模型,如Qin等[12]提出的基于注意力的雙階段遞歸神經(jīng)網(wǎng)絡(luò)(Dual-stage Attention-based Recurrent Neural Network, DA-RNN)。
以上3類方法都以挖掘時間序列特征為主,忽略交通預(yù)測問題中的空間關(guān)聯(lián)性。圖卷積網(wǎng)絡(luò)(Graph Convolutional Network, GCN)作為一種新興的模型,可以同時學(xué)習(xí)節(jié)點(diǎn)特征信息與圖結(jié)構(gòu)信息,能很好的把握空間拓?fù)浣Y(jié)構(gòu),預(yù)測復(fù)雜路網(wǎng)。Zhao等[13]提出的TGCN模型、Yu等[14]提出的STGCN模型和Guo等[15]提出的ASTGCN模型,均是用GCN捕捉空間拓?fù)浣Y(jié)構(gòu),用RNN或卷積實(shí)現(xiàn)時間序列的預(yù)測。目前GCN在交通領(lǐng)域一般應(yīng)用于道路網(wǎng)絡(luò)。鐵路運(yùn)輸與道路運(yùn)輸不同,鐵路是在物理網(wǎng)路的基礎(chǔ)上,通過提供不同類型列車服務(wù)實(shí)現(xiàn)旅客出行。鐵路開行方案的特性會很大程度上影響旅客出行。同時,鐵路路網(wǎng)中不同車站之間的相互關(guān)聯(lián)性也會影響客流變化。因此,當(dāng)GCN運(yùn)用到鐵路運(yùn)輸領(lǐng)域時,需要在考慮物理網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接結(jié)構(gòu)基礎(chǔ)上,引用更多的節(jié)點(diǎn)間關(guān)系矩陣,充分體現(xiàn)空間和時間的關(guān)聯(lián)性。
本文以鐵路服務(wù)為抓手,引入關(guān)系圖卷積網(wǎng)絡(luò)(Relational Graph Convolutional Network, R-GCN)[16]以更好的抓取節(jié)點(diǎn)之間空間關(guān)聯(lián)性,并運(yùn)用注意力機(jī)制,挖掘時間關(guān)聯(lián)性,綜合以上技術(shù)提出STGNN模型對鐵路車站短期客流進(jìn)行預(yù)測。采用京滬高鐵實(shí)際數(shù)據(jù)作為測試對象,通過與相關(guān)方法對比,證明模型的預(yù)測精度存在提升,預(yù)測方法有效。
首先分析鐵路路網(wǎng)中的空間關(guān)系,在此基礎(chǔ)上,定義基于STGNN的高鐵車站短期客流預(yù)測問題,從網(wǎng)絡(luò)結(jié)構(gòu)、空間卷積和時間注意力3方面,詳細(xì)介紹STGNN。
鐵路運(yùn)輸與道路交通在實(shí)際運(yùn)輸組織中存在區(qū)別。道路交通具備流體特征,可描述為連續(xù)網(wǎng)絡(luò),相鄰道路之間的交通流量相關(guān)度高,可采用物理道路的鄰接矩陣表示不同道路之間的聯(lián)系。而鐵路旅客出行受到列車開行方案(也就是鐵路旅客服務(wù)產(chǎn)品)的起訖點(diǎn)、停站方案、編組和開行頻率等因素的影響。同時,道路交通的流量分散到道路系統(tǒng)沿線,而鐵路的客流都匯聚于車站,車站之間的客流存在著相關(guān)性和相似性。單純的物理鄰接矩陣網(wǎng)絡(luò)無法描述以上特性,本文借鑒圖神經(jīng)網(wǎng)絡(luò)中的R-GCN方法,充分挖掘鐵路服務(wù)網(wǎng)絡(luò)[17]和車站相關(guān)性等特征,分析鐵路路網(wǎng)中的3種關(guān)系:物理網(wǎng)絡(luò)關(guān)系、服務(wù)網(wǎng)絡(luò)關(guān)系和車站關(guān)系。鐵路物理網(wǎng)絡(luò)與服務(wù)網(wǎng)絡(luò)對比見圖1。
圖1 鐵路物理網(wǎng)絡(luò)與服務(wù)網(wǎng)絡(luò)對比
(1)鐵路物理網(wǎng)絡(luò)關(guān)系
G為鐵路物理網(wǎng)絡(luò),G=(S,E);S為車站集合,i、j為車站,i、j∈S={0,1,2,…,∣S∣};E為區(qū)間集合,e為區(qū)間,e=(i,j)∈E。網(wǎng)絡(luò)連接關(guān)系定義為
( 1 )
式中:ei,j為物理網(wǎng)絡(luò)的邊。
據(jù)此構(gòu)建圖1(a)鄰接矩陣為
( 2 )
(2)鐵路服務(wù)網(wǎng)絡(luò)關(guān)系
對比圖1(a)物理網(wǎng)絡(luò)和圖1(b)服務(wù)網(wǎng)絡(luò),通過列車停站方案,部分車站在物理上并不直接連接,但在服務(wù)網(wǎng)絡(luò)上直接連接。由圖1(b)可知,車站A與E在物理網(wǎng)絡(luò)中,距離最遠(yuǎn),相關(guān)性最差。而在服務(wù)網(wǎng)絡(luò)中,由于存在直達(dá)服務(wù),車站A與E變?yōu)猷徑印hF路車站客流量的相關(guān)性并不完全取決于空間距離,還取決于列車開行方案,物理距離較遠(yuǎn)的兩站之間依然可能存在較強(qiáng)的關(guān)聯(lián)性。因此,在物理網(wǎng)絡(luò)基礎(chǔ)上,綜合考慮鐵路歷史列車開行方案,將開行線路分解為服務(wù)弧,為描述物理網(wǎng)絡(luò)上所缺失的空間相關(guān)性,基于服務(wù)弧構(gòu)建鐵路服務(wù)網(wǎng)絡(luò)關(guān)系矩陣Rs。服務(wù)弧可定義為
( 3 )
式中:A為服務(wù)弧集;ai,j為服務(wù)弧,a=(i,j)∈A。
根據(jù)式(3),圖1(b)中服務(wù)網(wǎng)絡(luò)對應(yīng)矩陣為
( 4 )
(3)車站關(guān)系
( 5 )
( 6 )
預(yù)測時間粒度為一天,預(yù)測模型Y為
Y=f(Rp,Rs,Rst;X)
( 7 )
路網(wǎng)客流量為
X=(X1,X2,…,Xt,…,XT)
( 8 )
( 9 )
(10)
(11)
Y= (YT+1,YT+2,…,YT+τ)
(12)
式中:τ為預(yù)測步長(未來天數(shù));Yt′為某一步t′ ∈ (T,T+τ]的到發(fā)客流預(yù)測結(jié)果。Y為步長τ以內(nèi)的預(yù)測時間序列結(jié)果矩陣。
通過式(7)中映射關(guān)系f將所有車站歷史時間序列X和鐵路空間關(guān)系網(wǎng)絡(luò)結(jié)合起來,實(shí)現(xiàn)對預(yù)測時間序列Y的預(yù)測工作。
本文在DA-RNN基礎(chǔ)上,提出STGNN模型,結(jié)構(gòu)框架見圖2。構(gòu)造空間卷積模塊(Spatial Convolution Module)以更好的抓取節(jié)點(diǎn)之間空間關(guān)聯(lián)性,并在空間卷積層引入R-GCN實(shí)現(xiàn)多圖融合。在時間注意力模塊(Temporal Attention Module)中使用多層LSTM,以此進(jìn)行客流短周期預(yù)測,將歷史時間序列X通過圖中的結(jié)構(gòu),也就是映射關(guān)系轉(zhuǎn)化為預(yù)測時間序列Y。
(1)空間卷積模塊
本文所提出的空間卷積操作參考R-GCN,綜合考慮車站之間不同類型的連接關(guān)系,在物理網(wǎng)絡(luò)基礎(chǔ)上,增加服務(wù)網(wǎng)絡(luò)和車站關(guān)系矩陣,通過這3種類型的圖卷積,把握空間特征??臻g卷積層的結(jié)構(gòu)見圖3。
圖2 STGNN結(jié)構(gòu)框架
圖3 空間卷積層及其卷積計算過程
當(dāng)歷史數(shù)據(jù)X=(X1,X2,…,XT)輸入網(wǎng)絡(luò)后。將某一時刻的客流量Xt分配到相應(yīng)的∣S∣個車站節(jié)點(diǎn)上,分別進(jìn)行3個網(wǎng)絡(luò)關(guān)系的圖卷積過程,再對結(jié)果進(jìn)行融合,得到ht。
圖3描述的空間卷積過程為
(13)
(14)
(15)
(16)
(2)時間注意力模塊
因?yàn)槎嗖筋A(yù)測會放大誤差導(dǎo)致結(jié)果惡化,所以通過編碼器得到空間卷積輸出的h=(h1,h2,…,hT)后,需要利用一個多層LSTM進(jìn)行時間注意力的處理。
將空間卷積輸出值和隱藏狀態(tài)拼接,經(jīng)過激活函數(shù)tanh計算出初始重要度數(shù)值,即
(17)
將初始重要度數(shù)值經(jīng)過Softmax處理,得到時間重要度,即
(18)
將得到的重要度與ht相乘,得到h內(nèi)所有時間段的重要度,用上下文向量表示,即
(19)
得到上下文向量ct′后,就可以將其與上一層LSTM的輸出結(jié)合,得到具有時間重要度的新輸入,即
(20)
得到具有時間重要度的輸入后,將其輸入到LSTM單元中,LSTM的結(jié)構(gòu)見圖4,逐層得到多步預(yù)測結(jié)果,LSTM的一次更新過程為
(21)
(22)
(23)
dt′=o′t′⊙tanh(s′t′)
(25)
式中:Wf′ 、Wi′ 、Wo′、Ws′ 為需要學(xué)習(xí)的權(quán)重;bf′ 、bi′ 、bo′、bs′為需要學(xué)習(xí)的偏置值;σ為激活函數(shù)。
LSTM的輸出值dt′經(jīng)過全連接層后,得到了此時刻的預(yù)測值Yt′為
Yt′=Linear(dt′)
(26)
經(jīng)過多層LSTM的處理,最終得到每一步的預(yù)測值,即
Y={Yt′|t′∈(T,T+τ]}
(27)
圖4 時間注意力模塊LSTM結(jié)構(gòu)
選取京滬高鐵網(wǎng)絡(luò)2016年1月1日到2019年3月25日的客流數(shù)據(jù),首先獲取站間客流數(shù)據(jù),構(gòu)建車站關(guān)系,經(jīng)處理后的共計1 180條數(shù)據(jù),每條數(shù)據(jù)包含當(dāng)天日期以及24個車站的日到發(fā)客流量。并通過查找此時間段內(nèi)京滬高鐵的列車開行方案,構(gòu)建服務(wù)網(wǎng)絡(luò)關(guān)系。截取原始數(shù)據(jù)的前70%為訓(xùn)練集,后30%為測試集,可以用兩年以上的數(shù)據(jù)預(yù)測余下數(shù)據(jù),有效抓取鐵路的客流量以年為單位呈現(xiàn)周期性波動的情況。由于客流量波動較大,且各站的客流量大小不均衡,所以在實(shí)驗(yàn)中的數(shù)據(jù)均需經(jīng)過歸一化處理,使其在(-1,1)范圍內(nèi),以消除數(shù)據(jù)的不均衡性,加快收斂速度,縮短訓(xùn)練時間。
以Python語言和Pytorch為開發(fā)平臺,使用Numpy、Pandas和Sklearn等庫。綜合考慮各車站客流序列的自相關(guān)系數(shù)和模型訓(xùn)練時間,取時間窗口T=10,預(yù)測步長τ=1、5、10 d分析方案在多步預(yù)測下的表現(xiàn)。
為了直觀展現(xiàn)STGNN模型的實(shí)際效果,需選取常見的預(yù)測模型作為對比。
(1)RF。對最重要的兩個參數(shù):決策樹個數(shù)和最大深度進(jìn)行網(wǎng)格搜索,確定最佳參數(shù)。
(2)SVR。對于算法中的內(nèi)核類型(Kernel)和不敏感區(qū)間(Epsilon)進(jìn)行網(wǎng)格搜索,確定最佳參數(shù)。
(3)LSTM。隱藏神經(jīng)元個數(shù)取50,損失函數(shù)選擇Mse,優(yōu)化器選擇Adam,Epochs值為100。
(4)GRU。各項(xiàng)參數(shù)同LSTM的設(shè)置。
(5)DA-RNN。同類參數(shù)同STGNN的設(shè)置。
(6)STGNN-p。與STGNN采用相同的結(jié)構(gòu)和參數(shù),區(qū)別在于其在空間卷積模塊中僅考慮物理網(wǎng)絡(luò)。
評價指標(biāo)能直觀展示模型預(yù)測結(jié)果的好壞,單一的指標(biāo)可能無法對模型進(jìn)行全面評估,因此選擇兩種不同的指標(biāo),分別從數(shù)值偏移量和預(yù)測準(zhǔn)確程度兩個層面評估預(yù)測結(jié)果。
(1)均方根誤差RMSE:預(yù)測值與真實(shí)值偏差的平方與檢驗(yàn)樣本數(shù)k比值的平方根,能很好的衡量觀測值同真實(shí)值之間的偏差,越小則模型越優(yōu)。
(2)平均絕對百分比誤差MAPE:能很好的衡量預(yù)測值與真實(shí)值的偏離程度與模型的精度,一般不超過15%,如果超過則認(rèn)為預(yù)測效果不佳。
首先運(yùn)用參數(shù)對比法,分析不同參數(shù)下的模型表現(xiàn)。通過實(shí)驗(yàn)確定,在時間注意力模塊中,LSTM的隱藏層數(shù)取128。模型的優(yōu)化器為Adam,損失函數(shù)為mse,激活函數(shù)為tanh。為了提高訓(xùn)練效率,batchsize取值為128,學(xué)習(xí)率為0.001,Epochs取100。為了證明在該參數(shù)下模型訓(xùn)練結(jié)果較好,針對單步預(yù)測過程,保持其他參數(shù)不變,分別修改學(xué)習(xí)率為0.01,優(yōu)化器為RMSProp、激活函數(shù)為Sigmoid,對模型進(jìn)行訓(xùn)練,以上訓(xùn)練過程中損失函數(shù)的變化見圖5。由圖5可知,所選參數(shù)訓(xùn)練出的模型在訓(xùn)練集和測試集上都取得較好收斂,測試集損失函數(shù)大概在前50個Epochs處于欠擬合狀態(tài)(黃色曲線),大概在后50個Epochs處于收斂狀態(tài)(綠色曲線)。對比不同參數(shù)下?lián)p失函數(shù)的變化情況,證明所選參數(shù)是較優(yōu)的,損失函數(shù)下降平穩(wěn),而且在Epochs達(dá)到50左右能收斂,沒有出現(xiàn)測試集損失函數(shù)上升的過擬合現(xiàn)象。
圖5 STGNN模型一步預(yù)測過程不同參數(shù)的損失函數(shù)變化對比
下面進(jìn)一步對比模型分析結(jié)果,京滬高鐵沿線全部24個車站的預(yù)測結(jié)果見表1。對比可知,隨機(jī)森林和SVR這類傳統(tǒng)的機(jī)器學(xué)習(xí)方法結(jié)果優(yōu)于LSTM和GRU這類基于RNN的序列預(yù)測的方法,但是,在加入時間注意力后的DA-RNN將預(yù)測精度明顯提升,特別是在五步和十步的預(yù)測中,都明顯好于以上方法,說明時間關(guān)聯(lián)度的作用。
表1 全網(wǎng)車站客流量預(yù)測結(jié)果
而圖神經(jīng)網(wǎng)絡(luò)的方法進(jìn)一步加入了空間關(guān)聯(lián)度,在單步預(yù)測中,STGNN依然取得了較好的效果,較DA-RNN的MAPE減少1.10%,在五步預(yù)測和十步預(yù)測中,相較DA-RNN的MAPE分別下降了1.04%和0.73%。在單步和五步預(yù)測中,STGNN的預(yù)測結(jié)果均優(yōu)于STGNN-p,在十步預(yù)測中,STGNN-p的預(yù)測結(jié)果最優(yōu)。
京滬24個車站在一、五和十步預(yù)測下的MAPE及每天平均到發(fā)量見圖6。
圖6 京滬車站一、五、十步長預(yù)測結(jié)果對比
由圖6可知,在一步預(yù)測時,北京南、濟(jì)南西、南京南和上海虹橋等高等級的車站的MAPE都達(dá)到8%以下,表明其預(yù)測精度很高。天津南、廊坊、丹陽北等日均人數(shù)在50 000以下的車站,在五步和十步預(yù)測中,預(yù)測精度均出現(xiàn)下降,但是仍呈現(xiàn)出車站等級引起的預(yù)測結(jié)果差異。高等級車站的客流需求更多,工作內(nèi)容更復(fù)雜,還需要與其他運(yùn)輸方式協(xié)調(diào),因此,該類型車站的精度較高意義更高。
上海虹橋站客流預(yù)測結(jié)果見表2。
表2 上海虹橋客流量預(yù)測結(jié)果
對比表1和表2的數(shù)據(jù),各種方法都有明顯提升,但是方法的對比表現(xiàn)上與整體路網(wǎng)的表現(xiàn)是一致的。而且,STGNN在單步、五步和十步的預(yù)測中,預(yù)測精度都是最高的,單步預(yù)測的MAPE更是達(dá)到6.38%,十步的預(yù)測也控制在10.0%。進(jìn)一步,上海虹橋客運(yùn)站在測試集上,LSTM、DA-RNN和STGNN的一步預(yù)測對比效果見圖7,從變化趨勢上,更好的體現(xiàn)出STGNN的優(yōu)勢性。
圖7 上海虹橋站客流預(yù)測結(jié)果
本文引入R-GCN與時間注意力機(jī)制,建立STGNN預(yù)測模型。在空間卷積模塊中利用關(guān)系圖卷積提取物理網(wǎng)絡(luò)關(guān)系、服務(wù)網(wǎng)絡(luò)關(guān)系和車站關(guān)系等空間特征,再利用時間注意力模塊中的多層LSTM獲取時間依賴。對京滬高鐵沿途車站的到發(fā)客流進(jìn)行預(yù)測后,與其他模型對比的結(jié)果表明,在路網(wǎng)層面,與LSTM結(jié)合能大大改善預(yù)測效果,空間卷積模塊的加入更是明顯提升預(yù)測精度,顯示本文關(guān)系圖卷積與時間注意力機(jī)制的作用。單站的預(yù)測結(jié)果分析表明,本文方法對于客流更高的車站的預(yù)測效果更高,特別是在虹橋取得單步MAPE達(dá)到6.48%,多步也都在10%以下的優(yōu)異表現(xiàn)。下一步研究可以考慮鐵路客流以周為單元的時間特性,以及路網(wǎng)空間動態(tài)性特征等,以進(jìn)一步提升預(yù)測效果,更好服務(wù)精細(xì)化的高速鐵路運(yùn)輸組織工作。