陳凱亮,李唯真,張澤慶
(長安大學 汽車學院,陜西 西安 710064)
道路交通事故因其事發突然、后果嚴重、涉及多方的特性,被認為是當今世界最為嚴重的安全問題之一[1],而其中占比最大的事故是機動車事故。根據統計數據顯示[2],2020年我國全年發生交通事故244674件、導致死亡61703人、受傷250723人、經濟損失131361萬元;其中機動車事故發生156901件、死亡43098人、受傷152276人、經濟損失107769萬元,分別占總量的64.13%、69.85%、60.73%與82.04%。對機動車交通事故致因機理進行分析、總結規律成為預防道路交通事故的重要組成部分。
對于機動車事故總結研究的模型集中于兩大部分——統計模型與機器學習模型。陳昭明等[3]采取混合Logit模型分析高速公路交通事故,指出碰撞護欄與橋墩、駕駛員為女性、駕駛員年齡大于56歲等因素顯著提升事故死亡率。同時李澤文[4]、江山[5]、張道文[6]、JOSHUA[7]等均通過建立針對于各自研究重點的Logit回歸模型分析道路交通事故,指出了影響道路交通事故結果的因素。
與此同時,諸多學者也使用機器學習算法來分析道路交通事故機理。陳荔等[8]基于C5.0決策樹模型分析影響交通事故形態的影響因素,強調了道路橫截面位置對于事故嚴重性的影響。YASSIN[9]建立KNN-RF模型,指出駕駛員經驗和車輛的日期、光照條件、駕駛員年齡和使用年限分別是造成嚴重傷害、輕微傷害和致命嚴重程度的主要因素。此外,結合貝葉斯網絡與隨機森林[10-11]、深度學習算法[12-13]也受到了廣泛應用。
綜上所述,對于機動車交通事故的嚴重性預測與致因分析,國內外學者已經做了大量的工作。然而這些研究少有考慮多種因素交互對結果嚴重性產生的影響,且所選擇的模型缺乏足夠的可解釋性。基于此,本文將采集整理的機動車交通事故數據以“人-車-路-環境”進行分類,選擇在隨機森林、CatBoost(Category Boosting)、LightGBM(Light Gradient Boosting )與XGBoost(eXtreme Gradient Boosting)模型中性能更加優異的XGBoost模型進行事故嚴重性預測,對其使用SHAP來解釋各因素耦合交互對事故嚴重性的影響,使得本研究可以更好地應用于車身設計優化、道路安全法規完善、駕駛員培訓、與應急救援等領域。
XGBoost由陳天奇于2016年提出,與Light GBM、CatBoost同屬于集成學習中的Boosting模塊,此類模塊是基于弱學習器的迭代擬合中誤差的加權相加達到的更加準確的強學習器。在梯度提升樹(Gradient Boosting Decision Tree, GBDT)算法的基礎上,XGBoost通過二階泰勒展開目標函數優化目標函數,進而達到更為準確高效的作用。
主流的機器學習模型中自帶“-feature impor- tances ()”接口,以此來表征各特征重要性。但是這種計算方法存在爭議,且不能夠具體表達出每個特征對輸出結果的影響。所以SHAP值的概念應運而生,它是用于可視化解釋機器學習模型輸出過程的特征值,核心思想是計算特征值對模型輸出的邊際貢獻,再從全局和局部兩個層面對機器學習模型進行解釋。
對于每個預測樣本,模型都產生一個預測值,SHAP 值就是該樣本中每個特征所分配到的數值。它的正負表達特征對于結果的促進或是削弱影響。
本模型的具體流程如圖1所示。

圖1 模型流程圖
本文事故數據來源于中國交通事故深入研究(China In-Depth Acciddent Study, CIDAS)所調查的每條事故數據至少有1輛四輪機動車參與、至少1人受傷且包括了超3000余個字段信息數量,采集地點涵蓋全國各片區。較之于其他數據來源,具有描述充分具體、切合國情的優點,自2011年8月15日至2020年7月15日,該數據庫共記錄涉及單方及多方道路機動車交通事故3997條。筆者按照如下規則將數據進行預處理:
1)剔除交警事故案卷遺失與未記錄的事故信 息;
2)剔除含有異常特征信息以降低數據噪聲;
3)對于一行數據存在至少兩條空白信息的不予采用;
4)對于單行數據的個別數據采取中位數填補與平均數填補結合的方式;
5)對于每個特征使用離散型數字編碼;
6)對于同一事故的多種結果重復記錄
篩選出共含有20條特征、2994條事故的數據組S1,將不同特征其根據“人-車-路-環境”的因素進行編碼分類,編碼表如表1所示,S1的結果嚴重程度統計如表2所示。

表1 自變量編碼表

表1 (續)

表2 S1中不同嚴重程度的結果統計
表2中,S1的事故結果比例嚴重失衡,這樣會對輸出結果造成很大的偏差,降低模型的性能,因此,需使用重采樣方法對數據集進行改造。本文結合過采樣與欠采樣結合的方法對數據進行處理,即每次不放回地取297條輕傷數據樣本與全部的重傷與死亡事故為一組,依次生成8組數據, 再進行合并,生成一個結果均衡分布包含7278條事故樣本的數據集S2。
建立基礎XGBoost模型,輸入訓練集(S2中隨機抽取的80%,5822條)與測試集(S2中隨機抽取的20%,1456條)進行性能測試。再憑借 GridSearch算法對該其進行參數調整,此方法是對模型的指定參數進行范圍內窮舉,以獲得最佳的性能。調參優化步驟如表3所示。

表3 調參過程
為了評價XGBoost模型的性能,本研究引入同屬于集成學習的隨機森林、LightGBM與CatBoost模型,將其同樣經過GridSearch調參優化后,以準確率(Acc)、查準率(Pre)、召回率(Sen)、F1分數(F1_Score)、AUC(受試者工作特征 (Receiver Operating Characteristic, ROC)曲線下面積)進行對比。在衡量模型精準度時,上述指標值越接近于1代表模型分類的越準確、可信。
值得注意的是,以上指標的定義來源于二分類問題的混淆矩陣。本研究屬于三分類問題,因此有必要對每類結果都進行分類計算以求得相應指標。
將輸出的評估結果進行匯總,如表4所示。

表4 不同算法的評估結果

表4 (續)
從表4中可以看出,在本研究中XGBoost穩定性更強,泛化能力更好,分類性能整體優于其他模型。因此,本文決定使用XGBoost算法構建事故嚴重程度分析模型,以探索關鍵影響因素。
將調試好的XGBoost模型導入SHAP進行可視化分析,把基于各特征值呈現的SHAP值作為影響指標,從而討論不同因素對于事故結果嚴重性的作用。
將不同因素對事故結果造成的SHAP值進行計算,然后進行柱狀圖可視化如圖2所示。


圖2 不同特征SHAP值排名
從圖1中可以直觀看出,影響模型預測結果的前5大特征依次為碰撞車型、當事人年齡、當事人責任、事故特征、道路分類。對于輕傷/重傷/死亡而言,最關鍵的影響因素分別為碰撞類型/人員類別/碰撞類型。這是因為相對于客/貨車,轎車具有更好的安全性,可以規避更嚴重的事故結果。當事人年齡極大地影響了事故發生后的結果,相較于青壯年,老年人與幼兒身體機能弱、避險能力差,更易在事故后受重傷及死亡。因此,有必要通過改進車身設計、完善駕駛員培訓、重點路段監控等手段增強對大貨車/客車的安全保護,減少其發生事故的概率;同時也需要對于老人與幼兒進行重點保護與優先救治,以避免更嚴重的事故結果。
根據SHAP值可知,對于死亡影響前五大的因素依次為碰撞類型、事故特征、道路允許車速、道路分類、當事人年齡。
碰撞類型與當事人年齡對于死亡的的影響已在節4.1中進行了討論,在本小節僅討論其余因素。在事故特征中,起步對于死亡產生更大影響,這是因為此過程中車輛存在更大的追尾及碰撞的風險。在道路允許車速中,有較多的相對低速的點集中于X軸正半軸,表示相對低的限速對于死亡結果產生了正影響,這與常理默認的“車速與死亡呈正相關”觀念不符。原始數據集中,道路限速在30~60 km/h的死亡占比超過 60~90 km/h,僅次于90~120 km/h。在此限速區間,駕駛員傾向相信自己的駕駛經驗、更易產生懈怠心理從而忽視了對潛在風險的感知。而高速公路死亡事故高發與高速公路行車速度高,速度差大等因素有關,此外高速公路平坦舒適,道路寬闊,景色單一,減少刺激,加上長時間的精神高度集中,操作單調,極易出現超速或者生理和心理疲勞的現象。
盡管前面的研究已經解釋了不同單因素條件對于死亡的影響,然而機動車交通事故為多因素共同作用下的結果,因此,使用結合前文所述對死亡影響最大的前四種因素——碰撞類型、事故特征、道路允許車速、道路分類的部分依賴圖(圖3)來對死亡事故成因進行解釋。這些分類圖中,橫/縱坐標代表不同因素,坐標的正負代表SHAP值的正/負, 堆疊的密集程度代表事故的頻率。

圖3 結合前四種因素的部分依賴圖
結合碰撞類型與其余三因素的部分依賴圖可看出,當碰撞類型為客/貨車單方事故時,各種事故形態、道路允許車速及道路類型均對死亡產生正影響。這說明客/貨單車發生事故的結果大多趨向于死亡,需重點關注。而當碰撞類型為轎車單/雙方時,大部分其他因素的不同條件都對死亡產生負影響,僅在事故類型為起步、道路允許車速超過90 km/h、道路多為高速公路與國道時會產生正影響,在此場景下駕駛員的視距較差、車速過快,增加了撞車的可能性。需對此類型情景進行詳細研究,分析此時駕駛員的視野、行為與易發生事故的位置,進行車身設計改進及重點區域提醒,以降低此情景下的死亡率。
結合事故特征與道路允許車速、道路分類的的部分依賴圖可看出,當事故特征為前方行駛等待、側向運動、內彎穿行時,各種事故因素均對死亡產生負影響,這也可以說明以上三種事故特征造成的后果嚴重性較低。當事故特征為起步/停止、跑偏、碰撞對象車輛、撞障礙物時,更高的道路限速會造成更高的死亡正影響。因為更高的車速產生了更大的動能,對人體造成更大的沖擊,更容易造成車內人員死亡。
由于道路類型與道路限速具有一定程度的相關性,因此,結合道路類型與道路限速的部分依賴圖參考意義不如前幾種類型。但是從圖中堆疊的點的密集程度也可說明,道路限速與死亡影響程度并非一個正相關關系,除高速公路事故外,更應該關注道路限速為30~60 km/h時的駕駛行為,此速度區間內發生死亡事故較多,且分布道路類型廣泛。
值得注意的是,部分依賴圖表達的僅為兩種因素耦合作用的影響程度,其目的是通過特定某幾種特征的結合來輸出可能出現的結果,駕駛事故的出現基于多種復雜致因共同作用,因此,很有必要進行更多元的因素分析。
1)根據已有的CIDAS數據建模分析比較四種模型的分類效果,發現相較于CatBoost、隨機森林和LightGBM模型,XGBoost在預測機動車交通事故的事故嚴重程度時,具有更加優異的性能,降低了泛化誤差。
2)利用SHAP解釋已調試好的XGBoost模型,發現對于輕傷/重傷/死亡結果影響最大的因素分別為碰撞類型、當事人年齡、碰撞類型。影響死亡前5大特征依次為碰撞類型、事故特征、道路允許車速、道路分類、當事人年齡。
3)為了避免死亡事故的發生,需重點關注、預防客/貨車單方碰撞事故、事故特征為起步/停止、高道路限速下跑偏/碰撞對象車輛/撞障礙物的場景,并且應對于車輛行駛在30~60 km/h限速道路的駕駛員的懈怠心理重點關注。