康晉滔,成 衛(wèi),張 靈
(1.昆明理工大學 交通工程學院,云南 昆明 650504; 2.昆明市公安局交警支隊科信處,云南 昆明 650000)
隨著智能交通系統(tǒng)(Intelligent Transportation Systems,ITS)的引入和普及,交管部門已有龐大的交通原始數(shù)據(jù)積累。這些交通數(shù)據(jù)在交通控制、交通規(guī)劃等領域蘊含了極大的潛在價值[1]。然而,受環(huán)境因素、設備故障等影響,這些數(shù)據(jù)的準確性仍有待提高。研究表明,交通數(shù)據(jù)庫里的數(shù)據(jù)準確率平均值低于70%[2]。因此,為保障智能交通系統(tǒng)有效工作,對其原始數(shù)據(jù)的異常檢測與修正尤為必要。
20世紀90年代,Jacobson等[3]學者通過建立交通數(shù)據(jù)最值模型,得到經(jīng)典3參數(shù)的閾值基準,從而對異常值進行檢測;Zhong等[4-5]在此基礎上,采用了插值、回歸等方法,對數(shù)據(jù)進行修正;Min等[6]基于交通數(shù)據(jù)的時空相關性,利用鄰接數(shù)據(jù)、歷史數(shù)據(jù)等對原始數(shù)據(jù)進行修正。國內對于此類問題的研究起步較晚,大約在2005年后,姜桂艷等[7-9]針對實時動態(tài)的交通數(shù)據(jù)提出了異常評價體系;徐程等[10]根據(jù)前人的研究成果,建立了一套標準的數(shù)據(jù)預處理流程。但是這些方法,在大數(shù)據(jù)時代下,難以高效地處理爆炸式增長的交通數(shù)據(jù)。
隨著機器學習和深度學習的普及,部分學者也開始嘗試訓練模型來處理數(shù)據(jù)。范光鵬等[11]充分挖掘了數(shù)據(jù)在時間序列上的信息,利用深度學習LSTM模型與卡爾曼濾波相結合,來預測公交車站到站時間;Sun等[12]在傳統(tǒng)的KNN算法基礎上,引入時間窗和權重,極大拓展了數(shù)據(jù)集規(guī)模,從而在大數(shù)據(jù)框架下建立了GSW-KNN算法;Kim等[13]則是采用優(yōu)化的遞歸神經(jīng)網(wǎng)絡C-LSTM模型,通過對大量歷史交通數(shù)據(jù)的深度挖掘,訓練特定場景的數(shù)據(jù)模型,來檢測該場景下的交通異常值。
綜上所述,基于交通數(shù)據(jù)時空相關性的處理方法,沒有充分挖掘數(shù)據(jù)本身的邏輯規(guī)律。然而由于道路條件等諸多隨機因素存在,在實際工程中交通數(shù)據(jù)的變化往往無法呈現(xiàn)出既有模型所具有的規(guī)律性,所以基于時空相關性的修正方法可能會出現(xiàn)較大的誤差。常用的交通異常檢測手段,多基于數(shù)據(jù)的單元特征,分別對速度或流量等參數(shù)進行異常檢測,隨著數(shù)據(jù)多元化的發(fā)展,已經(jīng)無法滿足智能交通系統(tǒng)的要求。而在數(shù)據(jù)修正過程中,傳統(tǒng)方法大多根據(jù)交通數(shù)據(jù)的時空特性,使用大量的歷史數(shù)據(jù),通過不同的權重來對異常點進行相應修正。
基于此,提取斷面二元特征向量速度與流量,運用多元高斯分布機器學習模型來進行異常數(shù)據(jù)的快速甄別。同時鑒于灰色馬爾可夫模型[14]在短時預測的領域有著優(yōu)良的擬合效果,提出了1種基于GM(1,1)-Markov模型的異常值修正方法,在此基礎上引入了小時修正窗口和波動性數(shù)據(jù)處理,從便捷性和準確性2方面優(yōu)化了該組合模型。
交通原始數(shù)據(jù)呈現(xiàn)多源異構特征,為了便于后續(xù)的運算處理,首先要對原始數(shù)據(jù)集進行標準化處理。本文以10 min為基本單元進行標準化,則每天的速度數(shù)據(jù)和流量速度分別有144組,即V=v1,v2,v3,,v144,Q=q1,q2,q3,,q144。原始數(shù)據(jù)集最終可表示為Xt=(V,Q),式中t為該數(shù)據(jù)集的日期,即t=1,2,3,,31。取第1天交通數(shù)據(jù)X1為訓練集,并對X1進行異常標定,用于多元高斯異常檢測模型的訓練。
實際工程中,即使數(shù)據(jù)分布不太符合高斯分布,可以通過函數(shù)變換使其滿足高斯分布,這一過程稱為高斯化。大量的實驗[15]表明,原數(shù)據(jù)不進行高斯化處理,異常檢測算法也能夠良好運行。因此,本文認為流量、平均速度等數(shù)據(jù)服從高斯分布。
根據(jù)交通工程學大量的研究,交通流三參數(shù)數(shù)據(jù)為相關性較高[16]的隨機變量。如果使用普通高斯算法,則無法表征特征向量之間的關聯(lián)性;多元高斯分布模型則可以自動捕獲特征之間的相關。本文提取速度和流量二元特征,而每日的樣本數(shù)量144遠大于特征數(shù)量2,因此滿足使用多元高斯異常檢測算法的前提條件。
對于訓練集二元隨機變量X1=(V,Q),具備如下的概率分布密度函數(shù):
(1)
式中:n為特征向量(速度和流量)的數(shù)量,取2;μ為對應特征向量的均值;Σ為二元特征數(shù)據(jù)集的協(xié)方差矩陣。
根據(jù)多元高斯模型的公式,使用matlab編程計算出X1=(V,Q)的參數(shù)μ和Σ,從而擬合出模型p(x)以及閾值參數(shù)ε。然后,將測試數(shù)據(jù)集輸入該模型p(x),計算出對應點p(x)的值。通過比較計算出p(x)值與模型異常閾值ε,當p(x)<ε時,判斷對應的數(shù)據(jù)點為異常值,否則為正常值。
通過異常檢測算法,可得到原始數(shù)據(jù)集中的異常點。假設存在異常點xi,xj,xk,,其中i,j,k,分別表示上節(jié)檢測出的異常點在原始數(shù)據(jù)集中的角標編號。
針對每1個異常數(shù)據(jù)點,分別建立小時修正窗口,即每個窗口(含異常點)有6個數(shù)據(jù)。根據(jù)GM(1,1)模型的特點,第1個數(shù)據(jù)點為基準點,不會被擬合計算。因此每個異常點有5種不同的修正窗口。用W分別表示這些窗口為:W=[xi-5,xi-4,xi-3,xi-2,xi-1,xi],[xi-4,xi-3,xi-2,xi-1,xi,xi+1],[xi-3,xi-2,xi-1,xi,xi+1,xi+2],[xi-2,xi-1,xi,xi+1,xi+2,xi+3],[xi-1,xi,xi+1,xi+2,xi+3,xi+4]。
經(jīng)過大量的實驗運算,得出選取將異常點作為窗口最后1個數(shù)據(jù)的修正窗口得到的修正值為最優(yōu)。若首次修正效果不滿足異常檢測,則依次選取其他形式的修正窗口進行異常點再修正。
當數(shù)據(jù)出現(xiàn)波動性變化時,GM(1,1)模型的擬合效果會受到影響,因此采取1種補加增量的方法,弱化原始數(shù)據(jù)的隨機性,提高灰色模型的運算精度。
(2)
(3)
通過GM(1,1)灰色模型的擬合,找出數(shù)據(jù)的外在變化趨勢;進一步利用馬爾可夫模型,挖掘時序數(shù)據(jù)內在狀態(tài)的轉移規(guī)律。具體步驟如下:
1)對數(shù)據(jù)集X(1)進行1次累加處理:
(4)
2)定義鄰值生成數(shù):
(5)
式中:zk為X(2)的鄰值生成數(shù)列。
3)建立GM(1,1)模型:
(6)
(7)
式中:α為發(fā)展系數(shù),β為灰作用量。用回歸分析求α,β的值??傻茫?/p>
(8)
(9)
4)還原原始數(shù)據(jù)修正值:
(10)
5)求出窗口修正數(shù)據(jù)集的相對殘差:
(11)
式中:k=1,2,,n。
6)劃分狀態(tài)區(qū)間:根據(jù)相對殘差范圍集中程度進行劃分。假設劃分好的區(qū)間為E1,E2,Ej,j為區(qū)間的個數(shù)。
7)確定狀態(tài)轉移矩陣:
(12)
式中:Pab為狀態(tài)Ea轉移到狀態(tài)Eb(b>a)的轉移概率;mab表示由Ea一步轉移到Eb出現(xiàn)的次數(shù),Ma表示狀態(tài)Ea出現(xiàn)的總次數(shù)。確立1步狀態(tài)轉移矩陣:
(13)
Pk=v0·P
(14)
(15)
式中:λ+η=1,本文使用平均權值。
對于斷面交通異常數(shù)據(jù),運用上述算法,建立整套質量控制流程如圖1所示。算法總體分為2大部分,即異常檢測與數(shù)據(jù)修正。
圖1 交通異常數(shù)據(jù)質量控制流程Fig.1 Quality control procedure of traffic abnormal data
選取汕昆高速K2077斷面數(shù)據(jù),樣本數(shù)據(jù)集為2018年5月該斷面的交通流量以及速度數(shù)據(jù)。首先,對原始數(shù)據(jù)進行標準化處理及二元特征提取,5月1日部分標準化數(shù)據(jù)如表1所示。
表1 樣本部分標準化數(shù)據(jù)Table 1 Partial standardized data of sample
為了便于二元高斯模型的訓練,將所有流量數(shù)據(jù)乘以0.5,做歸一化處理。
使用5月1日數(shù)據(jù)集作為二元高斯模型訓練集,5月2日數(shù)據(jù)集作為驗證集。模型訓練后得出異常檢測閾值ε=1.735 759e-04。檢測出驗證集中異常數(shù)據(jù)角標編號分別為9,24,40,49,126,128,139共計7個異常數(shù)據(jù)點。二元高斯模型異常檢測程序在matlab中運行結果如圖2所示。
為驗證此異常檢測算法的有效性,繼續(xù)使用5月3日、5月4日、5月5日數(shù)據(jù)作為測試集。分別檢測出對應數(shù)據(jù)集異常值,并計算出對應的誤檢率和檢測率,如表2所示。
通過對上述4天交通數(shù)據(jù)進行二元高斯分布異常檢測,其結果表明:模型異常檢測率均值可達83.13%,而其中誤檢率均值僅為11.75%。
對5月2日數(shù)據(jù)集檢測出的異常點,進行修正窗口劃分,將這些異常修正窗口在全天數(shù)據(jù)集中標記出來,如圖3所示。每一個窗口具有6個數(shù)據(jù),異常數(shù)據(jù)點置于末端。
圖2 異常檢測模型可視化結果Fig.2 Visualization results of anomaly detection model
檢測指標日期5月2日5月3日5月4日5月5日均值誤檢率121361611.75檢測率87.580818483.13
波動性處理前后灰色(1,1)模型擬合平均相對誤差對比如表3所示,由表3中數(shù)據(jù)可知,直接使用灰色模型對窗口數(shù)據(jù)進行處理,則各修正窗口擬合平均相對誤差的均值在20%以上。經(jīng)過波動性處理優(yōu)化之后,灰色模型各窗口平均相對誤差的均值不足10%。
圖3 劃分修正窗口Fig.3 Partition of correction windows
模型窗口窗口1窗口2窗口3窗口4窗口5窗口6窗口7均值GM(1,1)21.0716.1845.339.9315.6925.6322.5322.34優(yōu)化GM(1,1)3.686.8129.055.8110.152.709.779.71
各個窗口的修正過程如圖4所示。由于最終的修正數(shù)據(jù)集更新只針對異常點,因此窗口的其他點只參與狀態(tài)轉移的概率劃分,而不計算其最終的馬爾可夫調整量。
圖4 各窗口模型修正Fig.4 Model correction of each window
為了驗證本文提出的優(yōu)化GM(1,1)-Markov修正方法的有效性,選取歷史數(shù)據(jù)修正和移動平均修正2種方法作為對比論證。每種方法修正的數(shù)據(jù)分別與對應窗口的數(shù)據(jù)集平均值做絕對誤差(Absolute Error)、相對誤差(Relative Error)、以及均方根誤差(Root Mean Squared Error)計算。3種方法對異常點的修正誤差分析如表4所示。
通過上述3種交通數(shù)據(jù)修正方法的誤差分析,得出波動性優(yōu)化GM(1,1)-Markov深入挖掘了原始數(shù)據(jù)集的內在規(guī)律,算法誤差小且具備很強的魯棒性。在不使用大量歷史數(shù)據(jù)的前提下,能夠起到良好的修正效果。
1)以斷面數(shù)據(jù)的時間刻度為標簽,提取該標簽數(shù)據(jù)的二元特征向量,即速度和流量,運用二元高斯分布擬合的模型,快速準確地檢測出異常數(shù)據(jù)。今后還可以推廣到多元特征向量,例如涵蓋交通檢測器常有的占有率數(shù)據(jù)集。
2)對異常數(shù)據(jù)進行針對性修正,引入小時窗口既使得修正過程清晰便捷又避免大量冗余數(shù)據(jù)的復合運算。采用GM(1,1)-Markov則可以在小時窗口內部較好地表征出異常點的客觀規(guī)律變化,從而進行修正。
3)鑒于短時交通數(shù)據(jù)的隨機波動性大,引入波動性優(yōu)化處理彌補了GM(1,1)-Markov模型局部失真的缺陷。
表4 修正數(shù)據(jù)誤差對比Table 4 Error comparison of corrected data