鄧 蘄,董寶田
(北京交通大學 交通運輸學院,北京 100044)
鐵路貨物運輸本質上是鐵路為顧客提供的對于貨物的位移服務。隨著經(jīng)濟發(fā)展和社會需求不斷增加,市場對鐵路貨物運輸提出了更高的要求。如何從接受貨物開始將貨物更安全、更快速、更準時地送到目的地,已經(jīng)成為鐵路行業(yè)在貨物運輸市場中必不可少的一個考量因素。
梁棟[1]在原有的貨物運輸組織基礎上構建了時空隧道圖,基于車輛在每個技術站的作業(yè)需求,對作業(yè)流程進行了預估并預測了運輸時間;李瑋[2]分析了貨物在運輸途中的主要時間分布,并據(jù)此對最終的運達時限做出了預測;李夏苗[3]通過分析貨物到達時間數(shù)據(jù)集,列出了鐵路貨物運輸送達時間的回歸方程,并做出優(yōu)化;賈玉衛(wèi)[4]將可靠性理論應用到鐵路貨物送達時間預測中,得到鐵路運輸過程的時間分布函數(shù),建立了可靠性評價體系,提出保障時間可靠性的方法。
目前,貨物運達時間的主要研究方向是從現(xiàn)有運達時限的基礎上出發(fā),提出保障運達時限的具體措施或構建優(yōu)化組織的模型,但涉及到車輛的某些具體特征(裝載的貨物種類、車次等)時,現(xiàn)有算法都將車輛進行了無差別處理,導致在一定程度上對車輛具體運達時間的預測出現(xiàn)偏差[5-6]。在這種情況下,本文基于隨機森林算法,結合鐵路貨物運輸組織過程,將運輸路徑上的起始站、技術站做為節(jié)點,根據(jù)貨物相關信息,將其各種屬性轉化為特征值加入到運達時間預測中,從而預測貨物終到時間,并根據(jù)實時運行情況在每一個技術站都重新計算貨物終到時間,以求得到最新的貨物終到時間。
在鐵路的日常貨物調度中,調度人員都是根據(jù)貨物的距離、種類、數(shù)量等信息,以自己的經(jīng)驗來預測貨物到站時間。僅根據(jù)個人經(jīng)驗來判斷,不夠科學和精確,無法對設備工作能力和線路的通過能力進行最大化的利用。貨物運達時限的準確預測能讓調度人員更加明確鐵路貨物運輸所需時長以及即將到達的貨物流信息,從而更好的對整個物流有全局的認識,也方便調度人員安排調度計劃和編組計劃,擴大鐵路運輸量[7]。由此可見,更準確地預測鐵路貨物運達時間不僅對客戶有益,也利于提升鐵路自身效益和員工工作效率。
鐵路貨物運輸過程中有較多作業(yè)流程,因此會有較多因素影響鐵路貨物運達時間的預測,如工作人員進行工作的時間、線路的選擇、等待配軸配長的時間等。從數(shù)據(jù)分析角度來看,具有相同的特征的貨物流,從始發(fā)站到終點站的時間也是發(fā)散的,導致運達時間的預測較為困難。基于隨機森林算法對鐵路貨物運達時間預測會遇到以下難點:
(1)車流路徑不確定,部分貨物在線路上可能會離開選定的目標線路去向別的線路,而后在線路的某一段又回到目標線路上;
(2)貨物的優(yōu)先級不同,導致在其他特征相同的情況下,最后到達終點站的時間也不同;
(3)調度人員水平不同,各站工作人員工作效率也不同;
(4)鐵路特征向量的種類較多,導致維度較多,在機器學習構建決策樹時更為復雜,計算所需花費的時間更長。
隨機森林是一種集成的統(tǒng)計學習分類和回歸算法,針對不同特征,組合多個決策樹對相同現(xiàn)象產(chǎn)生相似的預測結果,在隨機森林回歸的過程中,其輸出值為隨機森林中所有決策樹結果的平均值,隨機森林回歸模型的核心在于根據(jù)特征建立多棵回歸決策樹。
本文將鐵路貨物運達時限的影響因素,如車輛類型、始發(fā)站、終到站等作為輸入的特征向量,用貨物運達時間點作為預測結果,通過訓練樣本進行擬合得到預測模型,具體步驟如下:
(1)車輛i到達終點站的報文時長為yi,將報文中可能對運達時間有影響的因素(報文ID、車次、車次ID,車輛在始發(fā)站、中間站、終點站的時間)作為特征向量,車輛i的特征向量xi~{Ii1,Ii2,···,Iin},其中,Iin表示車輛i在預測期間的第n個影響因素。
(2)建立單顆回歸決策樹,對x和y進行搜索,將整個向量空間依據(jù)回歸樹劃分為m個分區(qū){R1,R2,···,Rm},對于其中任意分區(qū)可以映射為時間集合cm,該分區(qū)通過分裂得到R1(j,s) 和R2(j,s)兩個部分:
其中,j表示變量類型,即鐵路貨物運達時限的一個影響因素;s表示進行分裂時每個分區(qū)劃分對應特征向量的值。
時長方差z公式如下:
其中,c1是第1 部分車輛到達終點站的實際值的平均值;c2是其余車輛到達終點站的實際值的平均值。
為了在一定程度上減少計算量,提升運算效率,本文對決策樹的層數(shù)進行控制,設置分裂效果較好的特征向量在第4 層時停止分裂,從而提升決策樹的效率。
(3)構建整個隨機森林,從n個初始數(shù)據(jù)樣本中有放回的抽樣m個樣本集,構建m個決策樹進行訓練,將沒有被抽取到的數(shù)據(jù)作為測試集。參數(shù)m為總的數(shù)據(jù)集的1/3 時預測效果較好,當決策樹的數(shù)量大于100 時,準確率較為穩(wěn)定,本文設定為300。
報文信息特征向量個數(shù)為p,在每棵決策樹模型的內部節(jié)點隨機抽取k(k≤p) 個變量作為備選分枝變量,按照單棵決策樹構建過程尋找最佳分枝;調整葉子節(jié)點的大小,控制隨機森林和決策樹的生長,結果較好的分裂到4 次時即可停止分裂,否則繼續(xù)分裂直至得到較好結果,最終生成隨機森林組合模型。
(4)隨機森林模型驗證,本文采用擬合度(R2)、均方根誤差(RMSE)和預測精度(P)來檢驗,R2和P值越高,說明模型構建越好,RMSE值越小,說明模型精度越高,計算公式如下:
式中,ERMSE是均方根誤差;yi是車輛實際到站時間;是預測的車輛到達時間;是實際平均到站時間;n為樣本數(shù)量。
建模方式同上,需額外增加2 個特征向量:(1)當前站的繁忙程度,本文規(guī)定繁忙程度為該站該時刻前30 min 內接入的車輛數(shù)量;(2)車站等級,不同等級的車站業(yè)務處理能力不同,會導致效率差異。
計算機環(huán)境為Intel(R)Core(TM)i7-8750H CPU@2.20 GHz2.20 GHz 64 bit 操作系統(tǒng),開發(fā)軟件采用Python 3.7。
本文以張?zhí)m—孝南—綏德—子洲—楊橋畔—靖邊—定邊鐵路線段為案例進行預測,OD 圖如圖1 所示。以實際報文時間為依據(jù),與隨機森林算法預測出的時間數(shù)據(jù)進行比對。
(1)整體報文比對
圖1 OD 線路圖
基于本文的隨機森林算法模型,以煤炭貨物運輸為例,完成該線段運輸?shù)念A測平均所需時間為6 936 min,實際時間和預測時間的對比如圖2 所示。
圖2 張?zhí)m—定邊誤差預測值與實際值對比
R2為0.97,P為0.95,ERMSE為388.2,可滿足日常的調度需求和準時度需求。
(2)單一報文比對
隨機抽取一條報文,抽取報文中該時間段內車輛號為4910314 的車輛在各個站點的的相關信息,報文信息如表1 所示。
表1 抽取4910314 號車輛的報文數(shù)據(jù)
在始發(fā)站輸入車輛的報文信息,代入本文的隨機森林算法,預測運達時間為6 925 min。
當車輛從始發(fā)站出發(fā)后,可能會與預測狀態(tài)不同。例如,某個技術站車輛數(shù)量較多,工作人員不能勝任作業(yè)任務,從而導致車輛通過時間延后。在實時報文的情況下,本文引入繁忙程度和車站等級兩個特征向量。4910314 號車輛的特征向量和預測時長,如表2 所示。
表2 4910314 號車輛在孝南站的特征向量與預測時長
將此報文帶入隨機森林算法中進行計算。步驟與始發(fā)站運到時間預測計算步驟相同,得到在當前站到終點站剩余所需時長。
將實際報文數(shù)據(jù)與模型預測值進行對比,結果如表3 所示。
單一報文時長預測準確率如圖3 所示。
表3 預測時長與實際書記對比
圖3 準確率走勢
初始站的預測誤差值為93.3%,但在接下來的行駛過程中,誤差值逐漸減少,本文算法沒有讓誤差累計,在不斷的實時預測下,準確率穩(wěn)步提升。最后一站的時長預測準確率為96.8%,證明該算法可行。
本文運用Python 語言,設計實現(xiàn)了基于隨機森林算法的鐵路貨物運達時間預測模型。根據(jù)不同的車輛屬性預測車輛到達終點站的時長,將車輛的各種影響因素考慮進去,進行特征向量的計算,在行駛過程中不斷修正誤差,使得終到時間預測更為精確。下一步可計算每個特征向量對目標函數(shù)的增益,從而調整各個特征向量,使結果更優(yōu)。