張紅斌,李 軍,陳亞茹
(1.中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081;2.中國國家鐵路集團有限公司 調度指揮中心,北京 100844)
安全、正點是我國鐵路的重要目標,而客運列車在運行過程中會受到外部環境、固定設備和移動設施故障、人為操作失誤等多種因素影響,出現晚點的情況??焖佟蚀_地掌握列車的運行狀態及未來的運行趨勢,不僅能為鐵路運輸調度高效指揮提供保障,且有利于客運部門及時有效地組織車站中轉客流,更能方便旅客提前規劃行程,減少大面積晚點導致的乘客滯留問題,因此研究列車晚點傳播規律意義重大。
現階段,國內外關于客運列車晚點規律的研究方法可分為傳統模型法和數據驅動模型法。傳統模型法主要是通過事件圖、活動圖等傳統理論模型研究列車晚點規律[1-3]。數據驅動模型法包含列車初始晚點分布研究[4-5]和晚點傳播規律研究,前者是通過建立高速鐵路初始晚點不同致因對列車數量影響的分布模型;后者主要利用機器學習、隨機森林和循環神經網絡(RNN,Recurrent Neural Network)等方法進行研究[6-9]。這些方法多針對單個車站而無法對所有站點進行預測,且由于沒有過濾大量的弱晚點數據,干擾了模型的準確率,不利于實際生產的應用。本文在前人研究的基礎上,以2020 年北京—上海高速鐵路(簡稱:京滬高鐵)列車運行晚點預測為例,采用RNN 全段預測法并過濾了冗余數據,驗證了算法的有效性。
京滬高鐵由北京南站至上海虹橋站,全長1 318 km,設24 個車站,設計的最高速度為380 km/h。通過分析2020 年京滬高鐵行車數據,共篩選出655 559 條初始晚點數據,其中,初始晚點在1~4 min 范圍內的共有642 851 條,占比98.1%;大于4 min 的有12 708 條。鐵路部門將1~4 min 范圍內的晚點視為列車運行的正常波動,因此本文將研究的重點定位到大于4 min 的列車運行初始晚點。
圖1 統計了2020 年的京滬高鐵列車運行在發生晚點的情況下,在不同的停站時長下,晚點的吸收、增加和平移的概率。從圖1 可以看出,隨著停站時間的增加,晚點吸收的比率在上升,平移和增加的概率在減少,因此停站時間越大,越容易吸收晚點。

圖1 不同停站時長晚點吸收規律
將列車運行初始晚點時間按照1~4 min、5~10 min、11~30 min 分為3 類,分別統計每種類別初始晚點的傳播長度,如圖2 所示。可以看出,在初始晚點為1~4 min 時,晚點傳播車站數量為2~3 個;初始晚點為5~10 min 時,傳播車站數量主要范圍在3~9 個;對于較大的初始晚點,傳播車站數量主要范圍在6~15 個。由此得出,隨著初始晚點時間的增加,晚點傳播的車站數量也在增加。

圖2 不同初始晚點傳播車站數箱線圖
RNN 是在普通多層反向傳播神經網絡基礎上,增加了隱藏層各單元間的橫向聯系,通過一個權重矩陣,可實現將上一個時間序列神經單元的值傳遞至當前的神經單元,從而使神經網絡具備了記憶功能,對于處理有上下文聯系的自然語言問題或有關時間序列的機器學習問題有較好的應用性。
全段預測中的“全段”指的是列車晚點傳播的范圍,這個范圍指的是從列車發生初始晚點的車站至晚點消失車站或終到站。因此,全段預測是指對于列車晚點傳播范圍與傳播強度的預測。
2.1.1 多對多模式的RNN 模型
RNN 模型的多對多模式可分為間隔多對多和同步多對多2 種模式,如圖3 所示,水平箭頭方向為列車行車方向,北京南站為列車運行初始晚點發生站,后續各站為晚點吸收/擴散站,晚點項為到發晚點時間。本文在初始晚點段預測場景中,輸入的數據是初始晚點段所有站點的特征信息,要求輸出的數據是所有站點的正晚點情況,其天然的序列性符合RNN 模型的間隔多對多和同步多對多2 種模式。但間隔多對多模式下,模型無法利用列車將要運行站點的特征,因此,本次建模選取具有同步多對多模式的RNN 模型作為基礎模型結構。

圖3 多對多模式對比
在同步多對多RNN 模型中,所有站點對應的Y值都是下一站的晚點項。實際應用中,發生初始晚點后的晚點恢復情況是未知的、需要預測的,因此,建立模型特征序列時,除初始晚點發生站外,其他所有站點的晚點項需置0 后作為特征項進入模型。
2.1.2 LSTM-RNN 模型
利用RNN 模型處理時間序列數據具有先天優勢,但在長序列的訓練模式下仍存在梯度消失問題。本文選取的2020 年京滬線高鐵列車運行初始晚點段預測場景中,序列平均長度為8 個車站,最長可達22個車站。若直接使用傳統RNN 模型會導致梯度消失嚴重且模型參數更新緩慢,因此本文引入RNN 的變體結構長短期記憶網絡(LSTM,Long Short-Term Memory)來促使模型更好地學習長期特征。
LSTM 作為一種循環神經網絡的變形結構,是在普通 RNN 基礎上,隱藏層各神經單元中增加記憶單元,從而使時間序列上的記憶信息可控,每次在隱藏層各單元間傳遞時通過“門”來控制丟棄/增加信息,從而實現遺忘或記憶的功能。
為方便描述,下文將多對多模式下的LSTMRNN 模型統稱為RNN 模型。
本文采用平均絕對誤差損失(MAE,Mean Absolute Error)作為評價函數。其計算公式為

其中,y表示實際值;表示預測值。實際值與預測值之間的誤差越小,說明模型的預測效果越好。
本文選取 SmoothL1算法作為模型的損失函數(Loss Function),公式如下

其中,x表示模型的預測值y? 與實際值y之間的差距。該算法下的梯度穩定,不易產生梯度爆炸問題。
使用Adam 優化器,其本質是通過一階矩估計的動量項和二階矩估計的自適應項對梯度和各參數的學習率進行動態調整。該優化器的優點在于,在偏移校正之后,確定每個迭代學習速率在固定范圍內,可減少迭代過程的震蕩,從而平滑地改變神經網絡參數。
列車運行初始晚點段預測模型建立步驟如下。
(1)確立目標數據集:本次實驗選取了2020年全年京滬高鐵列車運行數據作為目標數據集數據。
(2)數據清洗及篩選:針對目標數據集進行缺失數據補全、重復數據/異常數據刪除等操作。
(3)序列提?。禾崛〕跏纪睃c序列作為入模數據。
(4)特征構建:結合列車運行數據特點和運力、時間、線路等多個角度構建特征。
(5)數據分割:將入模數據按7:3 的比例切分為訓練集和驗證集。
(6)建立RNN 模型:選擇隱藏層層數及輸入層、隱藏層、輸出層神經單元數。
(7)模型調參:設置不同的網絡參數和模型訓練參數,調整輸入特征,反復在驗證集上根據評價指標對實驗模型進行評估,直至找到最優參數。
結合前文晚點分析及算法設計,將目標數據集數據進行如下處理。
3.1.1 數據清洗
(1)刪除重復樣本;
(2)刪除小于3 站的行程;
(3)刪除車站名缺失的行程;
(4)刪除運行時間或計劃時間異常的行程;
(5)刪除區間吸收異?;蜍囌疚债惓5男谐?。
3.1.2 晚點序列提取
全段預測的序列樣本,從各個單獨的行程采集而來,序列長度不一,需滿足如下幾個條件:
(1)從初始晚點開始采集,后續站一直采集到晚點吸收為止;
(2)序列采集的長度需要在3 個站及以上;
(3)在全段預測場景下,只采集當前站的特征值,后續車站的晚點數據設置為0。
通過序列提取,本次建模僅選取初始晚點在5~30 min 的序列,序列數為 4 182 個。
本文選擇Captum 工具對提取的特征進行篩選。利用集成梯度算法,全變量模型訓練完成后,輸入 1個批次的數據進行前向傳播,計算此批次中每條元素的每個屬性值(特征項值)的積分梯度,再將批次中所有元素的積分梯度求和,當作該屬性的集成梯度。梯度值越高,表明該屬性就越顯著。
假設常規歸因下某個屬性x有一個基線值x′,神經網絡的輸出為函數f,則積分梯度(IG,Integrated Gradients)的計算公式為

上述公式是訓練批次中單條記錄對屬性x的打分值,集成梯度是多條記錄積分梯度的加總,將所有屬性的集成梯度做歸一化,得到最終的結果,如圖4 所示。

圖4 特征值集成梯度歸一化得分
基于鐵路正晚點的業務場景,一共提取了38 項特征,其中,存在很多不相關或冗余項,根據集成梯度對所有特征項的打分,最終選擇12 個最顯著的特征作為模型自變量,如表1 所示。

表1 12 個最顯著的特征值
本文使用pytorch 深度學習框架,將提取后的晚點數據按照7:3 的比例分割為訓練集和驗證集,進行模型訓練。Epoch 表示所有訓練樣本在神經網絡中都進行了一次正向傳播和一次反向傳播。合適的Epoch 次數,是神經網絡能準確預測的基礎,訓練次數過小,誤差較大;訓練次數過大,會導致過擬合。
通過損失(Loss)測試和MAE 測試,在100 個Epoch 的訓練過程中,訓練集的Loss 和MAE 始終保持下降趨勢,說明模型擬合能力較好,如圖5 和圖6所示。

圖5 訓練集Loss 訓練過程

圖6 訓練集MAE 訓練過程
準確率(ACC,Accuracy)是指模型使用驗證集進行驗證預測,預測結果正確(滿足規定的誤差)的樣本數占總樣本個數的比例。從驗證集看,預測ACC 在21 個Epoch 時已達到最優,同時MAE 在21個Epoch 時也達到了較優的數值,意味訓練在21 個Epoch 時,模型達到了最優,如圖7 和圖8 所示。

圖7 驗證集MAE 訓練過程

圖8 驗證集ACC(誤差3 min)訓練過程
經大量對比試驗,本文最終設置的RNN 模型網絡結構參數及訓練相關參數如表2 所示。

表2 模型訓練參數
由上文可知,Epoch 為21 時,驗證集準確率達到最優,因此選擇此時的模型作為表現最佳模型。驗證集預測誤差在3~9 min 不同情況下的準確率如表3 所示,預測平均誤差為152.2 s。

表3 驗證集的準確率
由表3 可知,按表2 參數設置模型,預測誤差在5 min 范圍內的準確率可以達到89%,能夠實現京滬高鐵晚點時間的高精度估算。
本文通過分析京滬高鐵列車歷史運行數據,提取了時間、鐵路網運力、運行線路、歷史運行規律等較為顯著的特征向量,在過濾弱晚點的基礎上,設計了基于循環神經網絡的全段預測方法,以期實現對高鐵列車的全段預測。經驗證,模型的準確率較高,可以滿足實際生產的需要。
本文設計列車運行晚點預測模型還存在不足之處,如僅給出預測的列車晚點時間,而未給出列車晚點時間對應的概率,這是由于晚點預測模型選用RNN 回歸模型導致的。后續可嘗試將晚點時間當作類別變量建模,同時預測晚點時間及其發生概率。