


摘要:針對目前已有的貨運車輛定位數據,提出了采用隨機森林算法對數據進行分析和挖掘的方法,根據速度、方向、時間、經緯度等定位數據指標,分析判斷駕駛員是否超速、是否疲勞駕駛,是否有定位漂移現象等不規范駕駛行為的存在,以及不規范程度,最后得出“安全”“一般”“危險”三種分析結果。經多次實驗,該方法能夠達到很好的分析效果。根據分析結果,駕駛員和企業相關部門可以進行相應的處理,以達到車輛正常、安全行駛的目的。關鍵詞:隨機森林;決策樹;車輛定位;行為分析
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2019)35-0204-03
1 概述
近年來,汽車已經成為我們日常出行必不可少的交通工具。隨著汽車保有量的不斷增加,對車輛的定位監管也成為當下的一個趨勢。尤其是對于國家規定的道路運輸車輛,必須安裝、使用具有行駛記錄功能的衛星定位裝置,道路運輸企業必須使用車輛定位監控系統對其監管的車輛進行實時定位監控,確保車輛正常、安全行駛。
在使用車輛定位監控系統對貨運車輛進行定位監控的過程中,發現有很多駕駛員不規范駕駛導致車輛出現行使軌跡異常的現象。比如超速行駛、疲勞駕駛、車輛行駛軌跡不完整,以及出現位置漂移的現象較為嚴重。其中的原因包括人為因素和自然因素兩個方面,自然因素方面主要是因為北斗衛星導航系統尚處于完善階段,加上大氣折射、樓房建筑的遮擋都可能會使定位精度出現偏差。另一方面,《中華人民共和國道路交通安全法實施條例》第六十二條規定,“駕駛機動車不得有下列行為:連續駕駛機動車超過4小時未停車休息或者停車休息時間少于20分鐘[1]?!庇捎谪涍\物流行業需要時效性,需要提高運輸效率,所以駕駛員有時會將車載定位終端關閉,逃避監管,連續駕駛超過4小時甚至達到10小時也都是很常見的事,因此出現超速行駛、疲勞駕駛和軌跡漂移等現象。
為了提高車輛行駛的安全性,本研究提出了基于隨機森林算法對車輛定位數據進行分析研究的方法,深度挖掘駕駛員的不良駕駛行為,將定位數據形成駕駛行為分析報告,并及時反饋給車輛駕駛員和車隊企業相關部門,進行調查分析和批評教育等措施。本研究所提到的車輛均為道路貨運車輛,已有的數據也是貨運車輛的定位數據,包括歷史數據和實時數據。主要的研究因素包括速度、方向、時間、經緯度等,通過對駕駛行為的多個特征屬性進行度量,并且創建多個決策樹,最終形成隨機森林。根據分析結果,得出是否超速、是否疲勞駕駛等不規范駕駛行為信息,以及是否存在位置漂移現象等信息。通過對決策樹的投票統計分析,將車輛駕駛員的駕駛行為進行分類,根據隨機森林分類統計,將駕駛行為歸類為“安全”“一般”和“危險”三種結果中的一個。經多次實驗研究,該方法能達到很好的分析效果。
2 隨機森林
2.1隨機森林原理
隨機森林(Random Forest)是機器學習算法中的一種有監督學習算法,顧名思義,它是由許多決策樹構成的森林,并且該森林擁有某種方式的隨機性[2]。該算法是為了解決單一決策樹可能出現較大誤差和過擬合的問題。隨機森林中的每一棵決策樹都是沒有關聯的,這樣能夠降低單一決策樹可能產生的片面性和判斷的不準確性[3]。在構造隨機森林之后,每當有一個新的樣本進入隨機森林中,森林中的每一棵決策樹都進行判斷,并將該樣本進行分類,最后統計分析哪一類被選擇的次數最多,將被選擇次數最多的結果作為隨機森林最終的結果。 隨機森林采用Bagging算法,是在Bagging的基礎上改進而來的,它的基學習器是CART決策樹[4]。隨機森林將決策樹作為Bagging中的模型,采用有放回的隨機取樣的方法生成多個訓練集,對每個訓練集分別構造一棵決策樹,在進行節點切分的時候,并不是對所有的特征選擇最優的進行切分,而是隨機地選取n個特征,從這n個特征中選擇最優的特征進行節點切分,從而進一步降低了模型的方差,可以避免出現過擬合的情況[5]。
2.2隨機森林算法描述
1)設訓練總樣本的個數為N,每棵決策樹采用bootstrap采樣方法,從這N個訓練集中有放回的隨機抽取n個樣本作為該決策樹的訓練樣本。
2)設訓練樣本集中的特征的個數為M,在決策樹的節點進行切分時,在M個特征中隨機的選擇m個特征,然后從m個特征中選擇一個最優的特征的進行切分。m越小模型方差也越小,但是偏差會越大,需要通過交叉驗證的方式進行調參優化。
3)每棵決策樹的節點不斷地進行切分,直到該節點的所有訓練樣本都屬于同一類,不用再對節點進行剪枝。由于決策樹采樣的過程是具有隨機性的,所以幾乎不會出現過擬合的情況。
4)最后對分類結果進行統計,將投票最多的分類結果作為整個隨機森林的分類結果。
3 隨機森林駕駛行為算法分析
結合機器學習相關思想,本文提出了一種基于隨機森林的車輛駕駛員的駕駛行為分析方法,步驟如下:
1)將北斗車輛定位數據集通過bootstrap方法有放回地重復隨機抽取樣本生成訓練樣本集合。
2)采用C4.5算法構建決策樹,對決策樹的分裂屬性進行選擇。
相關算法定義及公式如下所示:
1)設D是訓練樣本集,類別屬性具有m個不同的值,則有m個不同類Ci=1,2,…,m),Di是Ci的樣本集合,則信息熵的計算公式為:
決策樹的構造流程如下:設訓練樣本集為D,D中的屬性為速度、方向和時間,屬性集為A,A中的屬性為0、1、2,表示安全、一般和危險。
1)創建節點N;
2)如果D都在同一個類C中,則返回N作為葉節點,用類C標記;
3)如果A為空,則返回Ⅳ作為葉節點,標記D為樣本樹種最多的類;
4)如果是通過增益率選取最佳屬性,則將a0標記為N,并在屬性集中去掉a0;
5)N根據a0的值劃分成不同的子集Ds。如果Ds為空的話,則將N標記為葉節點,標記D為樣本樹種最多的類;如果Ds不為空,在子集Ds和剔除了a0的新的屬性集Aa0中再選出最佳屬性a1,標記為新的節點N,并在屬性集中剔除a1;
6)重復執行以上步驟n次,會生成n棵決策樹,最終形成隨機森林。經過每棵決策樹對測試數據的決策投票,分析判斷最終得出決策分類結果。
4 實驗研究
本研究根據已有的車輛監控平臺,平臺目前有1300多輛貨運車輛,選取2018至2019最近兩年將近95萬條車輛定位數據,本文只篩選出2019年5月份的車輛數據,從中選出10輛車輛,采用隨機森林算法,以速度、方向、時間作為特征屬性,提出駕駛人的駕駛行為分析方法研究,判斷出該車駕駛員的駕駛行為屬于安全、一般或是危險類別中的一個。
4.1實驗環境
4.2數據集
4.2.1訓練集數據
原始定位數據集是通過車載終端獲取得到的,終端每30秒傳輸一次定位數據,數據包括車牌號、速度、方向、時間、經度、緯度等等,本文只選取以上幾個屬性進行研究,并加上分類屬性,“0”表示“安全”“1”表示“一般”“2”表示“危險”。訓練集樣本示例如下表所示:
4.2.2測試集數據
測試集數據是車輛定位原始數據,并經過進一步數據清洗,過濾空數據和無用數據之后篩選出來的。無論是對歷史數據進行分析還是實時數據,都需要對原始數據進行操作,因此測試集也是原始數據。測試集樣本示例如下表所示:
4.3實驗結果分析
本實驗使用PyCharm開發工具,調用sklearn中的Random-ForestClassifier方法完成隨機森林算法對駕駛行為的分析。在實驗過程中,有兩點需要特別注意,第一個是樣本數據集的劃分,將數據集分為訓練集和測試集兩部分,訓練集所占總體數據集的比例不同,預測的精確度也不同。將訓練集占總體數據集的比例作為分離比,根據大量的現代統計學試驗驗證,當分離比為70%左右時,生成的隨機森林模型的性能最好,精確度最高[6]。在本實驗中,設置不同的數據集分離比,根據下圖所示,當分離比為72%時精確度最高,最高精確度可達85%左右。訓練集分離比與模型精確度關系圖如下圖所示:
第二點是決策樹數量的選擇,在隨機森林中,決策樹的數量會影響隨機森林模型預測的精準度。在本研究過程中,決策樹的棵數從0開始,每次增加50棵樹,從下圖可以看出,當隨機森林模型中決策樹較少時,模型整體精準度會隨著決策樹數目的增加而提高,當決策樹達到500棵時,模型的精準度變化較小,繼續增加決策樹數目,模型的精準度不會有所提高,反而會增加模型的復雜性和計算量,致使模型效率降低。隨機森林中決策樹的數目與模型精確度關系如下圖所示:
綜上,本實驗采用總體樣本集的72%作為訓練集,剩下的28%作為實驗測試集,并且隨機森林中決策樹的數目選擇為500,實驗選取50輛車一天的行駛定位數據,將分類結果與根據實際情況對比,實際分類準確率可達92%左右,實驗結果如下表所示:
5 結束語
隨機森林算法是目前常用的機器學習算法之一,能夠處理高維特征,模型訓練速度比較快,對數據的適應能力強,既能處理離散型數據也能處理連續型數據,數據集無須規范化。與決策樹相比,雖然計算速度比單個決策樹慢,但是具有更高的預測準確率,對異常值和噪聲有很好的容忍度,不容易產生過擬合的情況。本研究通過北斗車輛定位數據,對數據進行篩選,建立決策樹,構造駕駛行為隨機森林模型,最后用Python語言實現隨機森林算法,并驗證了模型的準確率。該算法不僅適用于歷史軌跡數據,也可以應用于實時數據預測中,根據駕駛員實時定位數據,及時做到不良駕駛行為的預測,提示駕駛員或者相關管理部門進行監管,已達到提高駕駛安全性的目的。
參考文獻:
[1]中華人民共和國道路交通安全法實施條例.中華人民共和國道路交通安全法實施條例[J].司法業務文選,2004(21):4-10.
[2]黃亮,董智浩,張銳明.基于隨機森林的駕駛行為分析[J].無線互聯科技,2018,15(7):72-76.
[3]朱冰,李偉男,汪震,等.基于隨機森林的駕駛人駕駛習性辨識策略[J].汽車工程,2019,41(2):213-218.
[4]余以勝.基于隨機森林的用戶行為識別模型研究[J].電腦知識與技術,2017,13(3):156-157.
[5]莊明科,白海峰,謝曉非.駕駛人員風險駕駛行為分析及相關因素研究[J].北京大學學報:自然科學版,2008,44(3):475-482.
[6]劉凱利,李晉宏.基于決策樹C4.5算法的個人駕駛行為分析[J].軟件,2016,37(6):83-86.
【通聯編輯:梁書】
收稿日期:2019-10-24
作者簡介:陳東攀-(1994-),男,河南新鄉人,碩士,華北水利水電大學信息工程學院,主要研究方向為數據分析、人工智能、計算機技術等。