樊 博,馬筱櫟,雷小詩,馬新露
(重慶交通大學 交通運輸學院,重慶 400074)
交通事故是人、車、路、環(huán)境為主要因素共同作用下產(chǎn)生的結(jié)果,交通事故的發(fā)生具有偶然性。然而已有文獻研究證明,事故發(fā)生前后的交通流參數(shù)會出現(xiàn)一定的相同規(guī)律的變化,從某種角度而言,事故的發(fā)生同時又兼具必然性[1]。由于難以對交通事故的發(fā)生作出高度準確的預判,因此研究人員利用事故風險來描述這種不確定性。
國內(nèi)外對事故實時風險預測的研究中,Xu等[2]使用K-均值聚類將高速公路上的交通流分為不同狀態(tài),通過比較不同交通狀態(tài)下的交通流特征,識別各個交通狀態(tài)下更能描述事故風險的交通流因素。孫劍等[3]使用上海市快速路檢測器數(shù)據(jù)和事故數(shù)據(jù),使用高斯混合模型修正數(shù)據(jù)后,用貝葉斯網(wǎng)絡構(gòu)建了事故風險模型,實現(xiàn)了對快速路主動風險評估。Yu等[4]使用上海城市快速路數(shù)據(jù),使用貝葉斯隨機邏輯回歸模型建模預測事故風險,同時引入貝葉斯半?yún)?shù)推斷方法增加模型的魯棒性,實驗表明半?yún)?shù)下模型具有較高的擬合優(yōu)度。Li等[5]提出一種長短期記憶卷積神經(jīng)網(wǎng)絡的事故實時風險預測模型,該模型以交通流、信號配時等作為特征,實驗表明該模型對預測主線道路的事故實時風險具有可行性。目前國內(nèi)對交通事故的研究更常見的是基于歷史事故記錄建立事故集計模型[6-8],研究多因素條件下事故成因,從而預測未來事故發(fā)生的頻次,以此量化事故風險[9-11]。這類模型可以用于鑒定事故黑點,有針對性地改善交通設施設備等,但是要做到對道路事故實時監(jiān)控與預測還需要高精度的交通流參數(shù)。為了描述以交通流為主要的事故影響因素與交通事故風險之間的關(guān)系,實現(xiàn)實時道路安全監(jiān)測與事故預判,本文將以高精度的交通流數(shù)據(jù)為主,結(jié)合天氣數(shù)據(jù),建立模型預測交通事故風險。
因提取國內(nèi)高速公路相關(guān)數(shù)據(jù)時受限于道路檢測器安裝密度較低,數(shù)據(jù)精度較低,歷史事故數(shù)據(jù)記錄不完整等因素,本文將采用加州舊金山I-880N高速公路上相關(guān)數(shù)據(jù)進行分析。在樣本構(gòu)建過程中,本文將以病例對照研究(case-control study)為基礎,采用配對式樣本構(gòu)建方式匹配對照樣本,以此控制混雜因素(道路線形、坡度、車道數(shù)和大小車比例等)對事故風險的影響,從而研究以交通流參數(shù)為主的影響因素與事故風險之間的關(guān)系。針對I-880N高速公路某全長約25 km的路段,提取其2017年1月~2017年6月期間的交通流數(shù)據(jù)、交通事故數(shù)據(jù)和天氣數(shù)據(jù),下面將對各種數(shù)據(jù)源特征進行說明描述。
1) 事故數(shù)據(jù)。
研究時間段內(nèi)事故記錄共計472 起,由于本文研究的是交通流參數(shù)與交通事故之間關(guān)系,因此僅考慮碰撞、追尾、刮擦等事故形態(tài)的記錄數(shù)據(jù),剔除因車輛故障、貨物灑落或記錄信息不完整等原因下的事故記錄后,用于本文研究的交通事故記錄共計233 起。交通事故記錄字段中主要包括事故編號、事故發(fā)生時間、事故發(fā)生位置和事故持續(xù)時間等。
2) 交通流數(shù)據(jù)。
研究路段單向共有33 組檢測器,各組分布密度約0.7 km,每組檢測器根據(jù)車道數(shù)不同,包含3~5個傳感器。原始交通流數(shù)據(jù)采集時間間隔為30 s,本文采用的是集成后時間間隔為5 min的交通流數(shù)據(jù),數(shù)據(jù)中包括流量、速度、占有率3種交通參數(shù)。為避免因車道檢測器故障對采集交通流數(shù)據(jù)帶來的誤差,在提取交通流數(shù)據(jù)過程中,3種交通參數(shù)任一參數(shù)存在缺失或錯誤等情況均排除相關(guān)記錄。
3) 天氣數(shù)據(jù)。
已有研究證明交通運行中的天氣因素,尤其是惡劣天氣情況下,對交通安全的影響較為明顯,不利天氣狀況下行車確實會增加事故風險[12-13]。因此,本文將天氣因素考慮作為特征變量之一,以此提高模型預測的精度。考慮到建模過程中所使用的高精度交通數(shù)據(jù),本文將天氣分為一般晴天、陰雨天和霧天3種天氣情況。
研究交通事故影響因素與交通事故風險之間的關(guān)系,實現(xiàn)事故風險實時預測,同時需要事故發(fā)生前交通流數(shù)據(jù)和正常交通流數(shù)據(jù)。本文將采用流行病學中病例對照配對的方法,以交通事故發(fā)生作為病例組,以正常交通流作為對照組,分別以1∶4 的比例[14-15]提取樣本。病例組樣本包含有效交通事故記錄共計233 條,對照組包含932 條樣本。按照病例對照的原則,對照組樣本選取依據(jù)為:1) 與事故記錄地點即所選檢測器相同;2) 與事故記錄日期不同;3) 與事故記錄季節(jié)、星期相同;4) 與事故記錄時間節(jié)點相同。
以僅考慮事故前5 min、事故發(fā)生位置上游最近檢測器的交通流參數(shù)為例,若事故發(fā)生在P處2017年1月13日,星期五10點42分,則該條事故數(shù)據(jù)的病例樣本為距離事故發(fā)生位置A處上游最近一組檢測器在2017年1月13日,星期五10點40分的交通流參數(shù)。與之配對的對照樣本之一應為:P處上游最近一組檢測器在2017年1月6日,星期五10點40分的交通流參數(shù)。
在構(gòu)建備選變量A時,將變量分為交通流變量A1和 其他變量 A2。 交通流變量 A1包括流量、速度、占有率3參數(shù),其他變量 A2包括天氣和由交通流變量衍生的上、下游間差值作為的變量。
交通流變量的構(gòu)建,時間上將選擇事故發(fā)生前3 個時間間隔,如圖1,事故發(fā)生在 t時刻,即提取事故發(fā)生前3 個時間間隔點的數(shù)據(jù),分別為t1、 t2、 t3。
圖1 事故發(fā)生時間及時間間隔選取Figure 1 Accident time and selection of time slice
空間上選擇事故發(fā)生位置上、下游最近2 組檢測器,如圖2 所示,提取上、下游各2 組檢測器數(shù)據(jù),分別為上游檢測器 up1、 up2和 下游檢測器 dn1、dn2。
圖2 事故發(fā)生位置及檢測器選取Figure 2 Accident location and selection of detectors station
按照上述時間和空間維度的變量構(gòu)建,可以提取到事故發(fā)生前的交通流變量數(shù)據(jù),其數(shù)據(jù)時空分布如圖3 示,其中t為事故發(fā)生時刻,各圓點表示交通流參數(shù)所在時空位置。
圖3 交通流變量時空分布Figure 3 Spatio-temporal distribution of traffic variables
以上交通流變量共同構(gòu)成變量組A1={fp(tθ),sp(tθ),op(tθ)},其中各個變量命名規(guī)則及其含義見表1。
表1 交通流變量構(gòu)建1)Table 1 Selective traffic variables for modeling
同時,為充分挖掘交通流特征對事故風險的影響,首先引入事故發(fā)生前上、下游交通流變量的差值作為衍生變量,然后加上天氣變量后共同組成變
量組 A2={dif_flow(tθ),dif_spd(tθ),dif_occ(tθ),weather},A2中各個變量命名規(guī)則及其含義見表2。
表2 其他變量構(gòu)建1)Table 2 Selective additional variables for modeling
表2 中d if計算方式為
提取交通流變量組 A1和 其他變量組 A2,即可完成備選變量集合 A的構(gòu)建。
通過前2 節(jié)對樣本的處理和備選特征變量 A的構(gòu)建即可完成樣本建立,樣本中交通事故記錄組成的病例組成共計233 條,與之配對的對照組共計932條,組成總樣本共計1 165 條。同時給每條樣本增加標簽,病例組樣本標簽為1,對照組樣本標簽為0。再按照1∶4的比例將總樣本隨機分成訓練集與驗證集,其中訓練集包括175 條病例樣本和700 條對照樣本,驗證集包括58 條病例樣本和232 條對照樣本。
以隨機森林對特征變量進行重要性排序為依據(jù),基于袋外數(shù)據(jù)誤差(out-of-bag error, OOB error),用平均精確率減少(mean decrease accuracy, MDA)的方法衡量特征重要性,實現(xiàn)變量重要性排序,從而挑選合適的變量組成后續(xù)建模的解釋變量。隨機森林中,MDA計算方法為
其中, MDA(Am)為 特征變量集合A中特征 Am的平均精確率減少值,m =1,2,3,···;L為隨機森林中含有 Am特 征的決策樹數(shù)量;e rrOOBn1為第n棵決策樹OOB 誤差率, e rrOOBn2為 第 n 棵OOB中 Am特征引入噪聲干擾后重新計算的OOB error,兩者計算方式為
其中, COOB_n1、 COOB_n2為OOB在引入噪聲干擾前、后的數(shù)量;為OOB在引入噪聲干擾前、后在分類器中錯誤分類的數(shù)量。
通過使用Python編程語言實現(xiàn)基于隨機森林對特征變量重要性排序,模型中構(gòu)建300 棵決策樹,決策樹深度不作限制,OOB誤差率在180 棵決策樹附近達到最小且穩(wěn)定的值。實驗顯示,在事故發(fā)生前1個時間間隔,事故發(fā)生位置上、下游最近1 組檢測器的速度差值(變量d if1_spd(t1))對事故風險影響最大。同時,時間間隔中的t1、 t2對于事故風險預測最為敏感??紤]到實驗結(jié)果中,M DA值排前10的變量幾乎涵蓋了時空變化特征和天氣影響因素,且隨機森林中分類樹算法自然有效地避免了多個變量間的交互作用,因此選擇這10 個變量作為解釋變量進行下一步模型構(gòu)建。10個變量具體 M DA值如表3所示。
表3 變量重要性排序Table 3 The ranking of variables importance
本文對事故實時風險預測是通過建模來預判高速公路運行狀態(tài)是否處于“正常運行”狀態(tài)(病例組)或“事故風險”狀態(tài)(對照組),是典型的分類問題??紤]到所使用的數(shù)據(jù)規(guī)模較小,樣本維度較高和實時預測對模型的計算能力要求高等因素,選擇支持向量機(support vector machine, SVM),包括線性和非線性SVM,作為本文預測模型,同時考慮到SVM性能優(yōu)劣主要取決于核函數(shù),故使用常見的核函數(shù)對比實驗結(jié)果以確定最佳核函數(shù)。
用SVM作分類問題,首先給定帶有標簽Y=(y1,y2,···,yN)的 訓練樣本集 X=(x1,x2,···,xN),樣本集中各個樣本一一對應其標簽,即可得集合D={(x1,y1),(x2,y2),···,(xN,yN)}, 其中,yi∈{1,?1}。
線性SVM通過學習樣本集 D中各個樣本特征及其所屬分類,通過構(gòu)建超平面進行分類
式中,w 為超平面 wT+b=0 的法向量,b為其截距。為了方便求解,將式(4)轉(zhuǎn)化為
求解式(5)即可得到 wT+b=0,該超平面可完成對任意樣本的分類。
為了解決由于樣本線性不可分而帶來的誤差,還需引入損失函數(shù)構(gòu)造新的優(yōu)化問題。
式中, Li為損失函數(shù);C為損失系數(shù)。引入松弛變量ξi來處理損失函數(shù),式(7)轉(zhuǎn)化為
此時,通過引入拉格朗日乘子,可得到式(8)的朗格朗日函數(shù)
式中, μ={μ1,μ2,···,μN}, α={α1,α2,···,αN}為拉格朗日乘子;令式(9)中w 、 b、 ξ對拉格朗日函數(shù)的偏導數(shù)為0后,將得到的式子代入原問題(8)的對偶問題。
引入KKT條件來求解式(10)包含不等式約束條件的問題,可知對于任意樣本總有αi=0或其中,對于滿足αi=0的這部分樣本不會對超平面產(chǎn)生影響,對于滿足1?ξi的樣本即為支持向量。
非線性SVM通過引入核函數(shù) ?將樣本集映射到高維空間后,用超曲面對其進行分類。
此時,優(yōu)化問題可轉(zhuǎn)化為
類比式(10),可對非線性SVM的對偶問題進行求解
式中, κ(xi,xj)為 核函數(shù)?。引入的核函數(shù)有線性核、多項式核、高斯核以及Sigmoid核,分別為
式中,a、 b為 超參數(shù);d為多項式核函數(shù)最高項次數(shù),考慮到實時預測對計算能力的要求,本文取d 為3;γ 為超參數(shù)且γ >0。
采用預測病例組、對照組的準確率和AUC值(area under the curve of ROC, AUC) 作為模型預測精度的主要評價指標。首先引入混淆矩陣,見表4。
表4 混淆矩陣Table 4 Confusion matrix
對于準確率,是指分類結(jié)果中正確分類占觀測值的比例,即病例準確率為T P , 對照準確率為 T N。對于AUC值,需要計算s ensitivity和 1 ?specificity。
式中, sensitivity為真陽性率(true positive rate,TRP)或敏感性。
式 中,specificity為 真 陰 性(true negative rate,TNR)率或特異性。
式中, 1?specificity為假陽性率(false positive rate, FPR)或虛警率。
使用 sensitivity、 1 ?specificity構(gòu)造ROC曲線(receiver operating characteristic curve, ROC)后可得AUC值(A UC∈[0,1])來評價模型精確度。
其中,σ為 1 ?specificity的 取值,σ ∈[0,1]。
通過使用Python編程語言實現(xiàn)基于上述多種核函數(shù)的SVM模型,首先按照已有樣本集中訓練集和測試集進行試驗,然后再重新按照1∶4 的比例建立樣本集,用各種核函數(shù)重復5 次實驗后取平均值得到實驗最終結(jié)果。多項式核函數(shù)中d 取3,其他超參數(shù)a、b、γ和C 在多次實驗后組合保證能使準確率維持在較高水平下調(diào)參取值。具體各核函數(shù)下的SVM模型的準確率見表5。
表5 模型分類準確率Table 5 Performance of SVM in different kernel functions %
同時通過式(21)計算得各核函數(shù)下的SVM模型結(jié)果AUC值,以此6 次更換樣本集的實驗結(jié)果AUC標準差見表6。
表6 不同核函數(shù)下的模型AUC值及其標準差Table 6 AUC value of SVM in different kernel functions %
表5 與表6 顯示,使用高斯核、Sigmoid核作為SVM的核函數(shù)有較好的預測能力。其中,使用高斯核時識別預判事故風險的準確率達73.20%,對正常交通流的分類達91.44%,AUC值為0.729;使用Sigmoid核時識別預判事故風險的準確率達72.22%,對正常交通流的分類達92.95%,AUC值為0.724。同時,不同核函數(shù)下SVM模型對正常交通流(對照組)的分類準確率均高于事故風險交通流(病例組)。根據(jù)已有研究和本文實驗結(jié)果分析,這主要是相比于事故風險下的交通流運行狀態(tài)而言。交通正常運行狀態(tài)是常態(tài),這就導致對照組樣本數(shù)量更加豐富,樣本對正常交通流的描述更加詳細;而且影響事故風險的因素眾多,無法用某特定的特征變量集合對所有事故風險進行描述。
本文借助高精度的交通流數(shù)據(jù),同時考慮天氣因素,以交通流為主要影響因素建模,實現(xiàn)對高速公路事故風險的預判。通過真實數(shù)據(jù)設計實驗驗證模型的可行性,完成的主要工作及結(jié)論如下。
1) 提出基于隨機森林算法篩選影響事故風險的重要特征變量,并針對小樣本、高維度的數(shù)據(jù)集提出了重要特征影響下的SVM模型,然后使用和對比多種核函數(shù)下的模型預測準確性。實驗結(jié)果顯示采用高斯核、Sigmoid核作為支持向量機的核函數(shù)時,模型預測能力最佳。
2) 實驗結(jié)果顯示,通過把重要特征輸入到SVM模型中,即可有效地識別和預判事故風險,相比目前預測事故病例事故模型70%的準確度,本文建立的SVM模型不僅能對病例達到73%左右的預測精度,同時經(jīng)隨機森林算法排除了冗余變量,能有效降低模型計算負荷,為后續(xù)交通管理人員對事故的反應、處理和管控爭取到相對更多的時間。
針對不足之處,本文進行分析和建模的相關(guān)數(shù)據(jù)來自加州I-880N高速公路,其與我國高速公路有所差異,因此將模型應用到我國高速公路上時,還需根據(jù)實際情況(道路車道數(shù)、檢測器安裝密度和數(shù)據(jù)采集誤差等)再次進行分析驗證。針對后續(xù)研究,將考慮引入交通流預測模塊,將預測的交通流參數(shù)輸入到模型,實現(xiàn)事故風險多步預測,可幫助交通管理人員對事故的反應、處理和管控的同時,還可將事故風險情況借助公眾出行交通信息服務系統(tǒng)提醒公眾,進一步提高高速公路主動安全性。