黃 鋼,瞿偉斌,許卉瑩
(公安部交通管理科學(xué)研究所道路交通安全公安部重點(diǎn)實(shí)驗(yàn)室,江蘇無(wú)錫214151)
隨著我國(guó)道路里程、機(jī)動(dòng)車保有量和機(jī)動(dòng)車駕駛?cè)藬?shù)量的迅速增長(zhǎng),交通事故總量及傷亡人數(shù)居高不下.區(qū)域交通事故的特征分布與居民生活地域有明顯關(guān)系[1],在市域范圍內(nèi),呈現(xiàn)部分區(qū)縣或某一村鎮(zhèn)特定特征的事故多發(fā)情況,對(duì)交通事故特征地域分布進(jìn)行研究具有重要的理論意義和實(shí)用價(jià)值,可為交管部門制定針對(duì)性的事故預(yù)防對(duì)策提供參考.
交通事故地理位置聚類與基于交通事故空間特征的事故多發(fā)點(diǎn)段鑒別具有相同的含義.常用的交通事故多發(fā)點(diǎn)段識(shí)別方法有:累計(jì)頻率曲線法[2],用頻率曲線表示某個(gè)地點(diǎn)交通事故發(fā)生的次數(shù);臨界率法[3],在給定一個(gè)最高事故率的情況下,某一路段事故率超過(guò)該值則認(rèn)定為事故多發(fā)段;回歸分析法[4],應(yīng)用logistic回歸模型將不同交通流特征與交通事故發(fā)生的可能性關(guān)聯(lián)起來(lái),預(yù)測(cè)事故多發(fā)點(diǎn)段.這些方法在交通事故多發(fā)點(diǎn)段識(shí)別上都已相對(duì)成熟,但存在一個(gè)共同的問(wèn)題,即沒(méi)有考慮事故地理位置信息,研究的是具體某條路上的事故多發(fā)區(qū)域.學(xué)者使用神經(jīng)網(wǎng)絡(luò)聚類方法進(jìn)行基于GIS技術(shù)的事故多發(fā)點(diǎn)段識(shí)別[5],賦予不同道路特征參數(shù)不同權(quán)重,將所有權(quán)重加和后進(jìn)行評(píng)價(jià)以獲取事故多發(fā)點(diǎn)段信息,但存在定位信息不準(zhǔn)確問(wèn)題.
本文旨在通過(guò)交通事故信息采集項(xiàng)中記錄的事故地點(diǎn)信息尋找交通事故熱點(diǎn)區(qū)域,密度聚類方法更加適用.基于密度聚類的事故分析方法一般多用于刑偵領(lǐng)域,用于犯罪熱點(diǎn)區(qū)域研究[6].實(shí)際上交通事故的發(fā)生與交通參與者的居住地高度關(guān)聯(lián),區(qū)域交通事故往往呈現(xiàn)部分地區(qū)集中的情況,特定特征的交通事故(如酒駕醉駕、超速行駛等)尤為明顯.應(yīng)用密度聚類方法將事故地點(diǎn)進(jìn)行分類劃分,可便于交管部門對(duì)本區(qū)域交通事故進(jìn)行精細(xì)化管理及制定針對(duì)性事故預(yù)防對(duì)策.
數(shù)據(jù)來(lái)源于2019年無(wú)錫市人員傷亡或財(cái)產(chǎn)損失事故,部分?jǐn)?shù)據(jù)如表1 所示.首先需從事故信息中獲取事故地點(diǎn),我國(guó)現(xiàn)行的道路交通事故信息采集項(xiàng)中,事故地點(diǎn)記錄的是事故發(fā)生的地理位置,并未采集經(jīng)緯度信息.故對(duì)事故地理位置進(jìn)行分析時(shí),需應(yīng)用地理編碼將文字描述的事故地點(diǎn)轉(zhuǎn)換為便于計(jì)算的經(jīng)緯度數(shù)據(jù).國(guó)內(nèi)主流的在線地理編碼服務(wù)由百度地圖、高德地圖、搜狗地圖和騰訊地圖等提供[7].
表1 無(wú)錫市2019年原始事故數(shù)據(jù)(部分)Table 1 Original accident data of Wuxi in 2019(partial)
本文選用百度地圖和高德地圖地理編碼服務(wù),分別調(diào)用兩者的API,提取百度地圖API 和高德地圖API 返回?cái)?shù)據(jù),即可獲得事故地點(diǎn)的經(jīng)緯度,兩者對(duì)同一地點(diǎn)的地理編碼如表2 所示.參照文獻(xiàn)[7]對(duì)這兩種地圖的服務(wù)質(zhì)量進(jìn)行分析,結(jié)果如表3 所示.可以看出,高德地圖對(duì)事故信息中錄入的事故地點(diǎn)匹配成功率及精確匹配上服務(wù)質(zhì)量更好,百度地圖模糊匹配成功率相對(duì)較高.本文使用的地理位置均要求精確匹配,故最終選用高德地圖作為本文精確地理編碼工具;對(duì)剩余19.7%的地點(diǎn)采用百度地圖進(jìn)行模糊地理編碼,其中,18.6%的事故地點(diǎn)通過(guò)模糊匹配成功,僅1.1%的地點(diǎn)未匹配,定位效果良好.
表2 地理編碼結(jié)果Table 2 Geocoded results
表3 地理編碼服務(wù)的匹配率Table 3 Address matching rates of Geocoding
將無(wú)錫市2019年全部事故地點(diǎn)利用上述方法進(jìn)行地理編碼獲取經(jīng)緯度,繪制成地理信息散點(diǎn)圖,結(jié)果如圖1所示,圖中,05、06、11、13、14、81、82分別代表錫山區(qū)、惠山區(qū)、濱湖區(qū)、梁溪區(qū)、新吳區(qū)、江陰市和宜興市.從圖1可以看出,無(wú)錫市梁溪區(qū)(市中心)事故較為集中,江陰市(縣級(jí)市)北部也存在事故聚集的地方,宜興市(縣級(jí)市)城區(qū)事故較為集中,濱湖區(qū)因大面積為太湖水域,事故相對(duì)較少,其他區(qū)縣事故特征無(wú)法直接從圖1中獲取.
圖1 事故地點(diǎn)定位地理分布Fig.1 Geographical location
DBSCAN(Density-based Spatial Clustering of Applications with Noise)是由Martin Ester[8]等提出的一種基于密度的空間聚類算法,其將具有足夠密度數(shù)據(jù)的區(qū)域劃分為k個(gè)不同的簇,并能在具有噪聲數(shù)據(jù)的空間域內(nèi)發(fā)現(xiàn)任意形狀的簇.本文記為Cj(j=1,2,…,k)表示第j個(gè)簇,其中,簇定義為密度相連點(diǎn)的最大集合.聚類過(guò)程要滿足以下兩個(gè)條件:最大性,對(duì)于空間中任意兩點(diǎn)p、q,如果p屬于簇Cj,且p密度可達(dá)q,則點(diǎn)q也屬于簇Cj;連接性,對(duì)于同屬于簇的任意兩點(diǎn)p、q,它們彼此是密度相連的.DBSCAN 算法具有聚類速度快,有效處理噪聲點(diǎn),發(fā)現(xiàn)空間中任意形狀簇,無(wú)需劃分聚類個(gè)數(shù)等優(yōu)點(diǎn);但DBSCAN 聚類算法的聚類效果高度依賴輸入?yún)?shù)——聚類半徑和簇內(nèi)最少樣本點(diǎn)數(shù),在高維數(shù)據(jù)的聚類中,對(duì)距離公式選取非常敏感,存在“維數(shù)災(zāi)難”.本文研究的交通事故空間數(shù)據(jù)不是高維數(shù)據(jù),各事故點(diǎn)間距離計(jì)算并不復(fù)雜,選擇距離閾值也相對(duì)容易,且該方法能較好地體現(xiàn)事故多發(fā)地點(diǎn)的特點(diǎn),故使用該方法對(duì)事故地理位置進(jìn)行分析是合理且有效的.
為分析特定事故特征的聚類結(jié)果,對(duì)數(shù)據(jù)集進(jìn)行劃分,選擇“酒駕醉駕”“無(wú)證駕駛”“未按規(guī)定讓行”“超速行駛”“機(jī)動(dòng)車闖紅燈”“非機(jī)動(dòng)車闖紅燈”這6 類事故,使用原始DBSCAN 對(duì)1.1 節(jié)解出的經(jīng)緯度點(diǎn)進(jìn)行聚類.在無(wú)任何先驗(yàn)知識(shí)的情況下,統(tǒng)一設(shè)定輸入?yún)?shù):EPS(距離閾值)為0.015,MinPts(最少樣本點(diǎn))為6.具體參數(shù)及劃分結(jié)果如表4所示.
表4 原始DBSCAN算法聚類結(jié)果Table 4 Result of original DBSCAN algorithm
從表4可知,僅酒駕醉駕事故和未按規(guī)定讓行事故聚類成功,酒駕醉駕事故聚集成18 類,其中,41%的數(shù)據(jù)點(diǎn)標(biāo)記為噪聲點(diǎn),聚類結(jié)果如圖2 所示,圖中,圓點(diǎn)表示噪聲點(diǎn),其他符號(hào)標(biāo)記的點(diǎn)為簇內(nèi)點(diǎn)(下同).未按規(guī)定讓行事故聚集成4類,噪聲點(diǎn)占比達(dá)到85.2%,聚類地理圖如圖3所示.從圖3可以看出,有3 個(gè)簇聚集在宜興市區(qū),除濱湖區(qū)還存在一個(gè)事故集中區(qū)域外,其他區(qū)縣的事故均被標(biāo)記為噪聲點(diǎn),聚類結(jié)果比較粗糙.其他幾類事故由于數(shù)據(jù)點(diǎn)過(guò)少及輸入?yún)?shù)不準(zhǔn)確,將所有的點(diǎn)均標(biāo)記為噪聲點(diǎn),聚類結(jié)果不具參考意義.
圖2 酒駕醉駕事故聚類結(jié)果Fig.2 Cluster result of drunk driving accidents
圖3 未按規(guī)定讓行事故聚類結(jié)果Fig.3 Cluster result of not to give way accidents
從上述聚類效果來(lái)看,DBSCAN 聚類算法對(duì)輸入?yún)?shù)EPS 和MinPts 非常敏感,尤其是數(shù)據(jù)點(diǎn)較少的情況,不合適的輸入?yún)?shù)可能將所有點(diǎn)標(biāo)記為噪聲點(diǎn),明顯與實(shí)際情況相悖.相關(guān)學(xué)者對(duì)DBSCAN算法進(jìn)行了改進(jìn),Kumar[9]等提出的改進(jìn)算法加快了高維度下鄰域搜索速度,同時(shí)指出高維度數(shù)據(jù)下參數(shù)輸入存在的問(wèn)題.本文繼續(xù)對(duì)DBSCAN 算法進(jìn)行改進(jìn),提出一種EPS、MinPts 參數(shù)自適應(yīng)選擇的A-DBSCAN算法.
在聚類算法中,使用輪廓系數(shù)(Silhouette Coefficient)對(duì)聚類樣本的聚類效果進(jìn)行評(píng)估,輪廓系數(shù)的計(jì)算模型為式中:s(i)為樣本i的輪廓系數(shù),該值越接近1,說(shuō)明樣本i聚類越合理;越接近-1,說(shuō)明樣本i更應(yīng)該分類到另外的簇;越接近0,說(shuō)明樣本i在兩個(gè)簇的邊界上.a(i)為樣本i到簇內(nèi)不相似度,為該樣本同簇內(nèi)其他樣本的平均距離,該值越小,說(shuō)明該樣本越應(yīng)被聚類到該簇.b(i)為樣本i的簇間不相似度,計(jì)算公式為
式中:bij表示樣本i到某簇Cj所有樣本的平均距離.
根據(jù)所有樣本的輪廓系數(shù)計(jì)算平均值,即可得到當(dāng)前聚類模型的總體輪廓系數(shù)值,并依據(jù)該值確定輸入?yún)?shù).
針對(duì)不同輸入?yún)?shù),模型的輪廓系值越接近1,聚類效果越好.根據(jù)此原理,提出A-DBSCAN聚類算法,流程如圖4所示.首先,根據(jù)數(shù)據(jù)特征確定EPS 的步長(zhǎng)L1及最大值Mmax,1,Mmax,1由任意兩個(gè)最鄰近點(diǎn)距離的最大值確定;確定最少聚類點(diǎn)的步長(zhǎng)L2和最大值Mmax,2,Mmax,2確定原則為,當(dāng)MinPts 大于Mmax,2時(shí),所有點(diǎn)聚集為一個(gè)類;構(gòu)建初始DBSCAN 模型,初始距離為步長(zhǎng)L1,初始最少點(diǎn)數(shù)為1,依據(jù)2.1 節(jié)方法計(jì)算模型的輪廓系數(shù)S;按照距離步長(zhǎng)和點(diǎn)數(shù)步長(zhǎng)迭代,將計(jì)算得到的輪廓系數(shù)全部入棧,直到距離參數(shù)和點(diǎn)參數(shù)達(dá)到設(shè)定的最大值;根據(jù)計(jì)算得到輪廓系數(shù)的最大值確定最佳EPS 值和MinPts 值,即為本文提出的ADBSCAN算法.
應(yīng)用A-DBSCAN 算法對(duì)2019年無(wú)錫市事故地點(diǎn)經(jīng)緯度進(jìn)行聚類(距離求解模型為歐式距離),計(jì)算所有樣本輪廓系數(shù)平均值作為得分進(jìn)行評(píng)價(jià),聚類結(jié)果如表5所示.
從表5 可以看出,使用A-DBSCAN 算法聚類效果比原始聚類算法(表4)有很大提高,最少聚類簇為6個(gè)(無(wú)證駕駛事故),且未出現(xiàn)將大量數(shù)據(jù)點(diǎn)標(biāo)記為噪聲點(diǎn)的情況.除超速行駛事故外(超速行駛事故是所有特征中樣本點(diǎn)最少的),模型得分均在0.5以上,這表明該模型應(yīng)用于交通事故地理位置聚類時(shí),除受輸入?yún)?shù)EPS和MinPts影響外,還受數(shù)據(jù)量大小的影響.另外,表5表明,當(dāng)樣本點(diǎn)數(shù)據(jù)相對(duì)較多時(shí),MinPts取值應(yīng)適當(dāng)增大;當(dāng)樣本數(shù)據(jù)點(diǎn)較少時(shí),模型得分相對(duì)低一些.
圖4 A-DBSCAN 聚類算法流程Fig.4 Flow chart of A-DBSCAN algorithm
表5 A-DBSCAN 算法參數(shù)及求解結(jié)果Table 5 A-DBSCAN algorithm results
為驗(yàn)證本文聚類算法先進(jìn)性,對(duì)比其他自適應(yīng)調(diào)參方法對(duì)未按規(guī)定讓行事故進(jìn)行聚類,結(jié)果如表6 所示;對(duì)比本文A-DBSCAN 算法與其他常見聚類算法的聚類結(jié)果,如表7所示.
表6 自適應(yīng)調(diào)參算法對(duì)比Table 6 Comparison of adaptive parameter adjustment algorithms
表7 常見聚類算法對(duì)比Table 7 Comparison of common clustering algorithms
從表6可以看出:PID自校正調(diào)參算法時(shí)間復(fù)雜度最低,但噪聲占比太高,聚類效果不好;遞歸調(diào)參太復(fù)雜,不適用于批量聚類;SA-DBSCAN 算法與本文算法有一定的可比性,但本文算法在時(shí)間復(fù)雜度和模型得分上都優(yōu)于SA-DBSCAN算法.從表7 可以看出:只有MEAN SHIFT 算法對(duì)噪聲的處理及簇的劃分上能與本文算法匹配,但MEAN SHIFT對(duì)其他事故類型的聚類存在較大的偏差;K-MEANS 算法無(wú)法處理含噪聲的點(diǎn)集,DENCLUE 算法對(duì)噪聲的處理能力明顯偏低;因此,本文算法優(yōu)勢(shì)明顯.
根據(jù)確定參數(shù)對(duì)6 類事故特征進(jìn)行地理位置聚類.由于酒駕醉駕事故聚類參數(shù)未發(fā)生變化,其地理位置聚類結(jié)果如圖2 所示,對(duì)照地圖可以看出,事故多發(fā)區(qū)域聚集在市中心全區(qū),太湖國(guó)際博覽中心附近,鎮(zhèn)中公園附近,錫北鎮(zhèn)、東港鎮(zhèn)、無(wú)錫東站附近,申港鎮(zhèn)附近,以及橋鎮(zhèn)、周鐵鎮(zhèn)、中心城區(qū)、丁蜀鎮(zhèn)和張渚鎮(zhèn)附近.未按規(guī)定讓行事故聚類地理圖如圖5 所示,從圖中可以看出,錫山區(qū)及濱湖區(qū)大部分事故聚集成一個(gè)簇,江陰市大部分地區(qū)事故亦聚集成簇,宜興市丁蜀鎮(zhèn)、中心城區(qū)、萬(wàn)石鎮(zhèn)和和橋鎮(zhèn)、洋溪鎮(zhèn)、張渚鎮(zhèn)和西渚鎮(zhèn)等幾個(gè)區(qū)域聚集成5 個(gè)簇,惠山區(qū)西北部事故聚集成一個(gè)簇,錫山區(qū)東港鎮(zhèn)和羊尖鎮(zhèn)事故聚集成一個(gè)簇,共計(jì)形成9 個(gè)事故多發(fā)區(qū)域.其他事故特征(無(wú)證駕駛、超速行駛、闖紅燈)的聚類結(jié)果亦有明顯區(qū)域特征,且事故多發(fā)于區(qū)域的中心城區(qū)和集鎮(zhèn)上,囿于篇幅限制,本文不再一一列出進(jìn)行分析.
圖5 未按規(guī)定讓行事故聚類地理分布Fig.5 Clustering geographical distribution of not to give way accidents
本文以交通事故空間特征分析為視角,考慮交通事故地點(diǎn)經(jīng)緯度解算,事故空間特征聚類困難問(wèn)題,調(diào)用在線地圖API進(jìn)行地理編碼獲取事故地點(diǎn)經(jīng)緯度,在此基礎(chǔ)上,提出一種基于輪廓系數(shù)自適應(yīng)調(diào)整原算法輸入?yún)?shù)的A-DBSCAN 算法,對(duì)無(wú)錫市不同肇事原因事故數(shù)據(jù)進(jìn)行聚類分析,并與原始DBSCAN聚類算法進(jìn)行比較.結(jié)果表明:事故地點(diǎn)上圖率在98%以上,改進(jìn)算法在參數(shù)選擇上更加智能,聚類效果更加理想,噪聲識(shí)別也比原始算法更加合理;A-DBSCAN 算法在應(yīng)用不同數(shù)據(jù)量進(jìn)行聚類時(shí),輪廓系數(shù)的分值表明聚類效果受數(shù)據(jù)量大小影響較為顯著.
本文分析的數(shù)據(jù)是二維度的,即僅考慮了事故地點(diǎn)(經(jīng)緯度)與事故肇事原因的聚類效果,交通事故多維特征的地理聚類分析需進(jìn)一步研究.