劉魯岳,肖寶弟,2,岳麗麗
(1.蘭州交通大學(xué)自動化與電氣工程學(xué)院,蘭州 730070;2.北京康吉森交通技術(shù)有限公司,北京 101318)
伴隨著中國經(jīng)濟的快速發(fā)展,新時期“八橫八縱”高速鐵路網(wǎng)不斷加密并覆蓋各級城市。截至2021年底,全國高速鐵路運營里程已達(dá)到4萬km。高鐵服務(wù)旅客出行的同時,由于惡劣天氣,設(shè)備故障及客流量大等影響,列車晚點的現(xiàn)象時有發(fā)生。據(jù)資料顯示,京廣高鐵和滬昆高鐵等繁忙干線經(jīng)常因為暴雨導(dǎo)致列車晚點,晚點時間長達(dá)數(shù)小時。而且高鐵存在行車密度大,客流量多以及交路圖復(fù)雜等特點,晚點將會打亂列車正常運行計劃,增加在區(qū)間運行的風(fēng)險及加重車站調(diào)度員的工作量[1]。
列車晚點分為初始晚點和連帶晚點。由于設(shè)備故障和惡劣天氣等原因造成的晚點稱為初始晚點;由于前行列車晚點而導(dǎo)致后行列車晚點稱作連帶晚點[2]。因此,為了使列車晚點損失降到最小,在鋪畫列車運行圖時需要設(shè)置一定的緩沖時間。設(shè)置緩沖時間能夠使列車實現(xiàn)晚點自身恢復(fù)[3]。近幾年,國內(nèi)外有大量學(xué)者針對列車晚點預(yù)測進行研究。張琦等[4]通過特征識別方法,將晚點類型分為四類,運用神經(jīng)網(wǎng)絡(luò)對連帶晚點現(xiàn)象智能預(yù)測;莊河等[5]基于廣鐵集團高速列車的運行實績,通過K-S檢驗比較初始晚點分布曲線的擬合效果;黃平等[6]運用隨機森林回歸模型,將晚點恢復(fù)時間作為因變量研究武廣高鐵晚點恢復(fù)情況;廖璐等[7]建立基于GBDT的列車晚點時長預(yù)測模型,經(jīng)過模型調(diào)參后發(fā)現(xiàn)預(yù)測精度提高;張路凱等[8]提出在狀態(tài)空間下的模型架構(gòu),設(shè)計傳統(tǒng)誤差的二次線性調(diào)節(jié)器對晚點預(yù)測誤差控制,與貝葉斯網(wǎng)絡(luò)后比較效果更佳;SANJIN[9]提出運用一種模糊Petri網(wǎng)模型來預(yù)測列車晚點情況,并對晚點時長等級進行評估;SHI等[10]將貝葉斯優(yōu)化與極端梯度提升相結(jié)合預(yù)測列車到達(dá)晚點時間,研究發(fā)現(xiàn)在異常情況下預(yù)測結(jié)果更精確;HUANG等[11]采用多數(shù)據(jù)融合的方式,結(jié)合3D CNN、RNN、LSTM和FCNN預(yù)測列車到達(dá)延遲,發(fā)現(xiàn)各項指標(biāo)趨于更優(yōu)。
綜上,現(xiàn)有的研究理論主要是應(yīng)用傳統(tǒng)數(shù)學(xué)模型和機器學(xué)習(xí)方法實現(xiàn)列車晚點預(yù)測。比較發(fā)現(xiàn),機器學(xué)習(xí)的預(yù)測精度明顯高于數(shù)學(xué)模型。在現(xiàn)有晚點預(yù)測文獻中,晚點因素的選取主要由經(jīng)驗決定,但憑借經(jīng)驗容易遺漏重要變量,而將無關(guān)變量輸入到模型中,導(dǎo)致預(yù)測精度降低。另外,大部分預(yù)測模型僅使用一種算法,單一算法存在許多局限性。鑒于此,本文將隨機森林(RF)與極端梯度提升(XGBoost)相結(jié)合實現(xiàn)列車晚點預(yù)測,RF對原始數(shù)據(jù)特征選擇,以挖掘與列車晚點關(guān)聯(lián)度較大的特征量,并將降維后數(shù)據(jù)集輸入XGBoost模型中學(xué)習(xí)訓(xùn)練,分析得出RF-XGBoost模型具有更高的預(yù)測精度。
本文首先概述實驗原始數(shù)據(jù)及預(yù)處理過程,選擇列車晚點預(yù)測的自變量與因變量,并分別介紹RF和XGBoost算法,建立基于RF-XGBoost的晚點預(yù)測模型;隨后進行模型調(diào)參與評估,通過劃分不同比例的訓(xùn)練集和測試集,對比RF-XGBoost與原XGBoost模型的性能指標(biāo);最后在不同允許誤差范圍內(nèi)分析實驗結(jié)果,并提出下一步的重點研究方向。
本研究使用的列車運行實績數(shù)據(jù)來源于中國鐵路濟南局集團的濟青高鐵,濟青高鐵于2015年開工建設(shè),2018年底竣工運營,全長328 km,從濟南東站到青島北站共有12座車站和11個線路區(qū)段。線路設(shè)計時速為300 km,采用CTCS-3級列控系統(tǒng)和調(diào)度集中控制系統(tǒng)。C3列控系統(tǒng)是基于GSM-R無線通信系統(tǒng)實現(xiàn)車-地信息的雙向傳輸,將無線閉塞中心生成的行車許可傳給車載系統(tǒng),軌道電路檢查列車占用股道情況,應(yīng)答器對列車運行實時定位監(jiān)督[12-13]。
由于線路開通運營初期,高鐵列車跨線運行、交路運行復(fù)雜且列控設(shè)備不完善,列車晚點的現(xiàn)象時有發(fā)生,因此選擇此線路進行列車晚點預(yù)測分析。高速列車晚點歷史數(shù)據(jù)均來源于調(diào)度中心,時間跨度為2019年10月至2020年1月,一共包括2019年第四季度所有列車到發(fā)站事件。數(shù)據(jù)具體記錄了每趟列車的車次、日期、計劃到達(dá)時間與出發(fā)時間、實際到達(dá)時間與出發(fā)時間等相關(guān)信息,部分?jǐn)?shù)據(jù)如表1所示。
表1 濟青高鐵列車部分原始數(shù)據(jù)
由于得到的是調(diào)度中心原始數(shù)據(jù),存在一些缺失值與異常值,不能直接將其輸入模型訓(xùn)練,需要對原始數(shù)據(jù)預(yù)處理[14]。數(shù)據(jù)預(yù)處理包括對數(shù)據(jù)的缺失值、重復(fù)值和異常值的處理,最后將數(shù)據(jù)標(biāo)準(zhǔn)化。
(1)缺、重值處理:由于數(shù)據(jù)遺漏或?qū)傩圆煌紨?shù)據(jù)表中存在個別數(shù)據(jù)的缺失或重復(fù),這對研究結(jié)果會造成一定影響。因此將重復(fù)值予以刪除,將缺失值插補處理。
(2)異常值處理:異常值包括不合常理的值以及正晚點偏差極大的不平衡值。此類數(shù)據(jù)會使預(yù)測結(jié)果不準(zhǔn)確,因此將明顯錯誤的異常值數(shù)據(jù)剔除。
(3)數(shù)據(jù)標(biāo)準(zhǔn)化:將處理過的數(shù)據(jù)進行清洗,把數(shù)據(jù)集按照比例和范圍縮小,將其放入相同的特定區(qū)間,實現(xiàn)數(shù)據(jù)標(biāo)準(zhǔn)化,減小數(shù)據(jù)差異對晚點預(yù)測建模的影響。將預(yù)處理后的列車晚點數(shù)據(jù)做成易于觀測的頻率分布直方圖,如圖1所示。
圖1 濟青高鐵列車晚點到達(dá)觀測直方圖
列車到達(dá)晚點符合“長尾分布”的特點,大多數(shù)高鐵晚點時間在10 min以內(nèi),只有極少數(shù)晚點在20 min以上,而且部分列車會提前5 min之內(nèi)到達(dá)。這種現(xiàn)象符合常規(guī)的列車晚點分布,便于分析訓(xùn)練。
隨機森林(Random Forest,RF)算法是在2001年由美國貝爾實驗室提出,屬于傳統(tǒng)決策樹的一種集成學(xué)習(xí)算法[15]。隨機森林通過對數(shù)據(jù)建模和分類回歸,可用于風(fēng)險等級預(yù)測和模型狀態(tài)評估。在處理預(yù)測問題方面,大量回歸樹組合處理多維度的復(fù)雜數(shù)據(jù),不易出現(xiàn)過擬合,并且具有較高的準(zhǔn)確率。RF算法的原理圖解如圖2所示。
圖2 隨機森林算法原理
RF算法是基于Bagging思想的集成學(xué)習(xí)理論和隨機子空間的一種多分類模型,其基本單元是分類回歸決策樹,由多個決策樹構(gòu)成“一片森林”的集合。當(dāng)輸入一組數(shù)據(jù)集參與訓(xùn)練時,RF隨機建立多棵決策樹,經(jīng)過訓(xùn)練后產(chǎn)生決策樹的組合,RF輸出的結(jié)果是由決策樹多數(shù)投票決定的[16]。由于RF采取有放回的隨機抽樣,從概率的角度分析,有部分?jǐn)?shù)據(jù)將無法參與訓(xùn)練而被浪費,此類數(shù)據(jù)稱為袋外數(shù)據(jù)(out of bag data,obb)。RF中決策樹生成過程如下。
Step1:設(shè)訓(xùn)練集數(shù)據(jù)為D個,每棵決策樹有放回的隨機抽取m個樣本作為訓(xùn)練子集。
Step2:在M個特征集合中隨機挑選k個樣本作為特征子集,從k個特征中選擇最優(yōu)的一個特征進行分裂。
Step3:在不剪枝的情況下,讓每棵樹一直分裂下去,然后重復(fù)上述過程。
RF算法雖然常用于預(yù)測問題研究,但是由于算法的參數(shù)需要人工調(diào)節(jié),若調(diào)節(jié)不當(dāng),預(yù)測精度可能有差別。因此需要調(diào)整參數(shù)并深入研究。
初始列車的晚點時長將會影響后續(xù)列車的晚點情況,若前一列車在某車站造成延誤,需考慮相同股道的下一列車是否受影響在該站晚點。由于在鋪畫運行圖時設(shè)置了緩沖時間,所以當(dāng)列車發(fā)生小延誤時能夠被吸收,但在大延誤時無法恢復(fù)還將波及下一車站,關(guān)鍵要預(yù)測列車在下一車站的到達(dá)晚點時間。
結(jié)合列車原始數(shù)據(jù),分析可能造成列車晚點的影響因素,初步選出以下13個變量并分別標(biāo)記為X1~X13。
(1)列車i在S站實際到達(dá)時間(X1)
(2)列車i在S站實際出發(fā)時間(X2)
(3)列車i在S站實際停留時間(X3)
(4)目標(biāo)列車i的車次編碼號(X4)
(5)列車i在S站計劃到達(dá)與實際到達(dá)時間偏差(X5)
(6)列車i在S站實際出發(fā)與計劃出發(fā)時間偏差(X6)
(7)管轄范圍內(nèi)接入始發(fā)車站編碼(X7)
(8)管轄范圍內(nèi)終到交出車站編碼(X8)
(9)列車i在區(qū)間內(nèi)(S-1站至S站)圖定運行時間(X9)
(10)列車i在區(qū)間內(nèi)(S-1站至S站)實際運行時間(X10)
(11)S-1站至S站的區(qū)間長度(X11)
(12)列車i經(jīng)停車站的編碼(X12)
(13)列車i的屬性及類型(X13)
隨后,運用RF算法進行數(shù)據(jù)集降維,依據(jù)重要度排序的結(jié)果篩選出特征數(shù)據(jù)集,經(jīng)過多次訓(xùn)練,重要度的數(shù)值及排序結(jié)果均未發(fā)生變化。各變量排序結(jié)果如圖3所示。變量X9重要度評分與前7個變量相差較大,因此,提取特征排序前7個量(X1、X2、X3、X5、X6、X10、X11)作為影響晚點的特征自變量,組成特征空間集作為預(yù)測模型的輸入,模型因變量(預(yù)測變量)為預(yù)測列車到站晚點時間。分析7個特征變量間的關(guān)系,繪制其散點圖矩陣,如圖4所示。比較得出特征變量X1與X2線性相關(guān)度最大。但X1與X11間也存在較強相關(guān)性,其他各參數(shù)均存在多重共線性,不能直接進行線性回歸,因此選用機器學(xué)習(xí)來處理。
圖3 影響列車晚點特征重要度排序
圖4 各特征變量之間的散點圖
XGBoost(eXtreme Gradient Boosting)全稱為極端梯度提升樹,它由梯度提升決策樹(GBDT)發(fā)展而得到。XGBoost算法的主要特點是不斷增加新的決策樹參與訓(xùn)練,然后去擬合預(yù)測真實值與之前所有決策樹預(yù)測真實值的殘差,從而形成眾多樹規(guī)模的強學(xué)習(xí)器,將之前所有決策樹的預(yù)測結(jié)果累加形成最終的預(yù)測值[17]。因此,XGBoost算法在每棵決策樹之間為串行運算,而在分列樹的節(jié)點時遵循并行運算。
比GBDT更優(yōu)的是,XGBoost算法在損失函數(shù)中加入了正則項,控制規(guī)模的復(fù)雜程度,防止出現(xiàn)過擬合[18]。XGBoost算法的目標(biāo)函數(shù)定義如下
(1)
(2)
最后,XGBoost可應(yīng)用于特征選擇,利用貪婪算法計算所有葉子節(jié)點分裂前后的信息增益,增益用于確定最佳分割節(jié)點,公式如下
gain=
(3)
式中,IL和IR分別為在分割后重新發(fā)送左節(jié)點和右節(jié)點的樣本,I=IL+IR。增益得分越高,則XGBoost的特征重要度得分越高,說明對應(yīng)的特征更重要有效[20]。
XGBoost算法的關(guān)鍵流程為輸入特征子集、樹的最大深度、弱學(xué)習(xí)者最大數(shù)量和葉子對象最小權(quán)重的總和等,輸出為訓(xùn)練數(shù)據(jù)的預(yù)測值。XGBoost算法通常有3種類型的參數(shù),分別是通用類型參數(shù)、booster參數(shù)和學(xué)習(xí)任務(wù)參數(shù)[21]。本研究使用的主要參數(shù)設(shè)置值如表2所示。
表2 XGBoost算法主要參數(shù)設(shè)置
RF算法擁有建模速度快、訓(xùn)練效率高、能夠處理高維數(shù)據(jù)和避免過擬合等特點,同時,XGBoost算法利用連續(xù)迭代的思想不斷優(yōu)化訓(xùn)練模型,通過累加最終得到預(yù)測值,且在其他領(lǐng)域預(yù)測中,均取得優(yōu)良的擬合效果。鑒于上述兩種算法的優(yōu)勢,將二者相結(jié)合,提出一種RF-XGBoost算法來預(yù)測列車晚點問題。
基于RF-XGBoost算法的列車晚點預(yù)測模型實現(xiàn)步驟如下。
Step1:整理高鐵晚點原始數(shù)據(jù)集,清洗數(shù)據(jù),刪除其中的重復(fù)值、缺失值和異常值,將數(shù)據(jù)標(biāo)準(zhǔn)化處理。
Step2:選擇列車實際到達(dá)時間等參數(shù)作為自變量,將預(yù)測列車到站晚點時間作為因變量輸出。
Step3:使用RF對預(yù)處理過的數(shù)據(jù)集按照重要度排序并降維,將特征排名的前7個特征量作為訓(xùn)練的特征變量輸入,完成特征選擇。
Step4:利用交叉驗證的思想,將數(shù)據(jù)集分別按70%和30%劃分成訓(xùn)練集和測試集。
Step5:劃分完的數(shù)據(jù)集輸入XGBoost分類器進行學(xué)習(xí)訓(xùn)練,不斷調(diào)整模型參數(shù)以提高預(yù)測精度,對預(yù)測結(jié)果用R語言擬合。
Step6:最后計算預(yù)測評估指標(biāo),分析此模型的準(zhǔn)確性,并與原XGBoost算法相比較,查看模型的預(yù)測效果。具體RF-XGBoost算法流程如圖5所示。
圖5 RF-XGBoost預(yù)測模型基本流程
為驗證模型預(yù)測的準(zhǔn)確性,選取R2(決定系數(shù)),MAE(平均絕對誤差),MSE(均方誤差)和RMSE(均方根誤差)共4個性能指標(biāo)評估[22]。當(dāng)R2越趨近于1,MAE、MSE和RMSE的值越小時,表明數(shù)據(jù)的非線性擬合程度越高,模型預(yù)測的結(jié)果越精確。這些指標(biāo)的計算公式如下
(4)
(5)
(6)
(7)
將原XGBoost模型與改進后的RF-XGBoost模型相對比,分別計算反映預(yù)測指標(biāo)的R2、MAE、MSE和RMSE的值,得到的結(jié)果如表3所示。
表3 原模型與改進后模型的性能指標(biāo)對比
由表3發(fā)現(xiàn),RF-XGBoost模型在各項性能指標(biāo)方面較XGBoost模型均有所提升,選用此預(yù)測模型取得了較小的MAE與RMSE值及較大的R2值,其中MAE值降低了60.5%,RMSE值降低了44.8%,而R2值提高了14.6%,獲得了較為滿意的預(yù)測效果。與XGBoost算法相比,RF-XGBoost處理大量數(shù)據(jù)擁有更高的擬合能力和更強的魯棒性,因此該方法可有效預(yù)測列車晚點。
為進一步研究選用RF-XGBoost模型的預(yù)測精度,本文選取允許預(yù)測誤差在不同范圍內(nèi)比較,結(jié)果如表4所示。研究發(fā)現(xiàn),允許誤差在1,3,5 min范圍內(nèi)的預(yù)測精度均達(dá)到90%,而且在允許預(yù)測誤差5 min內(nèi)的精度達(dá)到97.78%,取得良好的預(yù)測效果。本文以前200次列車為例,繪制了預(yù)測晚點時間與實際晚點時間的結(jié)果擬合圖,發(fā)現(xiàn)兩條曲線的變化趨勢大致相同,擬合程度較高,如圖6所示。
表4 模型的預(yù)測精度對比結(jié)果
圖6 RF-XGBoost模型預(yù)測晚點與實際晚點時間擬合曲線
本文將RF與XGBoost算法相結(jié)合,建立RF-XGBoost模型實現(xiàn)高速列車晚點預(yù)測,基于濟青高鐵的運行數(shù)據(jù),以特征重要度排序為標(biāo)準(zhǔn),選擇前7個變量輸入預(yù)測模型訓(xùn)練分析。將此模型與原XGBoost方法相對比,各項預(yù)測評估指標(biāo)均有較大提升,驗證了RF-XGBoost模型能夠提高預(yù)測精度。盡管此方法在研究中取得良好的效果,但后續(xù)依然有工作需要進行,進一步的研究方向總結(jié)如下。
(1)本研究中僅利用一個季度的列車運行數(shù)據(jù),數(shù)據(jù)訓(xùn)練的容量有限,由于選取的列車晚點數(shù)量和區(qū)間線路長度有差異,預(yù)測結(jié)果可能不全面,下一步擴大訓(xùn)練數(shù)據(jù)集分析。
(2)本文暫未考慮高鐵運行時因暴雪等惡劣天氣,軌道異物入侵以及春運節(jié)假日時客流量大導(dǎo)致的列車大面積晚點的情況,下一步對此類異常情況重點分析。
(3)在探究晚點預(yù)測問題新模型時,對比其他各種算法的性能指標(biāo)和計算機運算時間,以分析出更加優(yōu)質(zhì)預(yù)測方法和全面的預(yù)測結(jié)果。