方 方,王 昕
(北京信息科技大學(xué) 理學(xué)院,北京 100192)
近年來,交通事故頻繁發(fā)生,人員傷亡不斷,但其發(fā)生并不是完全隨機(jī)的,而是受到多種因素的影響。因此,可以通過研究交通事故歷史數(shù)據(jù),對交通事故風(fēng)險進(jìn)行預(yù)測。
國內(nèi)外學(xué)者主要使用統(tǒng)計(jì)建模方法和機(jī)器學(xué)習(xí)方法展開研究。如二元Logit或Probit模型[1-2],多項(xiàng)式Logit或Probit模型[3-4]。此外,考慮到事故風(fēng)險嚴(yán)重程度的有序性,有序Probit和Logit模型具有更好的性能[4-5]。Chen等[6]利用有序Probit模型確定影響上海越江隧道卡車事故嚴(yán)重程度的主要因素。Hu等[7]提出一種帶逐步變量選擇的廣義Logit模型識別影響鐵路交叉口事故嚴(yán)重程度的主要因素。Wang等[8]建立了Logistic回歸模型研究美國道路和環(huán)境因素對事故嚴(yán)重程度的影響。同時,基于樹的模型如隨機(jī)森林等用于事故嚴(yán)重程度建模和預(yù)測,其性能令人滿意[9]。Iranitalab等[10]不僅比較了4種統(tǒng)計(jì)和機(jī)器學(xué)習(xí)方法在事故嚴(yán)重程度預(yù)測中的性能,且研究了K均值聚類和潛類別聚類兩種聚類方法對預(yù)測模型性能的影響。Yu等[11]提出了一種基于隨機(jī)項(xiàng)模型的融合卷積神經(jīng)網(wǎng)絡(luò)來分析駕駛員受傷嚴(yán)重程度,其中子神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)處理分類特征,多層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)捕捉特征和嚴(yán)重程度之間潛在的非線性關(guān)系。Chen等[12]提出了一種數(shù)據(jù)驅(qū)動的Copula貝葉斯網(wǎng)絡(luò),研究危險變道和跟馳兩種基本危險駕駛行為與事故風(fēng)險的因果關(guān)系,該模型有效降低了過擬合,具有良好的預(yù)測性能。Wang等[13]利用了一個基于決策樹的系統(tǒng)機(jī)器學(xué)習(xí)框架來預(yù)測先前涉及違規(guī)/事故記錄的駕駛員的未來駕駛風(fēng)險。
然而,以往研究較少考慮到事故類別不平衡且含大量分類特征的情況。交通事故普遍存在樣本類別不平衡現(xiàn)象,即非嚴(yán)重事故比嚴(yán)重事故數(shù)量多,而將嚴(yán)重事故錯分為非嚴(yán)重事故比將非嚴(yán)重事故錯分為嚴(yán)重事故的代價高得多。若忽略了這一點(diǎn),可能導(dǎo)致構(gòu)建的預(yù)測模型有偏差,重采樣是解決這兩個問題的常見方法。傳統(tǒng)方法如簡單隨機(jī)欠采樣和過采樣[14-15]容易造成重要信息丟失和過擬合,改進(jìn)的合成數(shù)據(jù)方法如合成少數(shù)類過采樣(synthetic minority oversampling technique,SMOTE)、自適應(yīng)合成采樣(adaptive synthetic sampling,ADASYN)、NearMiss[16]等無法處理含大量分類特征的情況。已有研究表明,結(jié)合重采樣技術(shù)和集成學(xué)習(xí)的模型具有更好的預(yù)測性能[17]。且極端梯度提升(extreme gradient boosting,XGBoost)作為一種改進(jìn)的梯度提升算法,具有運(yùn)算速度快、魯棒性好、預(yù)測精度高等優(yōu)點(diǎn),能較好地解決收斂速度慢、過擬合、易陷入局部最優(yōu)等問題[18]。
針對不平衡交通事故中存在大量分類特征的情況,本文采用隨機(jī)欠采樣(random undersampling,RUS)結(jié)合XGBoost[19]構(gòu)建一種基于RUS-XGBoost的類別不平衡事故風(fēng)險預(yù)測模型,對事故嚴(yán)重程度進(jìn)行預(yù)測,該模型還可給出影響事故風(fēng)險的主要因素。
XGBoost是一種集成模型,可通過構(gòu)建多個基學(xué)習(xí)器提升機(jī)器學(xué)習(xí)效果,提高預(yù)測精度。給定一個具有N個樣本和m個特征的數(shù)據(jù)集D={xi,yi}(│D│=N,xi∈m,yi∈),XGBoost定義為如下的K個CART回歸樹組成的加法模型:
(1)
τ={fk(X)=wq(X)}(q:m→{1,2,…,T},w∈T)
(2)
式中:τ為CART回歸樹的所有可能集合;q為樹模型,表示將一個樣本映射到相應(yīng)的葉結(jié)點(diǎn);T為樹q的葉結(jié)點(diǎn)個數(shù);wq(x)為樹q的所有葉結(jié)點(diǎn)權(quán)重組成的向量;每個子模型fk對應(yīng)一棵獨(dú)立的樹模型q和葉結(jié)點(diǎn)權(quán)重w。其目標(biāo)函數(shù)為:
(3)
(4)
式中γ和λ為正則化參數(shù),能夠有效防止過擬合。
采用前向分步算法學(xué)習(xí)模型,在第t步時,對目標(biāo)函數(shù)進(jìn)行二階泰勒展開:
σ(ft)+c
(5)
(6)
省去前t-1的常數(shù)項(xiàng)l(yi,(t-1))和c后,再令I(lǐng)j={i|q(Xi)=j}為屬于第j個葉結(jié)點(diǎn)的所有樣本的集合。通過最小化(5)式可以求得第t個子模型的第j個葉結(jié)點(diǎn)的最優(yōu)權(quán)重和相應(yīng)的最優(yōu)目標(biāo)函數(shù)值:
(7)
且樹的結(jié)構(gòu)由切分前后的增益值確定:
(8)
由于簡單地使用原始訓(xùn)練集得到的多個基分類器的性能較差,而XGBoost作為集成模型相較于線性分類器,很容易通過擾動提高基分類器的精度和多樣性,因此本文進(jìn)一步采取3種擾動方法:
1)樣本擾動:采取5折交叉驗(yàn)證,對于其中4個子集組成的不平衡訓(xùn)練數(shù)據(jù)集,從多數(shù)類中隨機(jī)欠采樣與少數(shù)類樣本等量的樣本個數(shù),組成新的類別平衡訓(xùn)練數(shù)據(jù)集;
2)特征擾動:對特征空間的不同劃分提供了觀察數(shù)據(jù)的不同視角,因此對特征進(jìn)行按比例隨機(jī)采樣;
3)參數(shù)擾動:包括學(xué)習(xí)率范圍,樹的深度范圍,迭代次數(shù)范圍。
本文提出的基于RUS-XGBoost的類別不平衡事故風(fēng)險預(yù)測模型,主要包括3個部分:
1)平衡訓(xùn)練子集的構(gòu)建。給定多數(shù)類數(shù)據(jù)集M和少數(shù)類數(shù)據(jù)集N,通過隨機(jī)欠采樣(不放回)的方式從M中采樣T個子集,使其與N中的樣本等量,即│Mi│=│N│,分別和全部少數(shù)類樣本構(gòu)成平衡的訓(xùn)練子集D1,D2,…,DT;
2)子模型的構(gòu)建。用不同的訓(xùn)練子集,結(jié)合特征擾動和參數(shù)擾動,使用XGBoost訓(xùn)練得到T個差異化的RUS-XGBoost子模型;
3)子模型的集成。由于子模型的類型相近,因此使用簡單平均法整合T個子模型的預(yù)測概率。
模型的整體結(jié)構(gòu)如圖1所示。
圖1 模型整體結(jié)構(gòu)
從英國政府公開的交通事故數(shù)據(jù)庫(dft.bov.uk)中收集了2017-2019年共370 153條事故記錄作為數(shù)據(jù)集,含53個與事故和車輛相關(guān)的特征,且提供了3個事故嚴(yán)重程度等級:1)致命傷害:至少有1人死亡;2)嚴(yán)重傷害:嚴(yán)重的人身傷害,需要在醫(yī)院待兩天以上;3)輕微傷害:在不到兩天的時間內(nèi)可以很容易地用藥物治療。
統(tǒng)計(jì)事故嚴(yán)重程度分布,如圖2所示,可以看出輕微傷害的事故最多,共296 027起;其次是嚴(yán)重傷害的事故,共69 121起;致命傷害的事故最少,只有5 005起。因此,該事故數(shù)據(jù)集是一個類別不平衡的數(shù)據(jù)集。
圖2 事故嚴(yán)重程度分布
因?yàn)榕c包含其他類型交通使用者和交通方式的事故相比,兩輛車的事故具有相對更同質(zhì)的數(shù)據(jù)集,因此最終的數(shù)據(jù)集選擇了僅涉及兩輛車的事故。該數(shù)據(jù)集共245 588個樣本,由于致命傷害樣本太少,且本文僅關(guān)心事故是否嚴(yán)重,故與嚴(yán)重傷害合并為一類共41 789個樣本,輕微傷害共203 799個樣本。
由于分類、聚類之類的算法常根據(jù)歐氏距離衡量不同樣本之間的相似性,為避免算法將分類特征的離散取值當(dāng)作連續(xù)數(shù)據(jù)進(jìn)行計(jì)算,采用one-hot編碼,即將一個分類特征替換為多個取值為0和1的新特征,轉(zhuǎn)化為圖3的稀疏型數(shù)據(jù)表形式,使得樣本的分類特征之間的距離都是0或1。
圖3 one-hot編碼后的特征(以道路類型為例)
對數(shù)據(jù)集中的53個特征進(jìn)行特征選擇。首先,去除含有大量缺失值的特征;其次,一些較為復(fù)雜的地理位置特征如經(jīng)緯度、街道名稱、所屬管轄區(qū)等也被去除。最終得到了24個特征,分為4類:1)駕駛員因素:性別、年齡;2)車輛因素:車輛類型、車輛年齡、引擎容量等;3)道路因素:道路類型、道路限速、交叉口細(xì)節(jié)等;4)環(huán)境因素:光照條件、天氣條件等。
對于類別不平衡問題,使用準(zhǔn)確率評價模型的性能是不恰當(dāng)?shù)模僭O(shè)訓(xùn)練數(shù)據(jù)的非嚴(yán)重和嚴(yán)重事故樣本比為95∶5,分類器簡單地把所有樣本都分為非嚴(yán)重事故,能達(dá)到95%的準(zhǔn)確率,這顯然不合理,因?yàn)槠浜鲆暳松贁?shù)類對分類性能評價的影響。AUC即ROC曲線下面積,是獨(dú)立于類別分布的評價指標(biāo),適用于不平衡問題。AUC一般在0.5~1之間,越接近1分類器性能越好,越接近0.5性能越差。
此外,根據(jù)錯分代價的不同,還應(yīng)該使用代價敏感錯誤率作為評價指標(biāo)。代價敏感錯誤率的定義依賴于代價敏感矩陣,如表1所示。
表1 代價敏感矩陣
設(shè)類別標(biāo)簽為{0,1},分為兩類。其中c01表示為將非嚴(yán)重事故誤判為嚴(yán)重事故的懲罰代價系數(shù),c10表示將嚴(yán)重事故誤判為非嚴(yán)重事故的懲罰代價系數(shù),顯然有c01 (9) 本研究設(shè)計(jì)的基分類器的輸出結(jié)果為每個輸入樣本屬于嚴(yán)重事故的概率,即P(y=1)。對于得到的多個隨機(jī)欠采樣結(jié)合XGBoost的子模型,記為RUS-XGBoost子模型,具體步驟如下: 輸入:多數(shù)類數(shù)據(jù)集M,少數(shù)類數(shù)據(jù)集N,且│N│<│M│;子模型的個數(shù)T;學(xué)習(xí)率范圍α,樹的深度范圍d,迭代次數(shù)范圍n,特征比例采樣范圍δ。 過程:fori=1,2,…,T: 1)從M中隨機(jī)不放回采樣一個子集Mi,使得│Mi│=│N│,且Mi∪N=Di; 2)從α、d、n、δ中各隨機(jī)取一個值; 3)將Di作為新的訓(xùn)練數(shù)據(jù)集,使用上述參數(shù)和特征子集訓(xùn)練一個子模型hi(x)。 輸出:預(yù)測概率,并對結(jié)果進(jìn)行分類。 (10) 測試數(shù)據(jù)集共49 116個樣本,其中嚴(yán)重事故40 759個,非嚴(yán)重事故8 357個。實(shí)驗(yàn)時采用以下兩種模型進(jìn)行對比:單模型:僅使用5折交叉驗(yàn)證,包括Logistic回歸、隨機(jī)森林和XGBoost;集成模型:重新構(gòu)建T個平衡的訓(xùn)練子集,包括Logistic回歸集成、隨機(jī)森林集成和本文提出的RUS-XGBoost。 經(jīng)過參數(shù)調(diào)優(yōu),XGBoost的學(xué)習(xí)率為0.07,樹的深度為6,迭代次數(shù)為120;RUS-XGBoost的子模型個數(shù)為T=30,學(xué)習(xí)率范圍α=[0.001,0.1],樹的深度范圍d=[6,8],迭代次數(shù)范圍n=[100,150],特征采樣比例范圍δ=[0.8,0.9]。此外,設(shè)c01和c10的代價比為5,即c01=1,c10=5。可以得到各個模型的AUC和代價敏感錯誤率如表2、表3所示。 表2 各個模型的AUC 表3 各個模型的代價敏感錯誤率 由表2、表3可以看出:1)集成模型的預(yù)測效果比單模型好,這是因?yàn)槭褂秒S機(jī)欠采樣構(gòu)建新的平衡訓(xùn)練集,極大地改善了少數(shù)類的預(yù)測,而不妨礙多數(shù)類的預(yù)測,從而提高模型的泛化能力和預(yù)測性能;2)本文提出的RUS-XGBoost模型具有最高的AUC為0.718 56,說明預(yù)測偏差小,預(yù)測效果優(yōu)于其他模型。當(dāng)代價比為5,即將嚴(yán)重事故誤判為非嚴(yán)重事故的代價是將非嚴(yán)重事故誤判為嚴(yán)重事故代價的5倍時,RUS-XGBoost模型的代價敏感錯誤率最低為0.624 41,也可以說明當(dāng)誤判代價不同時,其預(yù)測效果比其他模型好。 最后,利用RUS-XGBoost模型計(jì)算的增益值,對輸入特征的重要性進(jìn)行排序,如表4所示。 表4 RUS-XGBoost的特征重要性 重要性排前6的特征中,車輛操縱行為、第一撞擊點(diǎn)影響和車輛類型屬于車輛因素,交叉口細(xì)節(jié)、道路限速和交叉口位置屬于道路因素。由此可以看出,車輛因素和道路因素對交通事故嚴(yán)重程度的影響較大,這與我們直觀上的感受是一致的。 針對實(shí)際交通事故中存在的類別不平衡且含有大量分類特征的情況,本文建立一種基于RUS-XGBoost的類別不平衡事故風(fēng)險預(yù)測模型。實(shí)驗(yàn)結(jié)果表明:通過樣本擾動、特征擾動和參數(shù)擾動結(jié)合XGBoost得到多個差異化的子模型,預(yù)測結(jié)果與單模型如Logistic回歸、隨機(jī)森林和XGBoost,集成模型如Logistic回歸集成、隨機(jī)森林集成相比,具有較高的AUC和較低的代價敏感錯誤率,說明該模型能夠有效降低不平衡數(shù)據(jù)集對預(yù)測性能的負(fù)面影響,提高模型的泛化能力和預(yù)測性能,從而為制定道路安全政策提供參考,減少交通事故風(fēng)險帶來的損失。 特征選擇對模型的預(yù)測性能有一定的影響,因此是否應(yīng)該選擇對少數(shù)類樣本更有利的特征,可以作為下一步研究的課題。2.3 模型訓(xùn)練與預(yù)測結(jié)果分析
3 結(jié)束語