魏思遠,劉佳,李蓓蓓
(1.北京信息科技大學 自動化學院,北京 100192;2.32381部隊,北京100072)
數據挖掘是一種重要的信息處理技術,是從大量的實際應用數據中提取隱含在其中的有用信息和知識的過程,其主要通過對數據進行抽取、轉換、分析和模型化處理等,來提取輔助預測或決策的規(guī)律。常用的數據挖掘方法包括分類、聚類、關聯分析和異常檢測等。應用數據挖掘技術對交通事故數據進行分析處理,對道路交通中發(fā)生事故的原因進行評價和預測,可為交通部門制定相應的預防性政策,優(yōu)化交通系統(tǒng)提供有用的指導。
先驗(Apriori)算法是經典的關聯分析方法,在交通事故挖掘中應用較多。Apriori算法利用支持度和置信度指標來分辨數據中存在的規(guī)則:通過設定最小支持度,獲得支持度大于最小支持度的集合——頻繁項集;通過設置最小置信度,得到置信度大于最小置信度的關聯規(guī)則,即強關聯規(guī)則。李佳敏等[1]基于保險公司提供的交通事故數據,通過Apriori算法分析了駕齡、時間段以及月份與事故發(fā)生的關聯性。李妙梅等[2]基于Apriori算法探討了電動自行車危險駕駛行為的影響因素。杭福兵[3]采用Apriori算法對公交車交通事故數據進行了分析。牛毅等[4]以高速公路貨車交通事故數據為樣本,用Apriori算法和可視化技術挖掘了事故影響因素間的關聯關系。但是Apriori算法挖掘效果受最小支持度和最小置信度參數設置影響較大,并且在大數據集上執(zhí)行效率較低。
模型化方法通過建立數學模型分析事故特征及其主要影響因素。金雪純子[5]基于特大交通事故數據集,分析特大交通事故的分布特征,構建隨機參數評定模型(logit model)以揭示特大交通事故嚴重程度的關鍵影響因素。毛應萍等[6]提出了基于事故嚴重程度的地理信息系統(tǒng)(geographic information systems,GIS)事故多發(fā)點段動態(tài)分析模型。羅圣西[7]利用邏輯回歸和隨機森林算法建立了基于空間環(huán)境特征的事故嚴重程度預測模型,用以識別影響事故嚴重程度的主要特征。Feng等[8]用時間序列和深度學習模型對英國交通事故數據進行分析和預測。Jiang等[9]應用云計算技術和物聯網技術構建模型進行事故數據分析。這一類方法的分析效果受模型特性影響,一般選擇代表性因素進行建模,無法考慮更多更全面的影響因素。
不同于只基于關聯分析算法的研究和構建模型的方法,本文融合運用統(tǒng)計、分類、關聯分析算法,對交通事故數據進行挖掘和分析,以尋找對交通事故嚴重程度有重要影響的因素。通過多種算法融合和互相驗證的方式,避免了單一方法的局限性,提高了獲取信息的全面性和可靠性。
交通事故數據挖掘系統(tǒng)流程如圖1所示。對預處理后的數據進行匯總統(tǒng)計,并應用分類、關聯分析算法進行挖掘分析。本文基于開源數據挖掘軟件Weka進行實驗。
圖1 數據挖掘系統(tǒng)流程
首先進行數據的預處理,剔除無關屬性并對數值屬性進行離散化。
其次進行匯總統(tǒng)計和可視化,以發(fā)現數據的規(guī)律性,從而決定后續(xù)的挖掘策略。
再次,應用決策樹算法C4.5、支持向量機(support vector machines,SVM)算法和貝葉斯(Bayes)算法對交通事故數據進行分類,通過不同因素對分類準確率的影響程度篩選出交通事故的重要影響因素。C4.5算法是一種經典的決策樹算法,用信息增益率來選擇屬性。由于決策樹算法具有可解釋性,本文選用該算法進行分類挖掘。支持向量機是一種具有強大的正則化能力的判別分類模型,具有統(tǒng)計學理論基礎,可以很好地應用于高維數據。貝葉斯分類算法是統(tǒng)計學中的一種分類方法,利用概率統(tǒng)計知識進行分類。該算法能運用到大型數據中,而且方法簡單,分類準確率高、速度快,對噪聲魯棒。本文選用支持向量機和貝葉斯這兩種算法進行分類,目的是與決策樹算法結果進行對比,以驗證分類結果的有效性。
通過分類可得到影響事故嚴重程度的因素。這些因素之間,以及與其他因素之間存在哪些規(guī)律性,可以通過關聯分析來獲得。本文應用Apriori算法進行關聯分析,利用支持度和置信度指標來獲取數據中存在的規(guī)律。
交通事故數據指與交通事故有關的駕駛員、車輛、道路和環(huán)境信息數據,具體包括事故發(fā)生時間、地點、事故車輛型號、載客數量、乘客傷亡情況、駕駛員狀態(tài)和行為,以及事故發(fā)生時的天氣等環(huán)境信息。
在這些信息中,駕駛員狀態(tài)和行為、車輛狀況、道路周邊情況,以及天氣環(huán)境都是事故發(fā)生的潛在原因。具體來說,駕駛員的狀態(tài)和行為包括是否存在酒駕、疲勞駕駛、未系好安全帶、操作失誤等不當行為;車輛原因指車輛是否發(fā)生故障;道路周邊情況指事故發(fā)生時周邊車輛和行人情況、道路基礎設施和交通條件;天氣環(huán)境包含天氣狀況、溫度、濕度、風速、氣壓等環(huán)境信息。
本文基于kaggle網站[10]的美國2016-2021年車輛事故數據集[11-12]對影響交通事故嚴重程度的因素進行研究。該數據集約有280萬條事故記錄,是由美國執(zhí)法機構和49個州的道路交通傳感器在2016年2月到2021年12月間收集到的數據。每條數據都記錄了事故發(fā)生時的47個現場要素,如:事故發(fā)生的時間、所在的位置、影響的道路長度、事故嚴重程度、附近的道路設施情況,以及天氣、溫度、濕度、風向、風速、氣壓等天氣環(huán)境狀況。對該事故數據集的預處理過程如下。
1)剔除了17個與本次挖掘無關的屬性,如“事故編號”、“郵政編碼”、“國家”、“州”、“城市”、“道路編碼”、“GPS定位”、“時區(qū)”等;刪除了有重復含義的3個不同標準下的時段屬性。選取剩余的27個屬性用于研究,如表1所示。
表1 數據屬性
2)為了進行分類和關聯分析,對除了“時區(qū)時間”和“天氣時間戳”之外的數值屬性進行了離散化處理。
針對預處理后的數據,首先進行匯總統(tǒng)計,以發(fā)現數據的規(guī)律性,獲取交通安全影響因素,并為后續(xù)的挖掘策略奠定基礎。具體實驗過程如下。
1)首先對美國交通事故數據集[11-12]中2016-2021年數據進行隨機抽樣,共抽取約6 300條數據。
2)對溫度、濕度、風速等數值屬性計算最大值、最小值、均值、方差等統(tǒng)計量;對天氣狀況、風向屬性計算不同取值所占的比例,找到占比前三的屬性值;對嚴重程度屬性及所有二元屬性統(tǒng)計不同取值的比例。
3)基于統(tǒng)計量計算及可視化結果來分析數據分布的規(guī)律性,挖掘事故影響因素。
4)通過不同屬性之間的線性相關性的可視化,發(fā)現屬性之間的相關關系,后續(xù)挖掘時可去除相關屬性。
圖2~4分別為2016-2021年溫度、濕度、風速幾種數值屬性的抽樣數據分布情況。
圖2 溫度分布
圖3 濕度分布
圖4 風速分布
由圖2可知,溫度在較適宜的6~26.7 ℃范圍內時發(fā)生的事故數量較多,而較低和較高溫度區(qū)間的事故數量較少。由圖3可知,隨著濕度的增加事故的數量也增加。由圖4可知,風速較小時事故數量較多。
表2是2016年和2021年天氣狀況排名前三的取值占比情況,圖5、6顯示了天氣狀況的具體分布。
表2 2016、2021年天氣狀況占比排名情況
圖5 2016年抽樣集天氣狀況分布
圖6 2021年抽樣集天氣狀況分布
由表2和圖5、6可知,兩組抽樣數據里,排在前三位的天氣都是晴、多云和陰,并且都是晴朗天氣占比最大,發(fā)生事故數量較多,而一些極端天氣,如大雨、大雪、霧等發(fā)生事故數量占比非常小。
分析以上統(tǒng)計規(guī)律出現的原因:在氣溫適宜、風速不大、無雨雪、無霧的天氣下,交通出行量較大,因此發(fā)生事故的數量也較多;由于濕度的增加能夠增加車燈、制動系統(tǒng)、地盤的故障率,因此濕度越大發(fā)生事故的數量越多。
表3統(tǒng)計了2016年數據中“嚴重程度”和“時段”不同取值的比例??梢钥闯?,較輕程度事故(等級2)所占比例最大,白天發(fā)生事故的比例高于夜晚。
表3 嚴重程度、時段取值占比
對表1中9個數值屬性間的相關性進行判定。任意選擇兩個屬性,分別以兩個屬性的取值作為數據點的橫、縱坐標繪制散點圖,根據圖上數據點的分布來判定兩個屬性的相關性。通過對所有屬性組合的散點圖進行觀察,發(fā)現屬性“溫度”和“風寒溫度”有較強的正相關性。圖7顯示了 “溫度”和“風寒溫度”的正相關性關系(數據點大體分布在斜率為正的一條直線上),因此可選擇去除“風寒溫度”屬性后再進行挖掘。
圖7 “溫度”和“風寒溫度”的相關性
為了進一步找出與事故嚴重程度關系密切的因素,對抽樣事故數據集應用決策樹C4.5算法、SVM算法和Bayes算法,基于10折交叉驗證進行分類挖掘,具體實驗過程如下。
1)選擇描述交通事故嚴重性的屬性“嚴重程度”作為類別屬性,選擇表1中的其余屬性作為特征屬性,進行分類,驗證屬性集合和事故嚴重程度之間的關聯性。用C4.5算法分類,正確率為85.1%;用SVM算法分類,正確率為84.7%;用貝葉斯算法進行分類,正確率為81.9%。
2)去掉某特征屬性,重新進行分類,看分類正確率的變化,以驗證該屬性對事故嚴重程度的影響。例如,去掉與“溫度”屬性有正相關性的“風寒溫度”屬性,重新進行分類,3種分類算法平均正確率下降了約0.1%。驗證了“風寒溫度”屬性對交通事故等級分類有較小的影響,原因在于其與“溫度”屬性的相關性。而去掉“濕度”屬性,3種算法平均分類正確率下降了約0.5%,可見“濕度”屬性與事故嚴重程度相關性較強。
3)測試所有特征屬性對“嚴重程度”分類的影響,得到與事故嚴重程度相關性較強的屬性為天氣狀況、溫度、濕度、風速、可見度、時段、是否交叉路口。但分類挖掘算法存在的問題是,去除冗余屬性后,事故影響因素挖掘結果可能不全面,因此后續(xù)的關聯分析分兩種情況進行:一是保留大部分屬性(只去除“風寒溫度”);二是只保留重要屬性組。
比較不同分類算法的分類效果,發(fā)現:決策樹算法對屬性的變化不太敏感,原因是該算法對冗余屬性具有魯棒性[13];在本實驗中SVM算法運行速度最慢,Bayes算法對屬性的變化更敏感。
由3.1~3.2節(jié)分析結果可知:天氣環(huán)境因素、時段、是否交叉路口是事故嚴重程度的重要影響因素。這些因素之間存在哪些相關性,可以通過關聯分析來獲得。
本文應用Apriori算法進行關聯分析,具體步驟如下:
1)針對原始的屬性組去掉相關屬性,即表1屬性組去掉“風寒溫度”,進行關聯分析;
2)對3.2節(jié)分類算法篩選出的重要屬性,即天氣狀況、溫度、濕度、風速、可見度、時段、是否交叉路口,進行關聯分析。
得到如下關聯規(guī)則:
1)可見度為15.3~20.1 km,非交叉路口→事故嚴重程度為輕;
2)白天,晴天/多云,可見度為15.3~20.1 km→事故嚴重程度為輕;
3)事故嚴重程度為重→非交叉路口。
基于以上關聯規(guī)則,可知:白天,可見度較好的非交叉口路段,容易發(fā)生交通事故,但一般較輕,其原因可能是在路況較好情況下,司機容易懈??;較嚴重的交通事故更易發(fā)生在非交叉路口路段,原因可能是在非路口路段,司機車速較快。
綜合第3.1~3.3節(jié)分析過程,匯總出以下信息,并嘗試分析了原因:
1)適宜天氣下交通事故發(fā)生數量較多,其原因是交通出行量較大;
2)濕度越大發(fā)生事故的數量越多,其原因可能是濕度增加了汽車部件的故障率;
3)溫度、氣壓、濕度、風速、天氣狀況、可見度等環(huán)境因素、時段(白天/夜晚)、是否交叉路口等信息與事故嚴重程度相關性較強;
4)白天,晴天/多云,可見度較好的非交叉口路段,容易發(fā)生事故,但一般較輕,其原因可能是路況較好時,司機容易大意;
5)較嚴重的交通事故一般也發(fā)生在非交叉路口。其原因可能是司機在非路口路段駕駛時,車速往往較快。
為了避免交通事故的發(fā)生,給出以下出行建議:在出行前應檢查車輛狀況,盡量選擇濕度較小的天氣出行;在路況較好的情況下,司機也不可以放松警惕;控制好車速,是避免嚴重交通事故的關鍵。
本文基于美國2016-2021年交通事故數據集,運用C4.5、SVM、Bayes、Apriori等算法,研究了交通事故各相關因素的關系,獲得了影響交通事故嚴重程度的主要因素,避免了單一方法的局限,提高了獲取信息的全面性和可靠性。通過數據挖掘給出了結論:在天氣狀況較好、視線較清晰的非路口路段,更容易發(fā)生事故;濕度會增大事故發(fā)生的可能性;嚴重的交通事故更易發(fā)生在非路口路段。最后基于挖掘結果給出了交通出行注意事項。本研究可以作為交通管理政策制定的信息參考。