張紅斌,李 軍,陳亞茹
(1.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2.中國(guó)國(guó)家鐵路集團(tuán)有限公司 調(diào)度指揮中心,北京 100844)
安全、正點(diǎn)是我國(guó)鐵路的重要目標(biāo),而客運(yùn)列車(chē)在運(yùn)行過(guò)程中會(huì)受到外部環(huán)境、固定設(shè)備和移動(dòng)設(shè)施故障、人為操作失誤等多種因素影響,出現(xiàn)晚點(diǎn)的情況??焖佟?zhǔn)確地掌握列車(chē)的運(yùn)行狀態(tài)及未來(lái)的運(yùn)行趨勢(shì),不僅能為鐵路運(yùn)輸調(diào)度高效指揮提供保障,且有利于客運(yùn)部門(mén)及時(shí)有效地組織車(chē)站中轉(zhuǎn)客流,更能方便旅客提前規(guī)劃行程,減少大面積晚點(diǎn)導(dǎo)致的乘客滯留問(wèn)題,因此研究列車(chē)晚點(diǎn)傳播規(guī)律意義重大。
現(xiàn)階段,國(guó)內(nèi)外關(guān)于客運(yùn)列車(chē)晚點(diǎn)規(guī)律的研究方法可分為傳統(tǒng)模型法和數(shù)據(jù)驅(qū)動(dòng)模型法。傳統(tǒng)模型法主要是通過(guò)事件圖、活動(dòng)圖等傳統(tǒng)理論模型研究列車(chē)晚點(diǎn)規(guī)律[1-3]。數(shù)據(jù)驅(qū)動(dòng)模型法包含列車(chē)初始晚點(diǎn)分布研究[4-5]和晚點(diǎn)傳播規(guī)律研究,前者是通過(guò)建立高速鐵路初始晚點(diǎn)不同致因?qū)α熊?chē)數(shù)量影響的分布模型;后者主要利用機(jī)器學(xué)習(xí)、隨機(jī)森林和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Network)等方法進(jìn)行研究[6-9]。這些方法多針對(duì)單個(gè)車(chē)站而無(wú)法對(duì)所有站點(diǎn)進(jìn)行預(yù)測(cè),且由于沒(méi)有過(guò)濾大量的弱晚點(diǎn)數(shù)據(jù),干擾了模型的準(zhǔn)確率,不利于實(shí)際生產(chǎn)的應(yīng)用。本文在前人研究的基礎(chǔ)上,以2020 年北京—上海高速鐵路(簡(jiǎn)稱(chēng):京滬高鐵)列車(chē)運(yùn)行晚點(diǎn)預(yù)測(cè)為例,采用RNN 全段預(yù)測(cè)法并過(guò)濾了冗余數(shù)據(jù),驗(yàn)證了算法的有效性。
京滬高鐵由北京南站至上海虹橋站,全長(zhǎng)1 318 km,設(shè)24 個(gè)車(chē)站,設(shè)計(jì)的最高速度為380 km/h。通過(guò)分析2020 年京滬高鐵行車(chē)數(shù)據(jù),共篩選出655 559 條初始晚點(diǎn)數(shù)據(jù),其中,初始晚點(diǎn)在1~4 min 范圍內(nèi)的共有642 851 條,占比98.1%;大于4 min 的有12 708 條。鐵路部門(mén)將1~4 min 范圍內(nèi)的晚點(diǎn)視為列車(chē)運(yùn)行的正常波動(dòng),因此本文將研究的重點(diǎn)定位到大于4 min 的列車(chē)運(yùn)行初始晚點(diǎn)。
圖1 統(tǒng)計(jì)了2020 年的京滬高鐵列車(chē)運(yùn)行在發(fā)生晚點(diǎn)的情況下,在不同的停站時(shí)長(zhǎng)下,晚點(diǎn)的吸收、增加和平移的概率。從圖1 可以看出,隨著停站時(shí)間的增加,晚點(diǎn)吸收的比率在上升,平移和增加的概率在減少,因此停站時(shí)間越大,越容易吸收晚點(diǎn)。
圖1 不同停站時(shí)長(zhǎng)晚點(diǎn)吸收規(guī)律
將列車(chē)運(yùn)行初始晚點(diǎn)時(shí)間按照1~4 min、5~10 min、11~30 min 分為3 類(lèi),分別統(tǒng)計(jì)每種類(lèi)別初始晚點(diǎn)的傳播長(zhǎng)度,如圖2 所示??梢钥闯?,在初始晚點(diǎn)為1~4 min 時(shí),晚點(diǎn)傳播車(chē)站數(shù)量為2~3 個(gè);初始晚點(diǎn)為5~10 min 時(shí),傳播車(chē)站數(shù)量主要范圍在3~9 個(gè);對(duì)于較大的初始晚點(diǎn),傳播車(chē)站數(shù)量主要范圍在6~15 個(gè)。由此得出,隨著初始晚點(diǎn)時(shí)間的增加,晚點(diǎn)傳播的車(chē)站數(shù)量也在增加。
圖2 不同初始晚點(diǎn)傳播車(chē)站數(shù)箱線圖
RNN 是在普通多層反向傳播神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上,增加了隱藏層各單元間的橫向聯(lián)系,通過(guò)一個(gè)權(quán)重矩陣,可實(shí)現(xiàn)將上一個(gè)時(shí)間序列神經(jīng)單元的值傳遞至當(dāng)前的神經(jīng)單元,從而使神經(jīng)網(wǎng)絡(luò)具備了記憶功能,對(duì)于處理有上下文聯(lián)系的自然語(yǔ)言問(wèn)題或有關(guān)時(shí)間序列的機(jī)器學(xué)習(xí)問(wèn)題有較好的應(yīng)用性。
全段預(yù)測(cè)中的“全段”指的是列車(chē)晚點(diǎn)傳播的范圍,這個(gè)范圍指的是從列車(chē)發(fā)生初始晚點(diǎn)的車(chē)站至晚點(diǎn)消失車(chē)站或終到站。因此,全段預(yù)測(cè)是指對(duì)于列車(chē)晚點(diǎn)傳播范圍與傳播強(qiáng)度的預(yù)測(cè)。
2.1.1 多對(duì)多模式的RNN 模型
RNN 模型的多對(duì)多模式可分為間隔多對(duì)多和同步多對(duì)多2 種模式,如圖3 所示,水平箭頭方向?yàn)榱熊?chē)行車(chē)方向,北京南站為列車(chē)運(yùn)行初始晚點(diǎn)發(fā)生站,后續(xù)各站為晚點(diǎn)吸收/擴(kuò)散站,晚點(diǎn)項(xiàng)為到發(fā)晚點(diǎn)時(shí)間。本文在初始晚點(diǎn)段預(yù)測(cè)場(chǎng)景中,輸入的數(shù)據(jù)是初始晚點(diǎn)段所有站點(diǎn)的特征信息,要求輸出的數(shù)據(jù)是所有站點(diǎn)的正晚點(diǎn)情況,其天然的序列性符合RNN 模型的間隔多對(duì)多和同步多對(duì)多2 種模式。但間隔多對(duì)多模式下,模型無(wú)法利用列車(chē)將要運(yùn)行站點(diǎn)的特征,因此,本次建模選取具有同步多對(duì)多模式的RNN 模型作為基礎(chǔ)模型結(jié)構(gòu)。
圖3 多對(duì)多模式對(duì)比
在同步多對(duì)多RNN 模型中,所有站點(diǎn)對(duì)應(yīng)的Y值都是下一站的晚點(diǎn)項(xiàng)。實(shí)際應(yīng)用中,發(fā)生初始晚點(diǎn)后的晚點(diǎn)恢復(fù)情況是未知的、需要預(yù)測(cè)的,因此,建立模型特征序列時(shí),除初始晚點(diǎn)發(fā)生站外,其他所有站點(diǎn)的晚點(diǎn)項(xiàng)需置0 后作為特征項(xiàng)進(jìn)入模型。
2.1.2 LSTM-RNN 模型
利用RNN 模型處理時(shí)間序列數(shù)據(jù)具有先天優(yōu)勢(shì),但在長(zhǎng)序列的訓(xùn)練模式下仍存在梯度消失問(wèn)題。本文選取的2020 年京滬線高鐵列車(chē)運(yùn)行初始晚點(diǎn)段預(yù)測(cè)場(chǎng)景中,序列平均長(zhǎng)度為8 個(gè)車(chē)站,最長(zhǎng)可達(dá)22個(gè)車(chē)站。若直接使用傳統(tǒng)RNN 模型會(huì)導(dǎo)致梯度消失嚴(yán)重且模型參數(shù)更新緩慢,因此本文引入RNN 的變體結(jié)構(gòu)長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM,Long Short-Term Memory)來(lái)促使模型更好地學(xué)習(xí)長(zhǎng)期特征。
LSTM 作為一種循環(huán)神經(jīng)網(wǎng)絡(luò)的變形結(jié)構(gòu),是在普通 RNN 基礎(chǔ)上,隱藏層各神經(jīng)單元中增加記憶單元,從而使時(shí)間序列上的記憶信息可控,每次在隱藏層各單元間傳遞時(shí)通過(guò)“門(mén)”來(lái)控制丟棄/增加信息,從而實(shí)現(xiàn)遺忘或記憶的功能。
為方便描述,下文將多對(duì)多模式下的LSTMRNN 模型統(tǒng)稱(chēng)為RNN 模型。
本文采用平均絕對(duì)誤差損失(MAE,Mean Absolute Error)作為評(píng)價(jià)函數(shù)。其計(jì)算公式為
其中,y表示實(shí)際值;表示預(yù)測(cè)值。實(shí)際值與預(yù)測(cè)值之間的誤差越小,說(shuō)明模型的預(yù)測(cè)效果越好。
本文選取 SmoothL1算法作為模型的損失函數(shù)(Loss Function),公式如下
其中,x表示模型的預(yù)測(cè)值y? 與實(shí)際值y之間的差距。該算法下的梯度穩(wěn)定,不易產(chǎn)生梯度爆炸問(wèn)題。
使用Adam 優(yōu)化器,其本質(zhì)是通過(guò)一階矩估計(jì)的動(dòng)量項(xiàng)和二階矩估計(jì)的自適應(yīng)項(xiàng)對(duì)梯度和各參數(shù)的學(xué)習(xí)率進(jìn)行動(dòng)態(tài)調(diào)整。該優(yōu)化器的優(yōu)點(diǎn)在于,在偏移校正之后,確定每個(gè)迭代學(xué)習(xí)速率在固定范圍內(nèi),可減少迭代過(guò)程的震蕩,從而平滑地改變神經(jīng)網(wǎng)絡(luò)參數(shù)。
列車(chē)運(yùn)行初始晚點(diǎn)段預(yù)測(cè)模型建立步驟如下。
(1)確立目標(biāo)數(shù)據(jù)集:本次實(shí)驗(yàn)選取了2020年全年京滬高鐵列車(chē)運(yùn)行數(shù)據(jù)作為目標(biāo)數(shù)據(jù)集數(shù)據(jù)。
(2)數(shù)據(jù)清洗及篩選:針對(duì)目標(biāo)數(shù)據(jù)集進(jìn)行缺失數(shù)據(jù)補(bǔ)全、重復(fù)數(shù)據(jù)/異常數(shù)據(jù)刪除等操作。
(3)序列提取:提取初始晚點(diǎn)序列作為入模數(shù)據(jù)。
(4)特征構(gòu)建:結(jié)合列車(chē)運(yùn)行數(shù)據(jù)特點(diǎn)和運(yùn)力、時(shí)間、線路等多個(gè)角度構(gòu)建特征。
(5)數(shù)據(jù)分割:將入模數(shù)據(jù)按7:3 的比例切分為訓(xùn)練集和驗(yàn)證集。
(6)建立RNN 模型:選擇隱藏層層數(shù)及輸入層、隱藏層、輸出層神經(jīng)單元數(shù)。
(7)模型調(diào)參:設(shè)置不同的網(wǎng)絡(luò)參數(shù)和模型訓(xùn)練參數(shù),調(diào)整輸入特征,反復(fù)在驗(yàn)證集上根據(jù)評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)?zāi)P瓦M(jìn)行評(píng)估,直至找到最優(yōu)參數(shù)。
結(jié)合前文晚點(diǎn)分析及算法設(shè)計(jì),將目標(biāo)數(shù)據(jù)集數(shù)據(jù)進(jìn)行如下處理。
3.1.1 數(shù)據(jù)清洗
(1)刪除重復(fù)樣本;
(2)刪除小于3 站的行程;
(3)刪除車(chē)站名缺失的行程;
(4)刪除運(yùn)行時(shí)間或計(jì)劃時(shí)間異常的行程;
(5)刪除區(qū)間吸收異常或車(chē)站吸收異常的行程。
3.1.2 晚點(diǎn)序列提取
全段預(yù)測(cè)的序列樣本,從各個(gè)單獨(dú)的行程采集而來(lái),序列長(zhǎng)度不一,需滿(mǎn)足如下幾個(gè)條件:
(1)從初始晚點(diǎn)開(kāi)始采集,后續(xù)站一直采集到晚點(diǎn)吸收為止;
(2)序列采集的長(zhǎng)度需要在3 個(gè)站及以上;
(3)在全段預(yù)測(cè)場(chǎng)景下,只采集當(dāng)前站的特征值,后續(xù)車(chē)站的晚點(diǎn)數(shù)據(jù)設(shè)置為0。
通過(guò)序列提取,本次建模僅選取初始晚點(diǎn)在5~30 min 的序列,序列數(shù)為 4 182 個(gè)。
本文選擇Captum 工具對(duì)提取的特征進(jìn)行篩選。利用集成梯度算法,全變量模型訓(xùn)練完成后,輸入 1個(gè)批次的數(shù)據(jù)進(jìn)行前向傳播,計(jì)算此批次中每條元素的每個(gè)屬性值(特征項(xiàng)值)的積分梯度,再將批次中所有元素的積分梯度求和,當(dāng)作該屬性的集成梯度。梯度值越高,表明該屬性就越顯著。
假設(shè)常規(guī)歸因下某個(gè)屬性x有一個(gè)基線值x′,神經(jīng)網(wǎng)絡(luò)的輸出為函數(shù)f,則積分梯度(IG,Integrated Gradients)的計(jì)算公式為
上述公式是訓(xùn)練批次中單條記錄對(duì)屬性x的打分值,集成梯度是多條記錄積分梯度的加總,將所有屬性的集成梯度做歸一化,得到最終的結(jié)果,如圖4 所示。
圖4 特征值集成梯度歸一化得分
基于鐵路正晚點(diǎn)的業(yè)務(wù)場(chǎng)景,一共提取了38 項(xiàng)特征,其中,存在很多不相關(guān)或冗余項(xiàng),根據(jù)集成梯度對(duì)所有特征項(xiàng)的打分,最終選擇12 個(gè)最顯著的特征作為模型自變量,如表1 所示。
表1 12 個(gè)最顯著的特征值
本文使用pytorch 深度學(xué)習(xí)框架,將提取后的晚點(diǎn)數(shù)據(jù)按照7:3 的比例分割為訓(xùn)練集和驗(yàn)證集,進(jìn)行模型訓(xùn)練。Epoch 表示所有訓(xùn)練樣本在神經(jīng)網(wǎng)絡(luò)中都進(jìn)行了一次正向傳播和一次反向傳播。合適的Epoch 次數(shù),是神經(jīng)網(wǎng)絡(luò)能準(zhǔn)確預(yù)測(cè)的基礎(chǔ),訓(xùn)練次數(shù)過(guò)小,誤差較大;訓(xùn)練次數(shù)過(guò)大,會(huì)導(dǎo)致過(guò)擬合。
通過(guò)損失(Loss)測(cè)試和MAE 測(cè)試,在100 個(gè)Epoch 的訓(xùn)練過(guò)程中,訓(xùn)練集的Loss 和MAE 始終保持下降趨勢(shì),說(shuō)明模型擬合能力較好,如圖5 和圖6所示。
圖5 訓(xùn)練集Loss 訓(xùn)練過(guò)程
圖6 訓(xùn)練集MAE 訓(xùn)練過(guò)程
準(zhǔn)確率(ACC,Accuracy)是指模型使用驗(yàn)證集進(jìn)行驗(yàn)證預(yù)測(cè),預(yù)測(cè)結(jié)果正確(滿(mǎn)足規(guī)定的誤差)的樣本數(shù)占總樣本個(gè)數(shù)的比例。從驗(yàn)證集看,預(yù)測(cè)ACC 在21 個(gè)Epoch 時(shí)已達(dá)到最優(yōu),同時(shí)MAE 在21個(gè)Epoch 時(shí)也達(dá)到了較優(yōu)的數(shù)值,意味訓(xùn)練在21 個(gè)Epoch 時(shí),模型達(dá)到了最優(yōu),如圖7 和圖8 所示。
圖7 驗(yàn)證集MAE 訓(xùn)練過(guò)程
圖8 驗(yàn)證集ACC(誤差3 min)訓(xùn)練過(guò)程
經(jīng)大量對(duì)比試驗(yàn),本文最終設(shè)置的RNN 模型網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)及訓(xùn)練相關(guān)參數(shù)如表2 所示。
表2 模型訓(xùn)練參數(shù)
由上文可知,Epoch 為21 時(shí),驗(yàn)證集準(zhǔn)確率達(dá)到最優(yōu),因此選擇此時(shí)的模型作為表現(xiàn)最佳模型。驗(yàn)證集預(yù)測(cè)誤差在3~9 min 不同情況下的準(zhǔn)確率如表3 所示,預(yù)測(cè)平均誤差為152.2 s。
表3 驗(yàn)證集的準(zhǔn)確率
由表3 可知,按表2 參數(shù)設(shè)置模型,預(yù)測(cè)誤差在5 min 范圍內(nèi)的準(zhǔn)確率可以達(dá)到89%,能夠?qū)崿F(xiàn)京滬高鐵晚點(diǎn)時(shí)間的高精度估算。
本文通過(guò)分析京滬高鐵列車(chē)歷史運(yùn)行數(shù)據(jù),提取了時(shí)間、鐵路網(wǎng)運(yùn)力、運(yùn)行線路、歷史運(yùn)行規(guī)律等較為顯著的特征向量,在過(guò)濾弱晚點(diǎn)的基礎(chǔ)上,設(shè)計(jì)了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的全段預(yù)測(cè)方法,以期實(shí)現(xiàn)對(duì)高鐵列車(chē)的全段預(yù)測(cè)。經(jīng)驗(yàn)證,模型的準(zhǔn)確率較高,可以滿(mǎn)足實(shí)際生產(chǎn)的需要。
本文設(shè)計(jì)列車(chē)運(yùn)行晚點(diǎn)預(yù)測(cè)模型還存在不足之處,如僅給出預(yù)測(cè)的列車(chē)晚點(diǎn)時(shí)間,而未給出列車(chē)晚點(diǎn)時(shí)間對(duì)應(yīng)的概率,這是由于晚點(diǎn)預(yù)測(cè)模型選用RNN 回歸模型導(dǎo)致的。后續(xù)可嘗試將晚點(diǎn)時(shí)間當(dāng)作類(lèi)別變量建模,同時(shí)預(yù)測(cè)晚點(diǎn)時(shí)間及其發(fā)生概率。