鄧 蘄,董寶田
(北京交通大學 交通運輸學院,北京 100044)
鐵路貨物運輸本質上是鐵路為顧客提供的對于貨物的位移服務。隨著經濟發展和社會需求不斷增加,市場對鐵路貨物運輸提出了更高的要求。如何從接受貨物開始將貨物更安全、更快速、更準時地送到目的地,已經成為鐵路行業在貨物運輸市場中必不可少的一個考量因素。
梁棟[1]在原有的貨物運輸組織基礎上構建了時空隧道圖,基于車輛在每個技術站的作業需求,對作業流程進行了預估并預測了運輸時間;李瑋[2]分析了貨物在運輸途中的主要時間分布,并據此對最終的運達時限做出了預測;李夏苗[3]通過分析貨物到達時間數據集,列出了鐵路貨物運輸送達時間的回歸方程,并做出優化;賈玉衛[4]將可靠性理論應用到鐵路貨物送達時間預測中,得到鐵路運輸過程的時間分布函數,建立了可靠性評價體系,提出保障時間可靠性的方法。
目前,貨物運達時間的主要研究方向是從現有運達時限的基礎上出發,提出保障運達時限的具體措施或構建優化組織的模型,但涉及到車輛的某些具體特征(裝載的貨物種類、車次等)時,現有算法都將車輛進行了無差別處理,導致在一定程度上對車輛具體運達時間的預測出現偏差[5-6]。在這種情況下,本文基于隨機森林算法,結合鐵路貨物運輸組織過程,將運輸路徑上的起始站、技術站做為節點,根據貨物相關信息,將其各種屬性轉化為特征值加入到運達時間預測中,從而預測貨物終到時間,并根據實時運行情況在每一個技術站都重新計算貨物終到時間,以求得到最新的貨物終到時間。
在鐵路的日常貨物調度中,調度人員都是根據貨物的距離、種類、數量等信息,以自己的經驗來預測貨物到站時間。僅根據個人經驗來判斷,不夠科學和精確,無法對設備工作能力和線路的通過能力進行最大化的利用。貨物運達時限的準確預測能讓調度人員更加明確鐵路貨物運輸所需時長以及即將到達的貨物流信息,從而更好的對整個物流有全局的認識,也方便調度人員安排調度計劃和編組計劃,擴大鐵路運輸量[7]。由此可見,更準確地預測鐵路貨物運達時間不僅對客戶有益,也利于提升鐵路自身效益和員工工作效率。
鐵路貨物運輸過程中有較多作業流程,因此會有較多因素影響鐵路貨物運達時間的預測,如工作人員進行工作的時間、線路的選擇、等待配軸配長的時間等。從數據分析角度來看,具有相同的特征的貨物流,從始發站到終點站的時間也是發散的,導致運達時間的預測較為困難。基于隨機森林算法對鐵路貨物運達時間預測會遇到以下難點:
(1)車流路徑不確定,部分貨物在線路上可能會離開選定的目標線路去向別的線路,而后在線路的某一段又回到目標線路上;
(2)貨物的優先級不同,導致在其他特征相同的情況下,最后到達終點站的時間也不同;
(3)調度人員水平不同,各站工作人員工作效率也不同;
(4)鐵路特征向量的種類較多,導致維度較多,在機器學習構建決策樹時更為復雜,計算所需花費的時間更長。
隨機森林是一種集成的統計學習分類和回歸算法,針對不同特征,組合多個決策樹對相同現象產生相似的預測結果,在隨機森林回歸的過程中,其輸出值為隨機森林中所有決策樹結果的平均值,隨機森林回歸模型的核心在于根據特征建立多棵回歸決策樹。
本文將鐵路貨物運達時限的影響因素,如車輛類型、始發站、終到站等作為輸入的特征向量,用貨物運達時間點作為預測結果,通過訓練樣本進行擬合得到預測模型,具體步驟如下:
(1)車輛i到達終點站的報文時長為yi,將報文中可能對運達時間有影響的因素(報文ID、車次、車次ID,車輛在始發站、中間站、終點站的時間)作為特征向量,車輛i的特征向量xi~{Ii1,Ii2,···,Iin},其中,Iin表示車輛i在預測期間的第n個影響因素。
(2)建立單顆回歸決策樹,對x和y進行搜索,將整個向量空間依據回歸樹劃分為m個分區{R1,R2,···,Rm},對于其中任意分區可以映射為時間集合cm,該分區通過分裂得到R1(j,s) 和R2(j,s)兩個部分:

其中,j表示變量類型,即鐵路貨物運達時限的一個影響因素;s表示進行分裂時每個分區劃分對應特征向量的值。
時長方差z公式如下:

其中,c1是第1 部分車輛到達終點站的實際值的平均值;c2是其余車輛到達終點站的實際值的平均值。
為了在一定程度上減少計算量,提升運算效率,本文對決策樹的層數進行控制,設置分裂效果較好的特征向量在第4 層時停止分裂,從而提升決策樹的效率。
(3)構建整個隨機森林,從n個初始數據樣本中有放回的抽樣m個樣本集,構建m個決策樹進行訓練,將沒有被抽取到的數據作為測試集。參數m為總的數據集的1/3 時預測效果較好,當決策樹的數量大于100 時,準確率較為穩定,本文設定為300。
報文信息特征向量個數為p,在每棵決策樹模型的內部節點隨機抽取k(k≤p) 個變量作為備選分枝變量,按照單棵決策樹構建過程尋找最佳分枝;調整葉子節點的大小,控制隨機森林和決策樹的生長,結果較好的分裂到4 次時即可停止分裂,否則繼續分裂直至得到較好結果,最終生成隨機森林組合模型。
(4)隨機森林模型驗證,本文采用擬合度(R2)、均方根誤差(RMSE)和預測精度(P)來檢驗,R2和P值越高,說明模型構建越好,RMSE值越小,說明模型精度越高,計算公式如下:

式中,ERMSE是均方根誤差;yi是車輛實際到站時間;是預測的車輛到達時間;是實際平均到站時間;n為樣本數量。
建模方式同上,需額外增加2 個特征向量:(1)當前站的繁忙程度,本文規定繁忙程度為該站該時刻前30 min 內接入的車輛數量;(2)車站等級,不同等級的車站業務處理能力不同,會導致效率差異。
計算機環境為Intel(R)Core(TM)i7-8750H CPU@2.20 GHz2.20 GHz 64 bit 操作系統,開發軟件采用Python 3.7。
本文以張蘭—孝南—綏德—子洲—楊橋畔—靖邊—定邊鐵路線段為案例進行預測,OD 圖如圖1 所示。以實際報文時間為依據,與隨機森林算法預測出的時間數據進行比對。
(1)整體報文比對

圖1 OD 線路圖
基于本文的隨機森林算法模型,以煤炭貨物運輸為例,完成該線段運輸的預測平均所需時間為6 936 min,實際時間和預測時間的對比如圖2 所示。

圖2 張蘭—定邊誤差預測值與實際值對比
R2為0.97,P為0.95,ERMSE為388.2,可滿足日常的調度需求和準時度需求。
(2)單一報文比對
隨機抽取一條報文,抽取報文中該時間段內車輛號為4910314 的車輛在各個站點的的相關信息,報文信息如表1 所示。

表1 抽取4910314 號車輛的報文數據
在始發站輸入車輛的報文信息,代入本文的隨機森林算法,預測運達時間為6 925 min。
當車輛從始發站出發后,可能會與預測狀態不同。例如,某個技術站車輛數量較多,工作人員不能勝任作業任務,從而導致車輛通過時間延后。在實時報文的情況下,本文引入繁忙程度和車站等級兩個特征向量。4910314 號車輛的特征向量和預測時長,如表2 所示。

表2 4910314 號車輛在孝南站的特征向量與預測時長
將此報文帶入隨機森林算法中進行計算。步驟與始發站運到時間預測計算步驟相同,得到在當前站到終點站剩余所需時長。
將實際報文數據與模型預測值進行對比,結果如表3 所示。
單一報文時長預測準確率如圖3 所示。

表3 預測時長與實際書記對比

圖3 準確率走勢
初始站的預測誤差值為93.3%,但在接下來的行駛過程中,誤差值逐漸減少,本文算法沒有讓誤差累計,在不斷的實時預測下,準確率穩步提升。最后一站的時長預測準確率為96.8%,證明該算法可行。
本文運用Python 語言,設計實現了基于隨機森林算法的鐵路貨物運達時間預測模型。根據不同的車輛屬性預測車輛到達終點站的時長,將車輛的各種影響因素考慮進去,進行特征向量的計算,在行駛過程中不斷修正誤差,使得終到時間預測更為精確。下一步可計算每個特征向量對目標函數的增益,從而調整各個特征向量,使結果更優。