孫然然,張靜萱,朱廣宇
(1.北京交通大學(xué) 北京市城市交通信息智能感知與服務(wù)工程技術(shù)研究中心,北京 100044;2.北京交通大學(xué) 綜合交通運輸大數(shù)據(jù)應(yīng)用技術(shù)交通運輸行業(yè)重點實驗室,北京 100044;3. 國家鐵路局規(guī)劃與標準研究院,北京 100055)
實時高效的對道路交通狀況進行識別,有助于降低交通事故的發(fā)生率,保障交通系統(tǒng)的運營安全。交通事故是各種事件在特定的動態(tài)交通系統(tǒng)中互為因果、綜合作用的結(jié)果[1],往往呈現(xiàn)為多種形態(tài),主要包括突發(fā)型、漸進型、混合型等。事故發(fā)生的前期通常會表現(xiàn)出某些交通運營狀況的漸變或突變[2],不同程度地體現(xiàn)在交通流參數(shù)上。因此,通過實時監(jiān)測道路交通流參數(shù)的變化情況,可有效對易引發(fā)交通事故的危險交通流狀態(tài)進行識別,及時預(yù)判潛在的交通事故,為相關(guān)管理部門制訂相應(yīng)的管控措施提供依據(jù),以達到減少交通事故的目的[3]。
早期對交通流狀態(tài)的研究,側(cè)重于交通事故檢測與交通擁堵判別,主要有California算法[4]、靜態(tài)判別McMaster算法[5]、基于數(shù)理統(tǒng)計的平滑算法[6]等。上述經(jīng)典算法主要通過辨識道路斷面交通流量、地點車速、交通密度等交通參數(shù)變化的單一方法對交通流進行分析與處理,快速判定是否有交通事故及交通擁擠發(fā)生,且算法檢測效率低,誤報率高。后期,國內(nèi)外先進交通流檢測設(shè)備的涌現(xiàn),為交通事故預(yù)測與異常交通狀態(tài)辨識的研究提供了便利,可通過監(jiān)測實時交通流數(shù)據(jù)來研究交通流運行狀態(tài),常見的有基于視頻數(shù)據(jù)處理的異常交通流狀態(tài)識別技術(shù)[7-10]。例如:方曉瑩等[7]運用數(shù)字圖像處理技術(shù)獲取交通參數(shù)的變化情況,進而對各時刻的異常交通狀態(tài)檢測并根據(jù)各參數(shù)的變化趨勢預(yù)測異常交通狀態(tài)。林震等[11]分析交通事故與車速偏差量之間具有顯著的相關(guān)性,以車速指標的不穩(wěn)定性來表征異常交通運行狀態(tài),構(gòu)建基于貝葉斯理論的交通事故最小風險預(yù)測模型,及時準確地評估異常交通流狀態(tài)。徐鋮鋮等[12]分析高速公路交通流數(shù)據(jù)與事故數(shù)據(jù),構(gòu)建交通安全實時評價指標體系,運用Fisher判別分析方法,構(gòu)造關(guān)于實時交通流參數(shù)的線性判別函數(shù),根據(jù)判別函數(shù)值判斷實時交通流狀態(tài)。
隨著計算機技術(shù)以及智能交通運輸體系的發(fā)展,人工智能算法在道路異常交通流狀態(tài)研究中逐漸占主導(dǎo)地位,神經(jīng)網(wǎng)絡(luò)、模糊算法和支持向量機等被廣泛應(yīng)用[13-20]。姜桂艷等[13]利用高速公路流量和車道占有率兩項指標,基于神經(jīng)網(wǎng)絡(luò)構(gòu)建了一種適用于高速公路的具有3級報警制度的交通事件自動檢測系統(tǒng),結(jié)果表明其檢測率與檢測時間均優(yōu)于傳統(tǒng)算法。向懷坤等[14]提取反映交通流特性的路段車輛占有率和車輛運行速度特征,構(gòu)建基于粒子群(PSO)算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型,結(jié)果顯示PSO神經(jīng)網(wǎng)絡(luò)算法提高了交通事件的檢測效率。神經(jīng)網(wǎng)絡(luò)具有檢測率高的特點,但在訓(xùn)練過程中對樣本的需求量比較大。由于交通流狀態(tài)是不斷變化的,楊奎河等[15]改善以往單一檢測方式,融合多種檢測數(shù)據(jù),建立基于模糊聚類的交通流狀態(tài)識別,試驗表明, 該方法能更加準確地識別交通流狀態(tài),有助于判別路段危險交通狀況。模糊算法基于規(guī)則將一些難以量化的參數(shù)模糊處理,應(yīng)用具有局限性。在眾多人工智能算法中,支持向量機模型憑借其良好的學(xué)習(xí)能力與泛化能力以及在小樣本、高維非線性樣本下也可獲得最優(yōu)解而被廣泛用于道路交通事故風險預(yù)測問題[16-20]。Yuan等[18]分別采用不同非線性核函數(shù)的兩個支持向量機模型對道路交通事故進行檢測,試驗結(jié)果表明,在分類率、檢測時間方面,支持向量機優(yōu)于多層前向神經(jīng)網(wǎng)絡(luò)和概率神經(jīng)網(wǎng)絡(luò)模型。周洲等[19]根據(jù)高速公路交通流的特點,設(shè)計了基于不同核函數(shù)的SVM模型用于有無交通事件發(fā)生的檢測,結(jié)果表明,合適的SVM模型和核函數(shù)可提高檢測率,縮短檢測時間。后期,游錦明等[20]基于支持向量機模型實時檢測高速公路上的不良交通流狀態(tài),為提高支持向量機分類器性能,首先運用主成分分析法對交通流參數(shù)進行分析處理,網(wǎng)格遍歷法優(yōu)化模型中的懲罰參數(shù)C和核函數(shù)參數(shù)γ。
上述研究均表明交通事故風險往往與交通流運行中某些實時狀態(tài)參數(shù)(如交通流,車速等)存在顯著關(guān)系,即危險的交通流狀態(tài)易誘發(fā)交通事故,交通事故的發(fā)生也常伴隨著危險交通流狀態(tài)的存在。因此,危險交通流狀態(tài)的實時識別可轉(zhuǎn)化為分類問題,故選用上述分類性能良好的支持向量機模型作為交通流狀態(tài)識別模型。針對參數(shù)分析不全面以及算法識別效率低等問題,本研究對基于支持向量機的危險交通流狀態(tài)識別算法進一步優(yōu)化研究。主要研究內(nèi)容如下:(1)數(shù)據(jù)預(yù)處理;(2)提取交通事故發(fā)生的相關(guān)前兆特征變量,并通過相關(guān)性選擇算法(Relevance Selection Algorithm,RSA)對特征變量降維處理;(3)提出基于改進網(wǎng)格搜索算法的支持向量機模型對危險交通流狀態(tài)進行識別,應(yīng)用于某市快速路的事故數(shù)據(jù)進行案例分析。
本研究的對象為某市快速路的某個路段,危險交通流的判別以該路段交通事故發(fā)生前的交通運行參數(shù)為依據(jù)。提取2015年6月11日—2015年11月11日的事故數(shù)據(jù)與事故發(fā)生前上游(a1、a2)、下游(a3、a4)各兩個檢測器的交通流數(shù)據(jù)(流量F、速度V和時間占有率U)。數(shù)據(jù)集劃分為事故發(fā)生的“案例組”和未發(fā)生事故的“對照組”,比例為1∶1,為保證試驗結(jié)果的準確性,兩組數(shù)據(jù)選取規(guī)則為:無重大天氣變化情況下,所選地點、時間段均相同,僅日期不同。
Pande等[21]指出:交通流狀態(tài)的識別以5 min的時間長度集計較佳。此外,危險交通流狀態(tài)的識別需具備一定的超前性,故選取事故發(fā)生前T1(5~10 min)和T2(10~15 min)兩個時間片段進行研究。因此,一個事故點包含8條(4個檢測器×2個時間段)數(shù)據(jù)記錄,事故發(fā)生的前兆特征變量可初定為24個,如表1所示。其中F(a1,T1)代表a1檢測器所檢測的交通事故發(fā)生前T1時間段的交通流量。原始數(shù)據(jù)因檢測器突發(fā)故障等因素,會存在數(shù)據(jù)不完整、數(shù)據(jù)異常錯誤等,需要對數(shù)據(jù)進一步清洗,最終經(jīng)過數(shù)據(jù)提取與預(yù)處理,得到案例組和對照組樣本各123個,記為數(shù)據(jù)集A,部分數(shù)據(jù)如表2所示。每個樣本有24個特征變量和1個類別標簽(“1”記為危險狀態(tài),“0”記為正常狀態(tài))。
表1 交通事故前兆特征變量Tab.1 Characteristic variables of traffic accident precursor
表2 數(shù)據(jù)預(yù)處理Tab.2 Data preprocessing
由于特征變量的量綱不一致,首先對其進行歸一化處理。為降低模型的計算復(fù)雜度、提高分類器性能,本研究構(gòu)造了一種相關(guān)性選擇算法(Relevance Selection Algorithm,RSA)首先對路段上事故發(fā)生的前兆特征變量進行降維處理。
(1) 特征變量與類別間相關(guān)性
記D(i)值表示第i個特征變量與類別的相關(guān)性,D(i)值越大,表示特征變量與類別強相關(guān),反之,為弱相關(guān)或不相關(guān)。
diff(x(i,j),x(i,jnm)),
(1)
diff(x(i,j),x(i,jnh))=min(|x(i,j)-
x(i,k)|),
(2)
diff(x(i,j),x(i,jnm))=min(|x(i,j)-
x(i,h)|),
(3)
式中,x(i,j)為所有樣本的第j個樣本在特征變量i上的取值;x(i,jnh)為與x(i,j)同類別的最近鄰;x(i,jnm)為與x(i,j)非同類別的最近鄰;diff(x(i,j),x(i,jnh))為x(i,j)與同類別最近鄰在特征變量i上的距離;diff(x(i,j),x(i,jnm))為x(i,j)與非同類別的最近鄰在特征變量i上的距離。
(2) 特征變量間冗余性
(4)
(5)
(6)
式中,rij為第i個特征變量與第j個特征變量的相關(guān)系數(shù)。當兩個特征變量之間的相關(guān)性越高,所含重復(fù)信息越多時,rij絕對值越大。當兩個特征變量無相關(guān)性時,rij=0;交通事故前兆特征變量之間相關(guān)系數(shù)絕對值矩陣R表示如下:
(7)
(3) 特征變量降維算法
特征變量與類別間的相關(guān)性以及各特征變量之間的相關(guān)性計算部分結(jié)果如圖1、表3所示。為保證特征變量選取的合理性,最終設(shè)計特征變量提取算法如圖2所示。
圖1 交通事故前兆特征變量與類別相關(guān)性Fig.1 Correlation between traffic accident precursor characteristic variable and category
表3 交通事故前兆特征變量之間的相關(guān)性Tab.3 Correlation between traffic accident precursorchar-acteristic variables
圖2 特征變量提取算法Fig.2 Feature variable extraction algorithm
根據(jù)上述特征變量提取方案,最終得到包含4個特征變量(F(a3,T2),F(xiàn)(a3,T1),F(xiàn)(a4,T2),F(xiàn)(a4,T1)) 的數(shù)據(jù)集B。將數(shù)據(jù)集A、B分為兩部分:60%訓(xùn)練集和40%測試集,訓(xùn)練集和測試集包含的“案例組”及“對照組”的樣本比例1∶1。
支持向量機(Support Vector Machine,SVM)在模式分類問題上, 具有的良好的泛化性能,其主要思想是將輸入變量X通過特定的非線性映射算法映射到一個高維特征空間Z,在Z中構(gòu)造最優(yōu)分類超平面。
給定訓(xùn)練數(shù)據(jù)集:
S={(xi,yi)|i=1, 2,…,m},
(8)
式中,xi∈Rn為第i個樣本的特征變量;yi∈n為第i個樣本的標簽且yi∈{±1},m為樣本規(guī)模。SVM目的是尋找一個超平面H將yi以最優(yōu)的方式區(qū)分出來,即不僅可以將標簽為1和-1分開,同時還能使分開的數(shù)據(jù)點距離H最遠,如圖3所示,H為最優(yōu)超平面。超平面可表示為:
g(x)=wTx+b,
(9)
式中,x為輸入向量;w為權(quán)值向量;b為常量參數(shù)。
圖3 最優(yōu)超平面圖Fig.3 Diagram of optimal hyperplane
對于yi∈{±1}的樣本點,到超平面的幾何間隔為:
(10)
i=1, 2,…,m。
(11)
(2)懲罰變量
親子閱讀重在互動,閱讀時,可以家長讀孩子聽,還可以分角色讀、輪流讀。為了鼓勵孩子開展獨立閱讀,家長可采用閱讀導(dǎo)入法,選擇一本情節(jié)跌宕起伏的故事書,先由家長聲情并茂地讀給孩子聽,然后在最精彩、最緊張的地方停下來,讓孩子接著把書中的故事讀下去。
(12)
yi(wTxi+b)≥1-ξi,i=1, 2,…,m,ξi≥0,
(13)
式中C為用戶選定的正參數(shù)。引入拉格朗日函數(shù),此問題表示為:
0≤αi≤C,i=1, 2,…,m,
(14)
(15)
求解得α=(α1,α2,…,αm)T,超平面進一步表示為:
(16)
(3)核函數(shù)
核函數(shù)的選擇是影響支持向量機模型性能的關(guān)鍵因素,核函數(shù)可將線性不可分的數(shù)據(jù)映射到一個高維的特征空間內(nèi),使得數(shù)據(jù)在該特征空間內(nèi)是可分的。常用的徑向基核函數(shù)可將樣本映射到一個更高維的空間,參數(shù)少且數(shù)值計算相對簡單。
K(xi,xj)=exp(-γ‖xi-xj‖2),γ>0。
(17)
因此,本研究選用基于徑向基核函數(shù)的支持向量機模型作為交通流狀態(tài)識別分類模型,其決策函數(shù)為:
(18)
式中,xi,yi,αi,b為模型優(yōu)化求解得到的參數(shù);模型求解中懲罰系數(shù)C值與核函數(shù)中參數(shù)γ值影響訓(xùn)練模型的分類性能。傳統(tǒng)網(wǎng)格搜索法搜索時間較長,本研究首先在大區(qū)域范圍內(nèi)確定小區(qū)域,進一步采用較小的步長搜索,首先對數(shù)據(jù)集B進行訓(xùn)練與測試,實現(xiàn)過程和結(jié)果如下。
①參數(shù)尋優(yōu)。輸入數(shù)據(jù)集B中的訓(xùn)練集,K折交叉驗證中K=5,設(shè)定a=1%,當網(wǎng)格搜索的參數(shù)C,γ的取值所對應(yīng)的危險交通流狀態(tài)的識別準確率與前一次的準確率之差比a大,則減小步長,縮小搜索范圍。反之,終止搜索。C,γ初始搜索范圍:C∈[2-10,210],γ∈[2-10,210],步長為1。初次SVM參數(shù)尋優(yōu)結(jié)果如圖4所示。
圖4 初次參數(shù)尋優(yōu)結(jié)果Fig.4 Initial parameter optimization result
圖4中X,Y,Z軸分別表示γ,C的尋優(yōu)范圍以及危險交通流狀態(tài)的準確率。得出最優(yōu)值C=8,γ=0.5,準確率為77.702 7%,尋優(yōu)時間為2.609 4 s。根據(jù)圖4,顯然可得,當識別準確率較高時,γ∈[2-3,2-2],C∈[22,23],即C,γ在該范圍內(nèi)進一步搜索,步長減小為0.1,參數(shù)尋優(yōu)結(jié)果如圖5所示。
圖5 參數(shù)尋優(yōu)結(jié)果Fig.5 Parameter optimization result
根據(jù)圖5,得出支持向量機模型懲罰參數(shù)最優(yōu)為0.233 3,核函數(shù)參數(shù)最優(yōu)值為4.594 8,交通流狀態(tài)的識別準確率達78.378 4%。優(yōu)化過的網(wǎng)格搜索算法在整個參數(shù)尋優(yōu)過程中共花費時間3.4 s。兩次尋優(yōu)準確率差為0.68%<1%。因此,選取參數(shù)C=0.233 3,γ=4.594 8。與傳統(tǒng)的網(wǎng)格搜索算法參數(shù)尋優(yōu)對比結(jié)果如表4所示,顯然,改進的網(wǎng)格搜索法所需時間更短。
表4 參數(shù)尋優(yōu)結(jié)果對比Tab.4 Comparison of parameter optimization results
②支持向量機訓(xùn)練。采用C=0.233 3,γ=4.594 8訓(xùn)練支持向量機,具體結(jié)果如圖6所示。
圖6 數(shù)據(jù)集B訓(xùn)練效果圖Fig.6 Training effect diagram of dataset B
選用以數(shù)據(jù)集A訓(xùn)練好的SVM應(yīng)用于A數(shù)據(jù)集中的測試集,分類結(jié)果如圖7所示。
圖7 測試集分類結(jié)果圖Fig.7 Test set classification result diagram
圖6中圓圈代表98個測試樣本的實際類別,“*”為模型分類結(jié)果?!?”與圓圈重合代表分類正確,反之錯誤。從圖6中,我們可以得出“*”與圓圈重合的樣本有91個,即分類準確率達77.55%。案例組的分類正確率達89.8%,對照組樣本分類正確率達65.3%。此外,案例組樣本錯誤分類的數(shù)量少于對照組樣本分類錯誤的數(shù)量。
從圖7中,我們可以得出“*”與圓圈重合的樣本僅有45個,即分類準確率只有54.1%。案例組的分類正確率達59.2%,對照組樣本分類正確率達49%。顯然,案例組的分類正確率與對照組樣本分類正確率均比較低。因此,通過特征變量降維后的數(shù)據(jù)集B的危險交通流狀態(tài)識別準確率高于數(shù)據(jù)集A。
③分類效果評價。數(shù)據(jù)集B交通流狀態(tài)識別的混淆矩陣如圖8所示。
圖8 混淆矩陣Fig.8 Confusion matrix
圖8混淆矩陣中行表示案例樣本與對照樣本測試集預(yù)測分類標簽,列表示案例樣本與對照樣本測試集的實際類別。從圖8可知,危險交通流狀態(tài)的分類正確率為89.8%;此外,案例所研究的123起事故中有因駕駛員操作不當或入口頻繁變換車道引起,因此排除道路、駕駛員等偶發(fā)性因素,本研究所構(gòu)建的支持向量機模型對危險交通流狀態(tài)的識別準確率較高。值得注意的是,該模型易把安全交通流狀態(tài)判別為危險交通流狀態(tài)。但由于在日常的危險交通流狀態(tài)監(jiān)測過程中,我們更注重危險交通流狀態(tài)的發(fā)生。因此,本研究所構(gòu)建的危險交通流狀態(tài)識別模型具有良好適用性。
3.2.1 RSA算法合理性驗證
為了驗證RSA算法的合理性,選用數(shù)據(jù)集A來訓(xùn)練和測試支持向量機。數(shù)據(jù)集A,B的交通流狀態(tài)識別結(jié)果對比如圖9所示。算法測試結(jié)果的ROC曲線如圖10所示。
圖9 數(shù)據(jù)集A,B的交通流狀態(tài)識別對比Fig.9 Comparison of traffic flow state recognition between data set A and data set B
圖10 ROC曲線Fig.10 ROC curves
從圖9可知,不論是正常交通流狀態(tài)還是危險交通流狀態(tài),數(shù)據(jù)集B的分類精度均高于數(shù)據(jù)集A。從圖10數(shù)據(jù)集B的ROC曲線與數(shù)據(jù)集A的ROC曲線對比可知,數(shù)據(jù)集B的曲線更接近Y=1。此外,ROC曲線與Y=0以及X=1所圍的面積為AUC值,面積越大,表明分類器的性能有所提高。由圖10可知,數(shù)據(jù)集B的AUC值較大,因此本研究提出的RSA 算法可以提高分類器的分類精度及性能。
3.2.2 不同算法結(jié)果對比分析
為了驗證本研究所構(gòu)建模型的適用性,本研究選取常用的K近鄰算法和BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于前兆特征變量降維后的數(shù)據(jù)集B,具體對比情況如下:
(1)K-近鄰算法
K-近鄰算法中兩樣本間的距離計算常采用歐式距離度量方法。取K∈(1,40),樣本分類準確率結(jié)果如圖11所示,顯然,最佳K值為8,分類總正確率為79.59%。
圖11 不同K值算法準確率Fig.11 Accuracy rates of algorithm with different K values
(2)BP神經(jīng)網(wǎng)絡(luò)算法
本研究BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建過程中,分輸入層、隱含層、輸出層3層,激勵函數(shù)選擇Sigmoid函數(shù)。通過梯度下降法來調(diào)整輸入層各節(jié)點與隱含層各節(jié)點之間的連接權(quán)重以及閾值,使誤差沿梯度方向下降。隱含層節(jié)點與輸出層節(jié)點之間的連接權(quán)重與閾值處理方法同上。迭代次數(shù)1 000次,期望誤差為10-6,學(xué)習(xí)速率0.01,試驗結(jié)果如圖12所示。圖12中,分類正確率較高的曲線為訓(xùn)練樣本。從圖12可以明顯看出,當隱含層的節(jié)點數(shù)取15時,數(shù)據(jù)集B中訓(xùn)練樣本的交通流狀態(tài)分類總正確率為84.69%,測試樣本交通流狀態(tài)分類總正確率達73.40%。3種方法的識別結(jié)果對比如圖13所示。
圖12 測試樣本分類準確率Fig.12 Classification accuracy of test samples
圖13 交通流狀態(tài)識別結(jié)果對比Fig.13 Comparison of traffic flow state recognition results
由圖13可知,SVM算法對于危險交通流狀態(tài)識別準確率高于KNN算法和BP神經(jīng)網(wǎng)絡(luò)算法,KNN和BP神經(jīng)網(wǎng)絡(luò)算法容易將危險狀態(tài)判斷為安全狀態(tài),導(dǎo)致較多的潛在危險交通流狀態(tài)無法檢測準確,即基于SVM的危險交通流狀態(tài)識別算法優(yōu)于KNN算法和BP神經(jīng)網(wǎng)絡(luò)算法,可為道路交通管理部門提供可靠的決策支持。
本研究提出了基于支持向量機的危險交通流狀態(tài)檢測方法。采用事故所對應(yīng)的交通流狀態(tài)作為危險交通流狀態(tài)進行研究,根據(jù)交通流特性,提取與交通事故發(fā)生相關(guān)的24個前兆特征變量,并通過相關(guān)性選擇算法實現(xiàn)降維,最終保留4個特征變量。結(jié)合支持向量機模型實現(xiàn)了對危險交通流狀態(tài)的檢測識別,精度高于KNN算法和BPNN算法。此外,改進后的網(wǎng)格搜索算法,使得懲罰參數(shù)C和核函數(shù)參數(shù)γ尋優(yōu)效率提高了98.3%,極大減少了搜索時間。因此,本研究可以有效地對危險交通流狀態(tài)進行實時識別,為交通管理部門保障城市快速路的正常運營提供決策依據(jù)。