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