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