孫然然,張靜萱,朱廣宇
(1.北京交通大學 北京市城市交通信息智能感知與服務工程技術研究中心,北京 100044;2.北京交通大學 綜合交通運輸大數據應用技術交通運輸行業重點實驗室,北京 100044;3. 國家鐵路局規劃與標準研究院,北京 100055)
實時高效的對道路交通狀況進行識別,有助于降低交通事故的發生率,保障交通系統的運營安全。交通事故是各種事件在特定的動態交通系統中互為因果、綜合作用的結果[1],往往呈現為多種形態,主要包括突發型、漸進型、混合型等。事故發生的前期通常會表現出某些交通運營狀況的漸變或突變[2],不同程度地體現在交通流參數上。因此,通過實時監測道路交通流參數的變化情況,可有效對易引發交通事故的危險交通流狀態進行識別,及時預判潛在的交通事故,為相關管理部門制訂相應的管控措施提供依據,以達到減少交通事故的目的[3]。
早期對交通流狀態的研究,側重于交通事故檢測與交通擁堵判別,主要有California算法[4]、靜態判別McMaster算法[5]、基于數理統計的平滑算法[6]等。上述經典算法主要通過辨識道路斷面交通流量、地點車速、交通密度等交通參數變化的單一方法對交通流進行分析與處理,快速判定是否有交通事故及交通擁擠發生,且算法檢測效率低,誤報率高。后期,國內外先進交通流檢測設備的涌現,為交通事故預測與異常交通狀態辨識的研究提供了便利,可通過監測實時交通流數據來研究交通流運行狀態,常見的有基于視頻數據處理的異常交通流狀態識別技術[7-10]。例如:方曉瑩等[7]運用數字圖像處理技術獲取交通參數的變化情況,進而對各時刻的異常交通狀態檢測并根據各參數的變化趨勢預測異常交通狀態。林震等[11]分析交通事故與車速偏差量之間具有顯著的相關性,以車速指標的不穩定性來表征異常交通運行狀態,構建基于貝葉斯理論的交通事故最小風險預測模型,及時準確地評估異常交通流狀態。徐鋮鋮等[12]分析高速公路交通流數據與事故數據,構建交通安全實時評價指標體系,運用Fisher判別分析方法,構造關于實時交通流參數的線性判別函數,根據判別函數值判斷實時交通流狀態。
隨著計算機技術以及智能交通運輸體系的發展,人工智能算法在道路異常交通流狀態研究中逐漸占主導地位,神經網絡、模糊算法和支持向量機等被廣泛應用[13-20]。姜桂艷等[13]利用高速公路流量和車道占有率兩項指標,基于神經網絡構建了一種適用于高速公路的具有3級報警制度的交通事件自動檢測系統,結果表明其檢測率與檢測時間均優于傳統算法。向懷坤等[14]提取反映交通流特性的路段車輛占有率和車輛運行速度特征,構建基于粒子群(PSO)算法優化的BP神經網絡模型,結果顯示PSO神經網絡算法提高了交通事件的檢測效率。神經網絡具有檢測率高的特點,但在訓練過程中對樣本的需求量比較大。由于交通流狀態是不斷變化的,楊奎河等[15]改善以往單一檢測方式,融合多種檢測數據,建立基于模糊聚類的交通流狀態識別,試驗表明, 該方法能更加準確地識別交通流狀態,有助于判別路段危險交通狀況。模糊算法基于規則將一些難以量化的參數模糊處理,應用具有局限性。在眾多人工智能算法中,支持向量機模型憑借其良好的學習能力與泛化能力以及在小樣本、高維非線性樣本下也可獲得最優解而被廣泛用于道路交通事故風險預測問題[16-20]。Yuan等[18]分別采用不同非線性核函數的兩個支持向量機模型對道路交通事故進行檢測,試驗結果表明,在分類率、檢測時間方面,支持向量機優于多層前向神經網絡和概率神經網絡模型。周洲等[19]根據高速公路交通流的特點,設計了基于不同核函數的SVM模型用于有無交通事件發生的檢測,結果表明,合適的SVM模型和核函數可提高檢測率,縮短檢測時間。后期,游錦明等[20]基于支持向量機模型實時檢測高速公路上的不良交通流狀態,為提高支持向量機分類器性能,首先運用主成分分析法對交通流參數進行分析處理,網格遍歷法優化模型中的懲罰參數C和核函數參數γ。
上述研究均表明交通事故風險往往與交通流運行中某些實時狀態參數(如交通流,車速等)存在顯著關系,即危險的交通流狀態易誘發交通事故,交通事故的發生也常伴隨著危險交通流狀態的存在。因此,危險交通流狀態的實時識別可轉化為分類問題,故選用上述分類性能良好的支持向量機模型作為交通流狀態識別模型。針對參數分析不全面以及算法識別效率低等問題,本研究對基于支持向量機的危險交通流狀態識別算法進一步優化研究。主要研究內容如下:(1)數據預處理;(2)提取交通事故發生的相關前兆特征變量,并通過相關性選擇算法(Relevance Selection Algorithm,RSA)對特征變量降維處理;(3)提出基于改進網格搜索算法的支持向量機模型對危險交通流狀態進行識別,應用于某市快速路的事故數據進行案例分析。
本研究的對象為某市快速路的某個路段,危險交通流的判別以該路段交通事故發生前的交通運行參數為依據。提取2015年6月11日—2015年11月11日的事故數據與事故發生前上游(a1、a2)、下游(a3、a4)各兩個檢測器的交通流數據(流量F、速度V和時間占有率U)。數據集劃分為事故發生的“案例組”和未發生事故的“對照組”,比例為1∶1,為保證試驗結果的準確性,兩組數據選取規則為:無重大天氣變化情況下,所選地點、時間段均相同,僅日期不同。
Pande等[21]指出:交通流狀態的識別以5 min的時間長度集計較佳。此外,危險交通流狀態的識別需具備一定的超前性,故選取事故發生前T1(5~10 min)和T2(10~15 min)兩個時間片段進行研究。因此,一個事故點包含8條(4個檢測器×2個時間段)數據記錄,事故發生的前兆特征變量可初定為24個,如表1所示。其中F(a1,T1)代表a1檢測器所檢測的交通事故發生前T1時間段的交通流量。原始數據因檢測器突發故障等因素,會存在數據不完整、數據異常錯誤等,需要對數據進一步清洗,最終經過數據提取與預處理,得到案例組和對照組樣本各123個,記為數據集A,部分數據如表2所示。每個樣本有24個特征變量和1個類別標簽(“1”記為危險狀態,“0”記為正常狀態)。

表1 交通事故前兆特征變量Tab.1 Characteristic variables of traffic accident precursor

表2 數據預處理Tab.2 Data preprocessing
由于特征變量的量綱不一致,首先對其進行歸一化處理。為降低模型的計算復雜度、提高分類器性能,本研究構造了一種相關性選擇算法(Relevance Selection Algorithm,RSA)首先對路段上事故發生的前兆特征變量進行降維處理。
(1) 特征變量與類別間相關性
記D(i)值表示第i個特征變量與類別的相關性,D(i)值越大,表示特征變量與類別強相關,反之,為弱相關或不相關。
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個特征變量的相關系數。當兩個特征變量之間的相關性越高,所含重復信息越多時,rij絕對值越大。當兩個特征變量無相關性時,rij=0;交通事故前兆特征變量之間相關系數絕對值矩陣R表示如下:
(7)
(3) 特征變量降維算法
特征變量與類別間的相關性以及各特征變量之間的相關性計算部分結果如圖1、表3所示。為保證特征變量選取的合理性,最終設計特征變量提取算法如圖2所示。

圖1 交通事故前兆特征變量與類別相關性Fig.1 Correlation between traffic accident precursor characteristic variable and category

表3 交通事故前兆特征變量之間的相關性Tab.3 Correlation between traffic accident precursorchar-acteristic variables

圖2 特征變量提取算法Fig.2 Feature variable extraction algorithm
根據上述特征變量提取方案,最終得到包含4個特征變量(F(a3,T2),F(a3,T1),F(a4,T2),F(a4,T1)) 的數據集B。將數據集A、B分為兩部分:60%訓練集和40%測試集,訓練集和測試集包含的“案例組”及“對照組”的樣本比例1∶1。
支持向量機(Support Vector Machine,SVM)在模式分類問題上, 具有的良好的泛化性能,其主要思想是將輸入變量X通過特定的非線性映射算法映射到一個高維特征空間Z,在Z中構造最優分類超平面。
給定訓練數據集:
S={(xi,yi)|i=1, 2,…,m},
(8)
式中,xi∈Rn為第i個樣本的特征變量;yi∈n為第i個樣本的標簽且yi∈{±1},m為樣本規模。SVM目的是尋找一個超平面H將yi以最優的方式區分出來,即不僅可以將標簽為1和-1分開,同時還能使分開的數據點距離H最遠,如圖3所示,H為最優超平面。超平面可表示為:
g(x)=wTx+b,
(9)
式中,x為輸入向量;w為權值向量;b為常量參數。

圖3 最優超平面圖Fig.3 Diagram of optimal hyperplane
對于yi∈{±1}的樣本點,到超平面的幾何間隔為:
(10)


i=1, 2,…,m。
(11)
(2)懲罰變量

親子閱讀重在互動,閱讀時,可以家長讀孩子聽,還可以分角色讀、輪流讀。為了鼓勵孩子開展獨立閱讀,家長可采用閱讀導入法,選擇一本情節跌宕起伏的故事書,先由家長聲情并茂地讀給孩子聽,然后在最精彩、最緊張的地方停下來,讓孩子接著把書中的故事讀下去。
(12)
yi(wTxi+b)≥1-ξi,i=1, 2,…,m,ξi≥0,
(13)
式中C為用戶選定的正參數。引入拉格朗日函數,此問題表示為:
0≤αi≤C,i=1, 2,…,m,
(14)
(15)
求解得α=(α1,α2,…,αm)T,超平面進一步表示為:
(16)
(3)核函數
核函數的選擇是影響支持向量機模型性能的關鍵因素,核函數可將線性不可分的數據映射到一個高維的特征空間內,使得數據在該特征空間內是可分的。常用的徑向基核函數可將樣本映射到一個更高維的空間,參數少且數值計算相對簡單。
K(xi,xj)=exp(-γ‖xi-xj‖2),γ>0。
(17)
因此,本研究選用基于徑向基核函數的支持向量機模型作為交通流狀態識別分類模型,其決策函數為:
(18)
式中,xi,yi,αi,b為模型優化求解得到的參數;模型求解中懲罰系數C值與核函數中參數γ值影響訓練模型的分類性能。傳統網格搜索法搜索時間較長,本研究首先在大區域范圍內確定小區域,進一步采用較小的步長搜索,首先對數據集B進行訓練與測試,實現過程和結果如下。
①參數尋優。輸入數據集B中的訓練集,K折交叉驗證中K=5,設定a=1%,當網格搜索的參數C,γ的取值所對應的危險交通流狀態的識別準確率與前一次的準確率之差比a大,則減小步長,縮小搜索范圍。反之,終止搜索。C,γ初始搜索范圍:C∈[2-10,210],γ∈[2-10,210],步長為1。初次SVM參數尋優結果如圖4所示。

圖4 初次參數尋優結果Fig.4 Initial parameter optimization result
圖4中X,Y,Z軸分別表示γ,C的尋優范圍以及危險交通流狀態的準確率。得出最優值C=8,γ=0.5,準確率為77.702 7%,尋優時間為2.609 4 s。根據圖4,顯然可得,當識別準確率較高時,γ∈[2-3,2-2],C∈[22,23],即C,γ在該范圍內進一步搜索,步長減小為0.1,參數尋優結果如圖5所示。

圖5 參數尋優結果Fig.5 Parameter optimization result
根據圖5,得出支持向量機模型懲罰參數最優為0.233 3,核函數參數最優值為4.594 8,交通流狀態的識別準確率達78.378 4%。優化過的網格搜索算法在整個參數尋優過程中共花費時間3.4 s。兩次尋優準確率差為0.68%<1%。因此,選取參數C=0.233 3,γ=4.594 8。與傳統的網格搜索算法參數尋優對比結果如表4所示,顯然,改進的網格搜索法所需時間更短。

表4 參數尋優結果對比Tab.4 Comparison of parameter optimization results
②支持向量機訓練。采用C=0.233 3,γ=4.594 8訓練支持向量機,具體結果如圖6所示。

圖6 數據集B訓練效果圖Fig.6 Training effect diagram of dataset B
選用以數據集A訓練好的SVM應用于A數據集中的測試集,分類結果如圖7所示。

圖7 測試集分類結果圖Fig.7 Test set classification result diagram
圖6中圓圈代表98個測試樣本的實際類別,“*”為模型分類結果?!?”與圓圈重合代表分類正確,反之錯誤。從圖6中,我們可以得出“*”與圓圈重合的樣本有91個,即分類準確率達77.55%。案例組的分類正確率達89.8%,對照組樣本分類正確率達65.3%。此外,案例組樣本錯誤分類的數量少于對照組樣本分類錯誤的數量。
從圖7中,我們可以得出“*”與圓圈重合的樣本僅有45個,即分類準確率只有54.1%。案例組的分類正確率達59.2%,對照組樣本分類正確率達49%。顯然,案例組的分類正確率與對照組樣本分類正確率均比較低。因此,通過特征變量降維后的數據集B的危險交通流狀態識別準確率高于數據集A。
③分類效果評價。數據集B交通流狀態識別的混淆矩陣如圖8所示。

圖8 混淆矩陣Fig.8 Confusion matrix
圖8混淆矩陣中行表示案例樣本與對照樣本測試集預測分類標簽,列表示案例樣本與對照樣本測試集的實際類別。從圖8可知,危險交通流狀態的分類正確率為89.8%;此外,案例所研究的123起事故中有因駕駛員操作不當或入口頻繁變換車道引起,因此排除道路、駕駛員等偶發性因素,本研究所構建的支持向量機模型對危險交通流狀態的識別準確率較高。值得注意的是,該模型易把安全交通流狀態判別為危險交通流狀態。但由于在日常的危險交通流狀態監測過程中,我們更注重危險交通流狀態的發生。因此,本研究所構建的危險交通流狀態識別模型具有良好適用性。
3.2.1 RSA算法合理性驗證
為了驗證RSA算法的合理性,選用數據集A來訓練和測試支持向量機。數據集A,B的交通流狀態識別結果對比如圖9所示。算法測試結果的ROC曲線如圖10所示。

圖9 數據集A,B的交通流狀態識別對比Fig.9 Comparison of traffic flow state recognition between data set A and data set B

圖10 ROC曲線Fig.10 ROC curves
從圖9可知,不論是正常交通流狀態還是危險交通流狀態,數據集B的分類精度均高于數據集A。從圖10數據集B的ROC曲線與數據集A的ROC曲線對比可知,數據集B的曲線更接近Y=1。此外,ROC曲線與Y=0以及X=1所圍的面積為AUC值,面積越大,表明分類器的性能有所提高。由圖10可知,數據集B的AUC值較大,因此本研究提出的RSA 算法可以提高分類器的分類精度及性能。
3.2.2 不同算法結果對比分析
為了驗證本研究所構建模型的適用性,本研究選取常用的K近鄰算法和BP神經網絡算法應用于前兆特征變量降維后的數據集B,具體對比情況如下:
(1)K-近鄰算法
K-近鄰算法中兩樣本間的距離計算常采用歐式距離度量方法。取K∈(1,40),樣本分類準確率結果如圖11所示,顯然,最佳K值為8,分類總正確率為79.59%。

圖11 不同K值算法準確率Fig.11 Accuracy rates of algorithm with different K values
(2)BP神經網絡算法
本研究BP神經網絡的構建過程中,分輸入層、隱含層、輸出層3層,激勵函數選擇Sigmoid函數。通過梯度下降法來調整輸入層各節點與隱含層各節點之間的連接權重以及閾值,使誤差沿梯度方向下降。隱含層節點與輸出層節點之間的連接權重與閾值處理方法同上。迭代次數1 000次,期望誤差為10-6,學習速率0.01,試驗結果如圖12所示。圖12中,分類正確率較高的曲線為訓練樣本。從圖12可以明顯看出,當隱含層的節點數取15時,數據集B中訓練樣本的交通流狀態分類總正確率為84.69%,測試樣本交通流狀態分類總正確率達73.40%。3種方法的識別結果對比如圖13所示。

圖12 測試樣本分類準確率Fig.12 Classification accuracy of test samples

圖13 交通流狀態識別結果對比Fig.13 Comparison of traffic flow state recognition results
由圖13可知,SVM算法對于危險交通流狀態識別準確率高于KNN算法和BP神經網絡算法,KNN和BP神經網絡算法容易將危險狀態判斷為安全狀態,導致較多的潛在危險交通流狀態無法檢測準確,即基于SVM的危險交通流狀態識別算法優于KNN算法和BP神經網絡算法,可為道路交通管理部門提供可靠的決策支持。
本研究提出了基于支持向量機的危險交通流狀態檢測方法。采用事故所對應的交通流狀態作為危險交通流狀態進行研究,根據交通流特性,提取與交通事故發生相關的24個前兆特征變量,并通過相關性選擇算法實現降維,最終保留4個特征變量。結合支持向量機模型實現了對危險交通流狀態的檢測識別,精度高于KNN算法和BPNN算法。此外,改進后的網格搜索算法,使得懲罰參數C和核函數參數γ尋優效率提高了98.3%,極大減少了搜索時間。因此,本研究可以有效地對危險交通流狀態進行實時識別,為交通管理部門保障城市快速路的正常運營提供決策依據。