曹 磊,裴莉莉,高 堯,李 偉,戶媛姣
(長安大學 信息工程學院,西安 710064)
隨著我國道路運輸行業的快速發展,“兩客一危”道路運輸車輛數量出現大幅度的增長,在方便人們出行、促進地區經濟水平發展的同時,也給道路出行和乘客的生命財產安全帶來了極大的考驗[1].
然而,由于“兩客一危”車輛的特殊性、高風險性,以及路網中“兩客一危”車輛數據的相對獨立性和地區差異[2],各地區(省)對于活動在本省境內的“兩客一危”車輛缺乏系統性研究和管理,沒有能夠充分挖掘大數據背景下研究分析的方法和優勢,對于“兩客一危”重點車輛的跟蹤監測、分析、分布與風險預測沒有進行深入挖掘,從而不利于政府等監管部門的監督和決策.
另一方面,交通安全是交通領域的關鍵問題.交通安全條件由駕駛員,車輛和駕駛環境決定.先前的研究表明,超過90%的交通事故與不安全的駕駛行為有關.駕駛行為在駕駛風險分析中起著重要作用.但是,在現實生活中很難衡量駕駛風險[3].因此駕駛模擬器通常用于調查各種實驗環境中的駕駛行為[4].諸如自然駕駛研究(NDS)和DriveCam 系統之類的一些車輛儀表技術已被廣泛用于監測駕駛行為和運動學特征[5].現有的大多數危險駕駛行為分析都依賴于碰撞數據或自我報告的問卷調查[6].張輝等[7]通過設計分心模擬駕駛試驗來采集駕駛人眼動特征數據,進行駕駛員的分心狀態判別.侯海晶等[8]利用搭載了眼動儀的駕駛模擬器才采集駕駛員感知與操作的數據,利用這些數據對駕駛員的駕駛風格進行分類.薛清文等[9]通過采集高精度車輛軌跡數據評估駕駛員的整體駕駛狀態,利用LGBM(Light Gradient Boosting Machine)算法對危險駕駛行為進行識別.為了充分探索交通事故中的駕駛行為,重要的是要保持真實駕駛情況下的駕駛行為習慣.
對于危險駕駛行為的研究,交通事故數據傳統上是主要或唯一的數據源,但是交通事故在廣義上來說是一個小概率事件,其所包含的信息很少,因此主動采取有效交通安全措施的方法已被忽略.其次,多層次或多結構的模型能夠發現數據中所忽略的對交通安全的影響因素,對數據的多維度挖掘.最后,國內很少將積累的“兩客一危”車輛大數據用于道路安全以及危險駕駛研究.
為了填補上述研究空白,本研究的研究目的主要分為以下兩點.第一個目標是從宏觀水平上分析不同類型的卡車駕駛員的駕駛習慣和危險駕駛的傾向.第二個目標是通過在微觀層次上對車輛進行動態監控,在這兩個水平的基礎上建立一個多級模型來對“兩客一危”的車輛進行監控和管理.該研究與現有研究的不同之處在于同時考慮了以下方面:
1)采用真實的“兩客一危”車輛駕駛數據(并不是來源于模擬器產生的實驗數據),并根據多個指標發現識別潛在的危險駕駛行為;
2)使用大規模數據集,本文使用的數據集以5 s 的間隔記錄貨車和客車的行車速度,車輛位置,車輛信息相關的數據;
3)建立反映“兩客一危”車輛駕駛員危險駕駛傾向的多層次模型.
本文使用的數據為陜西省境內2018年9月至2019年2月共6 個月的“兩客一危”車輛的行駛數據,其中每天包含大約25 000 輛車的行駛信息,每個車輛每天的行程為一個單獨的數據文件,其中包含的數據項如表1所示.

表1 車輛行駛數據字段解釋
在原始數據集中,隨機選擇不同日期(包含節假日、工作日)、不同天氣狀況、一天內不同時段、不同顏色牌照以及不同道路狀況的多類車輛行駛數據對駕駛員的駕駛行為進行分析.本文共選擇了9000 輛“兩客一危”車輛的行程(單位:天)進行研究.
在對字段的篩選中取出與駕駛員危險駕駛行為相關的車輛位置信息,例如車輛的GPS 速度,車輛時間信息與車輛的方向信息.其中車輛的位置信息用于判斷車輛行駛道路類型,速度、時間與方向信息用于評判駕駛員的駕駛狀態,在對數據字段進行篩選采樣之后,對現有字段中每輛車每天行程(運行時間大于2 小時)的速度變化信息與方向變化信息計算方差,形成新的字段.9000 輛車的速度方差與方向方差部分數據可視化結果如圖1所示.

圖1 方差示例數據
從數據可視化圖中可以發現,數據中包含大量的零值,而這些零值表示這些車輛的沒有處在行駛狀態,因此需要對這些零值進行清洗,清洗后的數據如圖2所示.

圖2 零值清洗后數據
同時,在這些數據中還有一些由于傳感器的誤差或者其他原因產生的異常數據,使用箱型圖的方法可以有效檢測到這些異常值,對去除零值后的數據進行箱型圖可視化如圖3所示.
圖3中的“+”表示數據中的異常值,將這些異常值從原數據中清洗掉,還有7895 輛車的行駛狀態數據,之后再對清洗后的數據示例進行可視化如圖4所示.

圖3 箱型圖檢測異常值結果

圖4 數據清洗后結果
從零值與異常值清洗后的數據可視化圖中可以看出,車輛行駛的速度方差和方向方差的數據分布不均衡,且波動相差較大這將在之后的距離計算中對計算結果產生影響,因此需要對數據進行歸一化處理,本文使用的歸一化方法為min-max 歸一化方法,如式(1):

其中,Vi是真實值,Vi′是規范化之后的值.
對歸一化后的數據進行可視化如圖5所示.

圖5 歸一化數據可視化
從圖5中可以看出數 據的分布已經比較均衡,之后以此數據作為輸入樣本對駕駛情況進行聚類分析.
本文采用多層次的模型來對“兩客一危”車輛駕駛員的駕駛行為進行分析評價,多層次主要體現在宏觀與微觀兩個層次.宏觀層面上對駕駛員的一次行程信息進行分析以評判其駕駛平穩性,微觀層面對駕駛員駕駛車輛在不同速度下的危險駕駛行為進行識別.多層模型的結構如圖6所示.

圖6 “兩客一危”車輛行駛狀態多層評價模型
對車輛行駛數據的宏觀層次分析可以使用聚類的方法.聚類分析是一種無監督的學習技術,可將一組物理或抽象對象劃分為幾個相似的聚類以獲得全局數據圖或對特定聚類進行進一步分析.通過聚類生成的類是一組數據對象,與原始組中的其他對象(基于相似性進行聚類)相比,它們具有更大的相似性.相似性由研究對象的屬性值確定,相對距離是一種常用的措施.
本文選擇基于相對距離的聚類算法K-means 對數據進行聚類,該方法能夠將數據劃分為預定數量的聚類(假設有足夠多的不同情況).
基于距離的算法依靠距離度量(函數)來度量數據點之間的相似度.距離度量的標準是歐氏距離、余弦或快速余弦距離.根據所使用的距離度量將數據點分配給最近的群集,該算法認為兩個數據對象的距離越近,相似度就越大;距離越遠,相似度就越小.它基于樣本空間中最有代表性的點,迭代地將所有數據樣本劃分為不同的類別,使聚類出來的每個簇的聚合度最高,簇間的分離度最高.對于距離度量本文采用歐式距離計算方法計算,公式如式(2)所示:

其中,xi和xj為計算距離的兩個點,m為樣本維度數,n為當前維度.
K-means 算法因其算法框架清晰簡單易懂,處理大數據集的算法相對可擴展且高效的優點其才得到大量的應用;當數據集的類密集且類與類之間的差異明顯時,該算法處理的效果最好.使用該算法對數據進行聚類分析的首要任務就是給出要生成的類的數目k,k值是否合適可以通過計算SSE(簇內誤差平方和)來評價.SSE-Kmeans 聚類算法中的核心思想是:
1)在聚類分析中隨著數據簇數k的增加,樣本拆分變得更加復雜并且精細,而且每個類別的聚合強度逐漸增加,因此平方誤差和SSE自然降低.
2)如果k小于真實簇的數量,則k的增加將大大增加每個簇的內聚性,因此SSE的下降程度將會很大.并且當k達到真實簇的數量時,再通過增加k的值得到的聚合程度的增加將會迅速變小,因此隨著k值的持續增加,SSE的下降率迅速下降并逐漸趨于平穩.也就是說,SSE和聚類類別數k之間的關系呈肘形,其中肘形圖中肘部對應的k值就是數據中真實簇的數量.
對于一個特定的d維數據集合D=(x1,x2,…,xn),SSE-Kmeans 算法的步驟如圖7所示.

圖7 SSE-Kmeans 算法步驟
對車輛行駛數據的微觀層次分析中使用動態閾值的分析方法.在車輛危險行駛狀態的評判及等級劃分的研究中,當前學者多采用固定閾值的方法,但是車輛在不同速度的情況下危險駕駛的評判應當也不相同,如速度越快急轉向的評判閾值應該越小,因此基于速度的車輛危險行駛狀態的動態閾值評判更符合實際情況.
Han 等[10]利用車輛黑匣子收集了速度、加速度及橫擺角速度數據,識別了急加速、急減速、急轉彎、突然換道4 種車輛危險行駛狀態,并提出了基于不同速度區間的閾值劃分方法,如表2和圖8所示.

表2 微觀模型動態閾值

圖8 動態閾值分布圖
本文使用上述閾值對“兩客一危”車輛每條記錄的行駛狀態進行評判并記錄,并結合宏觀模型對車輛行駛平穩狀態的評估得到車輛的總體評價[11-13].接下來主要介紹宏觀層次模型的應用.
對數據使用SSE-Kmeans 聚類算法進行聚類首先需要確定簇的個數(即k),k值可以通過簇內誤差平方和(within-cluster SSE)確定,SSE的計算方法如式(3)所示:

其中,x(i)表示第i個數據點,μ(j)表示j簇的中心,n和m表示樣本的維度.
對歸一化數據進行SSE計算結果如圖9所示.
圖9中可以看出當k值為4 時,正好是手肘的位置,即為最佳聚類簇數.使用SSE-Kmeans 算法對數據進行聚類,得到結果如圖10所示.
圖10中每一個顏色代表一個數據簇,“X”符號代表每類數據點的中心.
同時采用基于密度的聚類方法DBSCAN (Eps=0.5,nPts=10)對數據進行聚類可以得到的結果如圖11所示.

圖9 SSE 與k 值的關系

圖10 SSE-Kmeans 算法聚類結果圖

圖11 DBSCAN 算法聚類結果圖
從圖11可以看出,DBSCAN 算法將數據聚類為一類.與圖10對比可知,當數據量的類密集時,基于密度的聚類算法DBSCAN 對行駛平穩性數據的聚類效果并沒有基于相對距離的算法SSE-Kmeans 對行駛平穩性數據的聚類效果好[14,15].因此本文將對SSE-Kmeans算法的聚類結果進行分析與討論.
圖10中每類的數據點數及每類數據點占總數據點的比例如圖12所示.

圖12 每類數據的分布情況與所占比例
對聚類結果從每類數據點的特點進行分析可以得出以下結論:
1)第1 類數據點(圖10中綠色點)代表了這些車輛中行駛最為平穩的一些個體,這些個體在一天的行程中速度和方向的變化都較為穩定,因此處在這一類的車輛駕駛員潛在危險駕駛的傾向性特別低.
2)第2 類數據(圖10中黃色點)則代表了車輛速度平穩性較好但方向平穩性較差的個體,說明這些車輛在這一天的行程中有可能行駛在彎道較多路況較差的道路上,雖然其方向平穩性較差,但是速度變化穩定,因此這一類的車輛駕駛員的危險駕駛傾向比較低.
3)第3 類數據(圖10中藍色點)代表了車輛方向平穩性較好但速度平穩性較差,說明這些車輛在這一天的行程中有可能行駛在彎道較少路況較好的道路上,但由于其速度平穩性較差即速度變化較大,好在其方向的變化性較小,因此處在這一類的車輛駕駛員的危險駕駛傾向也比較低.
4)第4 類數據(圖10中紅色點)代表了車輛方向平穩性較差且速度平穩性也較差或者方向平穩性較好但速度平穩性差的車輛,說明這些車輛在這一天的行程中有可能以很差的速度平穩性行駛在路況不好的道路上,或者以很差的速度平穩性行駛在路況較好的道路上,但是由于路況較好時車速也更快其危險駕駛行為造成的后果也更嚴重,因此這種特點都說明處于這一類的車輛駕駛員的危險駕駛傾向比較高.
結合上面的分析結果,可以發現88%的車輛都處于低,或者較低的危險駕駛傾向區域,其中有24%的車輛在這一天的行程中速度和方向的平穩性均比較低,剩余的12%的車輛在這一天的行程中含有較高的危險駕駛行為的傾向.聚類結果分布如圖13.

圖13 聚類結果分布圖
此外,據圖13的分布情況可以看出,車輛數據點中的大部分都集中在數據分布圖的右下方,陜西省內的“兩客一危”車輛主要行駛在彎道較少路況較好的道路上,因此應該主要關注這些車輛的速度以及加速度的變化即可.
當需要對某車輛的行駛平穩性進行評價時,在宏觀層面上首先計算其行程方向與速度數據方差,之后判斷其屬于哪一類數據簇,那么其行駛狀態就具有那一類數據的特點.同時在微觀層面上對其行駛過程中的急加速、急減速、急轉向、突然換道次數進行計算.結合兩個層面上的分析結果對車輛的形式狀態以及駕駛員的駕駛習慣進行全面準確的評估.
本文采用陜西省內的“兩客一危”車輛的行駛GPS數據,提出了用以評價“兩客一危”車輛行駛狀態的多層次模型,其中多層次模型包含宏觀評價模型與微觀評價模型,宏觀模型基于SSE-Kmeans 算法對車輛行程的速度與方向方差進行聚類分析從而評價車輛行程行駛狀態穩定性,微觀模型主要通過動態閾值的方法評價車輛行駛中急加速、急減速、急轉向的次數.且這些評價均與實際情況相符,能夠較為準確地對車輛行駛狀態進行評價.對于管理部門而言,能夠根據該結果及時對有危險駕駛傾向的駕駛員做出提醒并重點監測,提高車輛的安全駕駛程度,降低“兩客一危”車輛的事故發生率,從而保障人民的生命財產安全,提高運輸效率、應急處置和政策決策能力.