張興凱 張立鵬 陳 鈺 李 欣 王曉玲
(1.鄭州地鐵集團有限公司運營分公司,450046,鄭州;2.卡斯柯信號有限公司,200071,上海;3.華東師范大學軟件工程學院,200070,上海 ∥ 第一作者,高級工程師)
城市軌道交通數(shù)據(jù)分析有利于更好地提升服務效果,提高管理效率。在票價變更實施之前,可通過數(shù)據(jù)分析來評估票價變化可能帶來的影響[1-2];通過數(shù)據(jù)分析為城市軌道交通出行者提供最有效的出行計劃[3-4];數(shù)據(jù)分析還應用在停站跳站方案設計[5]、公共交通網(wǎng)絡設計[6]、路線性能評估[7]和公共交通結構圖設計[8]等工作中。目前,對車載數(shù)據(jù)分析的研究尚屬空白。
城市軌道交通車載數(shù)據(jù)是列車在運行過程中通過各傳感器采集到的、標記列車各項指標的數(shù)據(jù)集合,是一種典型的大數(shù)據(jù),數(shù)據(jù)量龐大、特征多、數(shù)據(jù)類型豐富。車載數(shù)據(jù)可反映車輪是否發(fā)生打滑、車門狀態(tài)、車輛負載及坡度等列車當前的狀態(tài)。列車停車誤差為列車實際停車位置和期望位置之間的差值,其實際表現(xiàn)為列車停穩(wěn)后車門與對應屏蔽門之間距離。該誤差是車載數(shù)據(jù)的最后一個標簽。若列車停車誤差較大,輕則影響乘客乘車體驗,重則使乘客無法輕松地進入客室,此時列車需要通過重新起動及制動來調(diào)整停車位置。
本文進行車載數(shù)據(jù)分析的主要目標是找到影響列車停車誤差的相關因素,并通過學習模型根據(jù)車載數(shù)據(jù)進行停車誤差預測。將除列車停車誤差之外的所有列車狀態(tài)值作為自變量X(向量),將停車誤差作為因變量y,則可將停車誤差預測問題轉化為一組自變量對因變量的影響。又因y為連續(xù)變量,若假設共有m個自變量,則可將該停車誤差問題表示為回歸問題。LR(邏輯回歸)、SVR(支持向量回歸)等眾多基礎的機器學習算法都可解決回歸問題,并且在解決簡單的回歸問題或某些特定領域的問題中取得很好的效果。然而,經(jīng)試驗發(fā)現(xiàn),在面對特征維度較高、特征較為復雜的車載數(shù)據(jù)時,單個算法很難取得令人滿意的結果。
集成學習算法為通過組合多種學習算法,進而得到比單一算法預測性能更好的算法。其潛在的思想是:即使集成學習算法中的某個學習算法得出了錯誤的預測,其他學習算法也可以通過最終結果的集成來糾正錯誤。集成學習的策略主要有Bagging、Boosting及Stacking等3種。Bagging策略主要基于重復采樣思想,在采樣一定次數(shù)之后計算統(tǒng)計量的置信區(qū)間,其主要代表算法模型為隨機森林(Random Forest)。Boosting策略主要基于減小監(jiān)督學習中的偏差思想,經(jīng)過訓練得到一系列弱學習器,并將其組合為1個強學習器。Stacking策略主要是訓練1個模型用于組合其他模型:先訓練多個不同的模型,再把各訓練模型的輸出為輸入來訓練1個新模型,以得到最終的輸出。Stacking策略在理論上可表示上述兩種集成學習策略,且其設計方法更靈活,可根據(jù)實際場景設計合適的集成模型。
基于Stacking策略的集成學習算法集各基礎算法的優(yōu)點于一身,且最終能給出一個用于實行的完整算法,并因此受到了學術界和業(yè)界的普遍關注。按實行階段,基于Stacking策略的集成學習算法可分為基礎模型算法評估階段和基礎模型算法集成階段。基礎模型評估階段通常要衡量基礎模型的準確度。在基礎模型集成階段,對于分類問題,通常采取基礎模型投票表決的方式,以票數(shù)最多的類別為樣本數(shù)據(jù)的最終類別;對于回歸問題,多采用基礎模型加權平均法計算,從而得到樣本數(shù)據(jù)的標簽值。
在基礎模型的評估中,除了基礎模型的準確度之外,基礎模型之間的差異性也應作為基礎模型的評估標準。如果2個基礎模型的相似度非常高,甚至完全一樣,那么這兩個基礎模型的集成結果不會高于其中任意一個基礎模型的結果。因此,基礎模型之間的差異性越大,越能從差異的個體基礎模型之間尋找到可以優(yōu)化提升的地方。
在基礎模型集成過程中,僅僅依靠簡單的加權平均并不能讓準確度高的基礎模型發(fā)揮較大的作用。有必要設計相關的模型集成算法,使得精確度較高的基礎模型可獲得較高的權重,對最終的集成結果貢獻更大。
2.1.1 基礎模型算法的評估內(nèi)容
基礎模型算法的評估內(nèi)容主要包括準確度評估和差異度評估。列車停車誤差y是一個連續(xù)型變量,也就是一個回歸問題?;貧w問題的模型準確度主要是基于均方誤差EMS進行衡量的。其計算式為:
1)
式中:
N——包含列車停車誤差的車載數(shù)據(jù)記錄數(shù)量;
yi——車載數(shù)據(jù)記錄中的第i條真實停車誤差值,i=1,2,…,N;
f(xi)——基礎模型根據(jù)第i條車載數(shù)據(jù)預測的停車誤差值。
式(1)反映了預測值與真實值之間的誤差。EMS的值越小,表示模型的準確度越高。
差異度評估主要采用ICC(組內(nèi)相關系數(shù))作為衡量指標。ICC是衡量和評價觀察者間信度和復測信度的信度系數(shù)指標。將2個基礎模型視作2位觀察者,則在同一批包含N條車載數(shù)據(jù)的數(shù)據(jù)集上,ICC的值r為:
2)
式中:
f1(xi)——觀察者1對第i條車載數(shù)據(jù)的停車誤差的預測;
f2(xi)——觀察者2對第i條車載數(shù)據(jù)的停車誤差的預測;
r值越大,則表明組內(nèi)觀察者之間的相似度越高。因此,可用1-r來衡量組內(nèi)各個模型之間的不相似性。在保證模型精確度的前提下,為了盡量使得組內(nèi)的基礎模型不相似,1-r的值越高越好。
2.1.2 基礎模型的篩選
基于基礎模型的精確度和差異性,篩選了K個基礎模型,再之后集成為最終模型。集成模型的質(zhì)量為:
(1-α)[1-rC(R1,R2,…,RK)]
3)
式中:
α——超參數(shù),用來衡量模型在準確度和差異性之間的選擇度,取值范圍為[0,1]。通常來說,α應該設置為一個較大的數(shù),畢竟集成模型最終的目的是提高模型的準確度。
Rj——表示第j個模型,j=1,2,…,K;
rC(R1,R2,…,RK)——各基礎模型之間的相似度;則1-rC(R1,R2,…,RK)反映各基礎模型之間的不相似性。
為確定K值,在車載數(shù)據(jù)分析預測的場景中,假設篩選出的每個基礎模型都只有1個輸出(即對停車誤差的預測),則每個基礎模型都可以形式化為函數(shù)f:Rm→R,其中m表示車載數(shù)據(jù)的特征維數(shù)。例如:在1條列車停車車載記錄中,包含了m維特征,用于表征車輪是否打滑、車門狀態(tài)、車輛旁路信息及車輛負載等列車當前狀態(tài);每條車載數(shù)據(jù)都包含m維特征及1個標簽數(shù)據(jù)y(停車誤差)。表1為車載數(shù)據(jù)具體格式示例。
表1 車載數(shù)據(jù)示例(部分)
表1中,每一列都表示每一條車載數(shù)據(jù)在該特征上的取值,所有特征都可以看做是模型的輸入值X。X是包含N行m維車載數(shù)據(jù)的向量,表示為X∈Rm。假設車載數(shù)據(jù)服從p(X)分布,且這N條數(shù)據(jù)都是從p(X)分布中采樣出來的,則列車真實的停車誤差可表示為y(X)。假設第j個基礎模型對X的預測結果表示為fj(X),則K個基礎模型集成后的模型f(X)可表示為:
4)
式中:
ωj——第j個基礎模型的權重。
那么第j個基學習器及集成模型在當前X上的誤差可以分別表示為:
5)
那么第j個基學習器及集成后的集成模型在數(shù)據(jù)分布p(X)上的誤差可以分別表示為:
6)
那么第j個基學習器及第l個(l=1,2,…,K)基學習器在數(shù)據(jù)分布p(X)上的相關性可以表示為:
7)
可以很容易看出來Cjl=Clj,且Cjj=Ej??梢詮氖?4)及式(5)中得到:
8)
由式(6)~(8)可得:
9)
如果假設所有基礎模型在集成階段都有相同的重要性,即所有基礎模型的權重都一樣,則式(9)可表示為:
10)
如假設第k個基礎模型被從候選基礎模型中剔除,用數(shù)學符號表示取k的補集,則式(10)可以表示為:
11)
由式(10)及式(11)明顯可見,E比E大。由此可得,基礎模型篩選基本條件為:
12)
如果滿足式(12),則意味著對最終集成的模型而言,包含第k個基礎模型比沒有包含第k個基礎模型效果差。此時,應將第k個基礎模型剔除出候選集。綜合考慮式(10)及式(12),可以得到如下約束:
13)
基于式(13)可對于每個基礎模型做出判斷,將不符合的基礎模型直接剔除出候選集。
14)
本文使用留一法來確定基礎模型的權重。對一個基礎模型而言,留一法通過對包含N條數(shù)據(jù)的整個數(shù)據(jù)集進行N次訓練和預測來確定權重:第1次,使用2~N條數(shù)據(jù)對基礎模型進行訓練,并使用第1條數(shù)據(jù)作為測試集;第2次,使用除了第2條數(shù)據(jù)之外的所有數(shù)據(jù)進行模型訓練,并使用第2條數(shù)據(jù)作為測試集;如此繼續(xù),直至第N次,使用除了第N條數(shù)據(jù)之外的所有數(shù)據(jù)進行模型訓練,并使用第N條數(shù)據(jù)作為測試集。
15)
留一法交叉驗證的標準是使用殘差平方和來計算的:
Vcr(ω)=(y-η)-1(y-η)=
對目標函數(shù)求解,當Vcr(ω)取最小值時,ω的取值為最優(yōu)解。即最終每個基礎模型的權重為:
16)
式中:
QN——整個權重的搜索空間,可表示為QN={ω∈[0,1]K,0≤ωk≤1}。
經(jīng)過基礎模型評估階段及基礎模型集成階段,可成功選出K個基礎模型,進而基于模型集成策略完成模型的集成工作,完成集成模型的創(chuàng)建。
為了驗證基于Stacking策略的集成學習模型算法的效果,本文以鄭州地鐵5號線為例進行驗證。從鄭州地鐵5號線的車載數(shù)據(jù)中解析出約10 000條列車停車數(shù)據(jù)相關記錄,其每條數(shù)據(jù)都包含180維特征及列車停車誤差標簽。在研究開始前,對車載數(shù)據(jù)的特征進行處理,清理出一些靜態(tài)特征數(shù)據(jù),并對相關度極高的特征數(shù)據(jù)進行刪減合并等,最終保留了75維特征。本研究在試驗中用到的基礎模型都來自于sklearn包(Scikit-Learn機器學習開源工具包)。
本文從Sklearn包中挑選出20個最常使用的基礎模型作為候選模型庫。這20個基礎模型根據(jù)鄭州地鐵5號線車載數(shù)據(jù)得到的停車誤差預測值(如表2所示),分別按均方誤差EMS和模型擬合度(Adjusted R-squared)來進行衡量。模型擬合度是一個比例式,比例區(qū)間為[0,1],越接近1,表示模型擬合度越高。由表2可以看出,模型之間優(yōu)劣性是很明顯的??偟膩碚f,Decision TreeRegressor模型等基于決策樹的模型表現(xiàn)都優(yōu)于其他模型。這可能是因為地鐵車載數(shù)據(jù)中存在較多離散的特征,非常適合采用決策樹做節(jié)點的分裂。
表2 基礎模型的評估結果
表3為多回歸器集成學習模型與各基礎模型的預測結果對比。由表3可以看出,多回歸器集成學習模型的預測準確度有了極大的提高。
表4為基于Stacking策略的集成學習算法模型與其他集成模型的預測結果對比。由表4可以看出,基于Stacking策略的集成學習算法模型的效率最優(yōu)。
表4 基于Stacking策略的集成學習算法模型與其他集成模型的預測結果對比
表5展示的是部分預測和實際數(shù)據(jù)的對比結果。由表5可以看出,模型預測數(shù)據(jù)與真實數(shù)據(jù)非常接近,具備非常好的精度。
表5 鄭州地鐵5號線停車誤差的真實值與預測值對比
本文提出了一種基于Stacking策略的集成學習模型算法。通過基礎模型算法評估階段和基礎模型算法集成階段,成功選出K個基礎模型,并基于模型集成策略完成了模型的集成工作,最終得到了基于Stacking策略的集成預測模型?;趯嶋H案例,使用該集成模型對列車停車誤差進行預測,并對預測結果進行驗證。驗證結果顯示,基于Stacking策略的集成學習算法模型的訓練效率高、預測精度高,與其他傳統(tǒng)模型相比具有較強優(yōu)勢。