門元昊 吳 亮 劉曉雙 秦梟喃 羅森林
(1. 北京理工大學(xué)信息系統(tǒng)及安全對(duì)抗實(shí)驗(yàn)中心, 100081, 北京; 2. 通號(hào)城市軌道交通技術(shù)有限公司, 100081, 北京∥第一作者, 碩士研究生)
列車運(yùn)行狀態(tài)仿真即通過建立真實(shí)運(yùn)行環(huán)境的近似模型,模擬地鐵列車在ATC(列車自動(dòng)控制)系統(tǒng)下的運(yùn)行表現(xiàn),可結(jié)合電子地圖實(shí)現(xiàn)列車位置、速度的估計(jì)反饋,是測(cè)試列車控制系統(tǒng)的重要工具。仿真的目的是為ATC系統(tǒng)的研究提供模擬試驗(yàn)平臺(tái)。由于ATC在設(shè)計(jì)、開發(fā)、測(cè)試等各個(gè)環(huán)節(jié)所需投入的時(shí)間長(zhǎng)且系統(tǒng)不斷更新迭代,在其研制過程中持續(xù)地在真實(shí)的生產(chǎn)環(huán)境中進(jìn)行開發(fā)與調(diào)試是不現(xiàn)實(shí)的,因此,通常需要先建立列車運(yùn)行狀態(tài)的仿真模型,在仿真模型上開展相關(guān)系統(tǒng)的研發(fā)工作。目前,針對(duì)列車運(yùn)行狀態(tài)的仿真仍以傳統(tǒng)的物理模型或改進(jìn)的物理模型為主[1-3],這些方法均對(duì)列車的受力及運(yùn)動(dòng)學(xué)模型進(jìn)行了簡(jiǎn)化與近似,且面對(duì)不同的列車與線路環(huán)境時(shí),需對(duì)照真實(shí)的運(yùn)行數(shù)據(jù)采用人工方式來調(diào)整模型參數(shù),存在著列車適配性差、仿真誤差大等問題,難以高效、準(zhǔn)確地模擬ATC在真實(shí)環(huán)境中的實(shí)際表現(xiàn),不利于系統(tǒng)的評(píng)估與改進(jìn)。
針對(duì)上述問題,基于機(jī)器學(xué)習(xí)的理論與方法,本文通過挖掘列車在目標(biāo)環(huán)境下的運(yùn)行表現(xiàn),結(jié)合特征工程提高算法對(duì)ATC系統(tǒng)延時(shí)等特性的學(xué)習(xí)能力,基于XGBoost(極端梯度提升)算法建立具備更好適應(yīng)性與準(zhǔn)確性的列車運(yùn)行狀態(tài)仿真模型,為ATC系統(tǒng)的研發(fā)提供基礎(chǔ)技術(shù)支撐。
現(xiàn)有的列車運(yùn)行狀態(tài)仿真系統(tǒng)一般以物理模型為基礎(chǔ),結(jié)合人工或求解式的參數(shù)調(diào)整方法,實(shí)現(xiàn)列車控制輸出與實(shí)際表現(xiàn)間函數(shù)關(guān)系的擬合,進(jìn)而對(duì)加速度、速度、位置等描述列車運(yùn)行狀態(tài)的屬性進(jìn)行估計(jì)與仿真,常采用包括單質(zhì)點(diǎn)模型、多質(zhì)點(diǎn)模型、繩體模型等描述方法擬合列車的動(dòng)力學(xué)表現(xiàn)。文獻(xiàn)[4]提出了一種針對(duì)高速列車運(yùn)行的仿真方法,使用繩體模型對(duì)列車進(jìn)行動(dòng)力學(xué)建模,能夠較好地模擬出列車質(zhì)量分布均衡、動(dòng)力分布分散的特點(diǎn),準(zhǔn)確模擬列車運(yùn)行狀態(tài),但由于不同列車的質(zhì)量與動(dòng)力分布特點(diǎn)差異較大等原因,該方法難以適配不同型號(hào)的列車和復(fù)雜運(yùn)行的線路。
綜上,隨著仿真技術(shù)的不斷發(fā)展,基于物理模型的方法對(duì)輸出動(dòng)力的作用效果進(jìn)行估算的準(zhǔn)確性在持續(xù)提升,但仍缺乏適應(yīng)ATC系統(tǒng)輸出延時(shí)、適配不同列車性能特點(diǎn)的能力。因此,引入機(jī)器學(xué)習(xí)理論,研發(fā)可自動(dòng)化利用真實(shí)運(yùn)行數(shù)據(jù),構(gòu)建可準(zhǔn)確擬合控制命令與列車表現(xiàn)間復(fù)雜函數(shù)關(guān)系的仿真模型,以提高對(duì)列車運(yùn)行狀態(tài)的仿真能力。
本文提出一種基于XGBoost集成學(xué)習(xí)算法的列車運(yùn)行狀態(tài)仿真方法,其原理如圖1所示。該方法基于真實(shí)的運(yùn)行數(shù)據(jù),首先針對(duì)列車運(yùn)行過程中在不同速度、坡度及軌道狀態(tài)等條件下施加相同的牽引/制動(dòng)級(jí)位所產(chǎn)生不同加速度的作用效果,以及特定列車具有獨(dú)特且伴有一定隨機(jī)性的系統(tǒng)延時(shí)等問題,采用特征工程擴(kuò)展優(yōu)化原始數(shù)據(jù)維度,篩選并建立軌道信息、速度狀態(tài)以及級(jí)位序列的特征子集,合并構(gòu)成新的特征空間;在此基礎(chǔ)上,利用XGBoost算法,學(xué)習(xí)任意采樣時(shí)刻不同狀態(tài)下控制命令(包括歷史命令信息)與實(shí)際加速度間的關(guān)系,從而實(shí)現(xiàn)對(duì)下1個(gè)采樣時(shí)刻列車運(yùn)行狀態(tài)(借由速度、位置進(jìn)行描述)的估計(jì)。由此建立可與ATC在電子地圖輔助下進(jìn)行交互反饋的列車運(yùn)行狀態(tài)仿真模型。
圖1 基于XGBoost模型的地鐵列車運(yùn)行狀態(tài)仿真方法原理Fig.1 Principle of metro train running state simulation method based on XGBoost model
訓(xùn)練數(shù)據(jù)的樣本質(zhì)量與特征空間是決定機(jī)器學(xué)習(xí)效果的關(guān)鍵要素之一,因此首先對(duì)原始數(shù)據(jù)中存在的不完整數(shù)據(jù)(如采樣遺漏等)、異常值(如日志錯(cuò)誤等)進(jìn)行清洗,提取出完整的站間運(yùn)行數(shù)據(jù),然后針對(duì)列車運(yùn)行狀態(tài)仿真任務(wù),采用特征工程方法引導(dǎo)機(jī)器學(xué)習(xí)算法準(zhǔn)確挖掘目標(biāo)函數(shù)關(guān)系。
列車運(yùn)行狀態(tài)仿真模型的核心任務(wù)是:觀察當(dāng)前采樣時(shí)刻的軌道坡度、列車速度、控制級(jí)位等數(shù)據(jù),基于隱含了列車運(yùn)動(dòng)模型、控制延時(shí)特性、級(jí)位作用表現(xiàn)等信息的作用效果估計(jì)模型,預(yù)測(cè)列車在下1個(gè)采樣時(shí)刻的速度表現(xiàn)。因此,特征空間應(yīng)包含軌道信息、速度狀態(tài)和級(jí)位序列,而訓(xùn)練標(biāo)簽可通過計(jì)算采樣時(shí)刻間的列車速度變化獲取。
綜上,為建立可面向不同列車和不同線路環(huán)境、訓(xùn)練成本低、特征空間具有一定地鐵環(huán)境數(shù)據(jù)普適性的列車運(yùn)行狀態(tài)仿真模型,挖掘列車運(yùn)動(dòng)模型、控制延時(shí)特性、級(jí)位作用的表現(xiàn)特征,本文所述方法將當(dāng)前時(shí)刻的坡度數(shù)據(jù)、速度信息、歷史級(jí)位作為特征空間的主要組成。設(shè)t時(shí)刻列車的運(yùn)行特征為xt={et,vt,lt},其中:et為t時(shí)刻列車所處位置的坡度;vt為t時(shí)刻列車運(yùn)行速度;lt為t時(shí)刻列車輸出的級(jí)位序列{lt,0,lt,1,…,lt,k},lt,k為t-k時(shí)刻列車運(yùn)行系統(tǒng)輸出的級(jí)位。依據(jù)目標(biāo)列車的經(jīng)驗(yàn)最大延時(shí)周期數(shù),將k設(shè)為11,歷史時(shí)刻不足的采樣點(diǎn)則實(shí)施補(bǔ)零操作。同時(shí),將列車t+1時(shí)刻與t時(shí)刻的速度差at(即t時(shí)刻的加速度)設(shè)為樣本標(biāo)簽。最終構(gòu)建出13維的特征向量及1維的樣本標(biāo)簽,由此可依照有監(jiān)督學(xué)習(xí)方法進(jìn)行后續(xù)的模型訓(xùn)練及驗(yàn)證。
利用預(yù)處理后的數(shù)據(jù)集訓(xùn)練XGBoost模型,以實(shí)現(xiàn)對(duì)采樣點(diǎn)列車瞬時(shí)加速度的估計(jì)。XGBoost算法是文獻(xiàn)[5]提出的一種可擴(kuò)展的端到端基于樹的Boosting(提升方法)家族算法,可通過構(gòu)建多個(gè)弱學(xué)習(xí)器,將這些弱學(xué)習(xí)器組合形成強(qiáng)學(xué)習(xí)器。通常選取決策樹等子模型作為此算法的弱分類器。XGBoost算法因其優(yōu)異的泛化性能被廣泛應(yīng)用于有監(jiān)督學(xué)習(xí)領(lǐng)域,適合用于列車運(yùn)行狀態(tài)的仿真任務(wù),相比GBDT(梯度提升決策樹)方法,XGBoost算法在代價(jià)函數(shù)中加入了正則項(xiàng),可有效控制模型的復(fù)雜度,同時(shí)支持多線程訓(xùn)練。采用XGBoost算法后模型的計(jì)算速度更快,可滿足不同規(guī)模列車的運(yùn)行數(shù)據(jù)仿真要求。
在模型訓(xùn)練中,XGBoost算法利用坡度數(shù)據(jù)、速度信息、歷史級(jí)位等參數(shù)自適應(yīng)地挖掘列車行駛過程中的加速度表現(xiàn)和控制延時(shí)特點(diǎn),以有效模擬列車在ATC系統(tǒng)下的真實(shí)運(yùn)行表現(xiàn)。與基于列車輸出級(jí)位和加速度間的對(duì)應(yīng)關(guān)系表(以下簡(jiǎn)稱“加速度表”)的傳統(tǒng)物理模型相比,XGBoost算法能夠適應(yīng)性地降低因環(huán)境因素干擾或列車實(shí)際參數(shù)與出廠參數(shù)不完全匹配等問題引發(fā)的仿真誤差。XGBoost算法的基本原理如下:
對(duì)于樣本集N={(x1,y1),(x2,y2),…,(xn,yn)},訓(xùn)練優(yōu)化函數(shù)參數(shù)空間F,使得全局上目標(biāo)函數(shù)O(F)最小。目標(biāo)函數(shù)可表示為:
O(F)=l(F)+Ω(F)
(1)
式中:
Ω(F)——正則化項(xiàng),用以約束F的復(fù)雜性,控制模型的復(fù)雜度。
XGBoost算法采用同Boosting算法家族一致的殘差修正思想。針對(duì)每個(gè)樣本,將現(xiàn)有估計(jì)與真實(shí)標(biāo)簽間的殘差作為即將加入的新弱學(xué)習(xí)器的訓(xùn)練標(biāo)簽,由此可得到加入第t棵樹后的估計(jì)結(jié)果為:
(2)
式中:
xi——模型輸入的第i條樣本數(shù)據(jù);
fi(xi)、ft(xi)——分別為第i棵樹和第t棵樹的分類結(jié)果;
將損失函數(shù)和正則化項(xiàng)代入式(1)目標(biāo)函數(shù)中,可得第t次迭代時(shí)的目標(biāo)函數(shù)為:
(3)
式中:
n——樣本數(shù)量;
yi——第i條樣本數(shù)據(jù)對(duì)應(yīng)的真實(shí)標(biāo)簽;
Ω(ft)——正則化項(xiàng),用以約束第t棵樹ft的復(fù)雜性,控制模型的復(fù)雜度。
對(duì)目標(biāo)函數(shù)中的損失函數(shù)項(xiàng)進(jìn)行二階泰勒展開,并代入單個(gè)弱學(xué)習(xí)器的函數(shù)式與模型復(fù)雜度的函數(shù)式表達(dá),能夠得到展開的目標(biāo)函數(shù)如下:
(4)
式中:
T——葉子節(jié)點(diǎn)的個(gè)數(shù);
wj——葉子節(jié)點(diǎn)權(quán)重;
K——構(gòu)建樹的總棵數(shù);
γ、λ——均為調(diào)整參數(shù),用以防止過擬合;
Gj——損失函數(shù)一階偏導(dǎo)的累加值之和;
Hj——損失函數(shù)二階偏導(dǎo)的累加值之和。
基于式(4)可計(jì)算每個(gè)葉子節(jié)點(diǎn)的最優(yōu)權(quán)重和模型最小損失,從而在迭代過程中使用貪婪算法逐步訓(xùn)練K棵樹,以組成具備強(qiáng)估計(jì)能力的集成模型。
地鐵列車在運(yùn)行過程中會(huì)依據(jù)地圖信息和當(dāng)前運(yùn)行數(shù)據(jù)不斷切換其行車狀態(tài),并輸出相應(yīng)的制動(dòng)級(jí)位或牽引級(jí)位。在使用物理模型仿真時(shí),常常會(huì)依據(jù)列車出廠時(shí)提供的加速度表和級(jí)位傳輸延時(shí)信息來預(yù)測(cè)計(jì)算當(dāng)前時(shí)刻列車的加速度。具體的計(jì)算流程為:首先將列車系統(tǒng)輸出的級(jí)位依次存到級(jí)位盒中,然后依據(jù)列車延時(shí)表獲得當(dāng)前作用在列車上的級(jí)位,接著根據(jù)加速度表和當(dāng)前的列車速度找到對(duì)應(yīng)的理論加速度,最后依據(jù)式(5)更新下1個(gè)周期的列車速度,并依據(jù)式(6)更新該周期內(nèi)列車行駛距離。
vt+1=vt+atT0
(5)
(6)
式中:
vt——t時(shí)刻的列車速度;
T0——列車運(yùn)行的1個(gè)周期時(shí)長(zhǎng);
st——t到t+1時(shí)刻內(nèi)列車的運(yùn)行距離。
由于列車型號(hào)的不一致使得在模擬仿真過程中需要不斷地更換參數(shù),所以難以用一套固定的模型參數(shù)實(shí)現(xiàn)準(zhǔn)確的模擬仿真。此外,由于環(huán)境因素的干擾,使得列車在實(shí)際行駛過程出現(xiàn)與出廠參數(shù)不符的偏差。
綜上,本文采用上述基于XGBoost算法構(gòu)建的列車速度估計(jì)模型,替換傳統(tǒng)物理模型的加速度計(jì)算模塊。仿真時(shí)先對(duì)列車的線路信息及狀態(tài)進(jìn)行初始化,并進(jìn)行與訓(xùn)練數(shù)據(jù)一致的特征工程處理;然后將采樣點(diǎn)輸入至XGBoost模型中,獲得當(dāng)前時(shí)刻的列車加速度,同理依據(jù)式(5)~(6)更新列車的速度和行駛距離;接著利用地圖信息、ATC系統(tǒng)輸出更新的坡度信息和級(jí)位序列。上述步驟依次迭代進(jìn)行,直到列車到站停車。最后,將列車在線路上的運(yùn)行仿真數(shù)據(jù)進(jìn)行記錄,并分析其仿真效果。
為驗(yàn)證基于XGBoost算法的列車運(yùn)行狀態(tài)仿真方法的有效性,本文對(duì)3列來自某地鐵線路的真實(shí)列車數(shù)據(jù)進(jìn)行學(xué)習(xí)及仿真測(cè)試,并與基于性能參數(shù)表的物理模型仿真方法進(jìn)行比較。數(shù)據(jù)特征參數(shù)的具體說明如表1所示。
表1 模型中采用的列車特征參數(shù)及其單位
采用每個(gè)采樣周期內(nèi)加速度的均方根誤差R和每站速度曲線誤差百分比E兩個(gè)指標(biāo),其計(jì)算式如式(7)、式(8)所示。R和E的值越小,表示模型的準(zhǔn)確性越高,與實(shí)際列車運(yùn)行情況的符合程度越高,即仿真效果越好。
(7)
(8)
式中:
N——數(shù)據(jù)集中的數(shù)據(jù)總條數(shù);
ai——列車的實(shí)際加速度;
m——線路上的數(shù)據(jù)采樣數(shù);
vj——j時(shí)刻列車的實(shí)際速度;
首先對(duì)原始數(shù)據(jù)進(jìn)行清洗,對(duì)加速度異常、缺失的數(shù)據(jù)點(diǎn)進(jìn)行刪減處理,然后依據(jù)算法原理中的特征工程方法逐條完成特征空間的建立。接著預(yù)留1個(gè)車站的數(shù)據(jù)(該站不參與模型訓(xùn)練)并用作單站列車運(yùn)行速度曲線仿真,以驗(yàn)證模型的實(shí)用性。將其余站點(diǎn)的采樣數(shù)據(jù)按照7∶2∶1的比例分別拆分至訓(xùn)練集、驗(yàn)證集和測(cè)試集內(nèi)。
在進(jìn)行列車運(yùn)行狀態(tài)仿真模型訓(xùn)練時(shí),首先將訓(xùn)練集輸入至XGBoost模型中,并用驗(yàn)證集進(jìn)行超參數(shù)調(diào)整,最后使用測(cè)試集對(duì)仿真模型的性能進(jìn)行分析評(píng)價(jià)。此外,將基于XGBoost模型的仿真結(jié)果與基于列車性能參數(shù)表物理模型得到的仿真結(jié)果進(jìn)行對(duì)比。
基于驗(yàn)證集的表現(xiàn),確定試驗(yàn)中采用的XGBoost模型超參數(shù)如下:最大樹深度為8,學(xué)習(xí)率為0.6,基分類器數(shù)量為500。在實(shí)用性檢測(cè)時(shí),將基于XGBoost算法的仿真模型應(yīng)用到?jīng)]參加模型訓(xùn)練的預(yù)留站上并進(jìn)行模擬仿真,將預(yù)留站列車的實(shí)際運(yùn)行速度、基于XGBoost模型得到的仿真速度、基于物理模型得到的仿真速度進(jìn)行對(duì)比。
參與試驗(yàn)的3列車的編號(hào)為T1、T2、T3,數(shù)據(jù)量分別為460 511條、795 88條、472 68條。將基于物理模型得到的仿真結(jié)果與基于XGBoost模型得到的結(jié)果進(jìn)行對(duì)比,如表2所示。從表2中可以看出,與基于物理模型得到的結(jié)果相比,基于XGBoost模型的列車運(yùn)行狀態(tài)仿真模型的R和E在多列車上的測(cè)試結(jié)果均較低,且在不同列車上的仿真性能表現(xiàn)更為穩(wěn)定,這說明了基于XGBoost模型的仿真方法具有良好的環(huán)境適應(yīng)性,能與不同的列車車型相匹配。
表2 基于物理模型和基于XGBoost模型的仿真結(jié)果對(duì)比
將預(yù)留站列車的實(shí)際運(yùn)行速度、基于XGBoost模型得到的仿真速度、基于物理模型得到的仿真速度進(jìn)行對(duì)比,得到的結(jié)果如圖2所示。從圖2可以看出,基于物理模型得到的仿真速度在模擬控制級(jí)位變換較為頻繁,且在復(fù)雜的目標(biāo)速度調(diào)整(采樣周期為(200~400)×0.2 s)及巡航速度控制(采樣周期為(400~1 300)×0.2 s)階段均難以實(shí)現(xiàn)準(zhǔn)確的速度估計(jì),從而影響了整個(gè)車站的仿真效果。而基于XGBoost模型得到的仿真速度曲線則與列車的實(shí)際運(yùn)行曲線更為貼合。
圖2 3種不同測(cè)試工況下列車在單站運(yùn)行時(shí)的 速度曲線仿真對(duì)比
綜上可知,本文提出的基于XGBoost的列車運(yùn)行速度仿真模型構(gòu)建方法可從實(shí)際運(yùn)行數(shù)據(jù)中有效挖掘列車運(yùn)動(dòng)模型、控制延時(shí)特性、級(jí)位作用表現(xiàn)等特征并加以利用,進(jìn)而建立列車運(yùn)行狀態(tài)的仿真模型。該模型具有良好的環(huán)境適應(yīng)性,能與不同的列車車型相匹配,可生成與實(shí)際情況接近的列車運(yùn)行速度曲線,較為準(zhǔn)確地實(shí)現(xiàn)對(duì)地鐵列車運(yùn)行狀態(tài)的仿真。
列車運(yùn)行狀態(tài)仿真是研發(fā)與優(yōu)化ATC的重要工具,具備自動(dòng)化適應(yīng)能力與高精度仿真性能的狀態(tài)仿真模型將助力軌道交通自動(dòng)化技術(shù)的不斷發(fā)展。本文提出的基于XGBoost模型的仿真方法可從實(shí)際運(yùn)行數(shù)據(jù)中有效挖掘列車運(yùn)動(dòng)模型、控制延時(shí)特性、級(jí)位作用表現(xiàn)等特征,實(shí)現(xiàn)對(duì)ATC系統(tǒng)輸出與實(shí)際作用效果間復(fù)雜函數(shù)關(guān)系的學(xué)習(xí),進(jìn)而建立具備一定適應(yīng)性且模擬精度較高的列車運(yùn)行狀態(tài)仿真模型。試驗(yàn)采用真實(shí)數(shù)據(jù)驗(yàn)證了使用該方法所建立的仿真模型的有效性,且該方法適用于針對(duì)不同列車車型的運(yùn)行狀態(tài)仿真場(chǎng)景。未來應(yīng)進(jìn)一步結(jié)合其他先進(jìn)的序列數(shù)據(jù)建模方法,不斷改進(jìn)、優(yōu)化該模型的訓(xùn)練效果,為列車自動(dòng)運(yùn)行技術(shù)的發(fā)展提供更可靠、有效的技術(shù)支撐。