夏卓群,羅君鵬,胡珍珍
(1.長沙理工大學綜合交通運輸大數(shù)據(jù)智能處理湖南省重點實驗室,湖南 長沙 410114;2.長沙理工大學計算機與通信工程學院,湖南 長沙 410114;3.國防科技大學計算機學院,湖南 長沙 410073)
隨著城市化水平的不斷提高,智能交通系統(tǒng)ITS(Intelligent Traffic System)得到了長足發(fā)展[1]。移動群智感知技術利用用戶手中的移動設備作為感知單元采集數(shù)據(jù)[2,3],通過已有的基礎網(wǎng)絡設施傳輸數(shù)據(jù)到數(shù)據(jù)中心,由于移動設備的普及,可以較為輕易地獲得較大范圍內的細粒度感知信息,相比傳統(tǒng)信息采集系統(tǒng)獲取的感知信息精度更高[4],同時還具有部署、維護成本低的優(yōu)勢[5],在智能交通系統(tǒng)中起到了越來越重要的作用。交通狀態(tài)預測是智能交通領域的一項重要研究內容,它可以幫助交通管理部門更加合理地進行交通管理和控制,也可以向駕駛員提供出行時間的實時估計、出行路線的規(guī)劃。傳統(tǒng)的基于實時數(shù)據(jù)的交通控制與誘導對交通狀態(tài)缺乏預見性,且有明顯的滯后性,交通狀態(tài)是有可能在短時間內發(fā)生大幅度變化的,如道路在下班高峰時期可能會突然擁堵,而這段時間過后又會恢復正常,因此預測的信息對于交通管控部門與駕駛員來說有時候比實時信息更加有用[6,7]。
移動群智感知網(wǎng)絡通過用戶手中的移動設備,可以獲取用戶行車過程中的位置和速度信息,將這些信息分類聚合,可以得到一定范圍內每個路段帶有時間戳的道路車速信息[8]。由于這些信息要由用戶設備主動上傳,移動群智感知目前存在參與用戶不足、采集數(shù)據(jù)質量不夠高等問題[9,10],因此對于這些缺失的數(shù)據(jù),需要進行數(shù)據(jù)補齊。利用補齊后的信息,可以對道路未來的車速進行預測,同時,道路車程速度可以用來判斷道路擁堵情況,從而實現(xiàn)對交通狀態(tài)的預測。
近年來,國內外學者們提出了許多車速的預測方法,較早期的有Danech-Pajouh和Aron[11]提出的利用自回歸積分移動平均模型ARIMA(Autoregressive Integrated Moving Average Model)進行預測,該模型專注于過去的平均值序列,對于快速變化的交通情況不敏感;隨后,學者們又將目光轉向了人工神經(jīng)網(wǎng)絡ANN(Artifical Neural Networks)方法,該方法預測的結果更加準確,但是在訓練過程中容易陷入局部最優(yōu)解;支持向量機SVM(Support Vector Machine)方法常被應用于解決各種預測問題[12],比起人工神經(jīng)網(wǎng)絡,該方法不容易陷入局部最優(yōu)解。而在支持向量機方法中,最重要的是模型中幾個主要參數(shù)的確定,常用的網(wǎng)格式搜索算法、遺傳算法在這方面均有不錯的表現(xiàn)[13],而近年有學者提出的布谷鳥搜索算法CSA(Cuckoo Search Algorithm)[14]在支持向量回歸SVR(Support Vector Regression)算法的參數(shù)確定方面表現(xiàn)出了收斂更快、有效避免陷入局部最優(yōu)解的特點[15]。Williams等[16]發(fā)現(xiàn)道路路況根據(jù)時段具有一定的規(guī)律,首次將周期性引入車速預測算法中,提出了周期性ARIMA模型,在SVR預測中同樣可以引入周期性方法,以提高對車速預測的準確性[17]。SVR模型常被用于解決非線性回歸估計問題,在各個領域的數(shù)值預測中有著廣泛應用。本文針對城市道路車流量所具有的周期性規(guī)律,將周期性引入SVR模型,并采用布谷鳥算法確定其參數(shù),來完成對車速較為準確的預測。因此,本文基于CSA-SSVR(Cuckoo Search Algorithm—Seasonal Support Vector Regression)數(shù)據(jù)預測路段車速,實現(xiàn)對道路交通狀態(tài)的預測,可以為交通控制與誘導提供較準確的預測信息。
本文在第2節(jié)中詳細介紹了CSA-SSVR預測方法;第3節(jié)提出了移動感知環(huán)境下基于CSA-SSVR的交通狀態(tài)預測模型;第4節(jié)為實驗;第5節(jié)為結束語。
近年來支持向量回歸SVR算法被廣泛應用于解決非線性回歸和時間序列問題。它的基本思想是針對有限樣本,通過非線性變換將實際問題轉換到高維空間中,在其中構造線性決策函數(shù)實現(xiàn)線性回歸。
對于輸入序列X=(x1,x2,x3,…,xi),支持向量回歸函數(shù)如公式(1)所示:
f(x)=wTφ(x)+b
(1)
由于數(shù)據(jù)可能有噪音,引入松弛變量ξi≥0,于是問題轉化為求解
ξi,s.t.,yi(wTxi+b)≥
1-ξi,ξi≥0,i=1,…,n
在非線性問題中,為了避免因為映射到的線性空間維度過高導致難以計算,引入核函數(shù)K(x,z)=〈φ(x)·φ(z)〉來解決這個問題。支持向量機首先在低維空間中計算數(shù)據(jù),然后利用核函數(shù)將數(shù)據(jù)空間映射到高維空間中,并在其中構建超平面,從而完成數(shù)據(jù)分類。最常用的核函數(shù)是高斯核函數(shù)K(x1,x2)=exp(-‖x1-x2‖2/(2σ2)),令g=-(1/(2δ2)),稱為控制半徑。
根據(jù)預測速度y=f(x),使用Lagrange 乘子法優(yōu)化SVR函數(shù),可建立預測算法如公式(2)所示:
βi)K(xi,x)+b
(2)
…+peak(m-1)l+j)
βi)K(xi,xN+k)+b)×SIk
(3)
該方法的預測精度主要受到懲罰因子C和控制半徑g的影響,可以采用布谷鳥搜索算法確定這兩個參數(shù)。
布谷鳥搜索算法通過模擬布谷鳥的寄生育雛行為,結合Levy飛行以求解最優(yōu)化問題。在SVR的參數(shù)確定問題中,該算法相比常用的網(wǎng)格式搜索算法、遺傳算法,能更有效地避免陷入局部最優(yōu)解。
布谷鳥算法假定:
(1)一只鳥一次產一個卵,然后隨機選擇一個寄生鳥巢來孵化它。
(2)僅保留鳥巢中最好的卵到下一代。
(3)可選寄生鳥巢固定為n個,宿主發(fā)現(xiàn)寄生卵的概率為Pa∈[0,1]。若宿主發(fā)現(xiàn)寄生卵,則該卵被拋棄。
寄生鳥巢中原有若干卵,分別代表一種解決方案,寄生卵代表一種潛在較好的解決方案,用于代替原有較差的方案。布谷鳥算法表述如公式(4)所示:
α⊕L
(4)
算法流程如圖1所示。其中,g(NEST)需要確定C和g兩個參數(shù),設允許接受的最大值為g(Tol),最大迭代次數(shù)為T,第i代表述為NESTi=(xC,xg)。輸出條件分兩步判斷:若g(NESTi)≤g(Tol),則輸出當前最優(yōu)解;若迭代次數(shù)t=T,則輸出當前g(NESTi)。
Figure 1 Process of the cuckoo search algorithm圖1 布谷鳥搜索算法流程
首先,采集某一路段的交通數(shù)據(jù),確定車速時間序列為自變量,需要預測的車速為因變量,代入周期性SVR(SSVR)中;然后采用布谷鳥搜索算法CSA訓練SSVR中的C和g兩個參數(shù),將確定的參數(shù)代入SSVR中,即可使用該方法對該路段車速進行預測,稱為基于布谷鳥搜索算法的周期性SVR方法(CSA-SSVR)。
移動群智感知利用用戶所擁有的終端設備進行感知,雖然具有建設維護成本低的優(yōu)點,同時也帶來了數(shù)據(jù)采集不完整、容易丟失數(shù)據(jù)的缺點,本文采用插值法補齊缺失數(shù)據(jù)。具體方法如下:
根據(jù)定位信息,將所有經(jīng)過同一路段的車輛平均速度數(shù)據(jù)按時間戳進行整理,令標準時間周期為tv,第n個標準時間周期記為tv n,統(tǒng)計tv n內所有采集到的車速信息數(shù)據(jù)的平均值,記為Vn,若tvi內無上傳數(shù)據(jù),則采用插值法補齊數(shù)據(jù),如公式(5)所示:
Vni=Vni+k+1-Vni+k+Vni-1
(5)
其中,k為正整數(shù),Vni+k為獲取到的最接近Vni的一個速度數(shù)據(jù),補齊后的數(shù)據(jù)可用于后續(xù)處理。
根據(jù)《城市交通管理評價指標體系》,城市主干道的交通狀態(tài)可以用機動車的平均行駛速度V判別。
Table 1 Correlation between traffic state and speed
由表1的標準,在預測車速的基礎上可以導出預測的交通狀態(tài)。
步驟1采集數(shù)據(jù);
步驟2按照路段與時間分類整理數(shù)據(jù);
步驟3對于單個路段,按照時間戳排列數(shù)據(jù),判斷并補齊缺失數(shù)據(jù);
步驟4使用基于布谷鳥搜索算法的周期性SVR方法預測未來車速;
步驟5根據(jù)預測車速導出預測的道路交通狀態(tài),并提供給用戶。
Figure 2 Forecasting result comparison between the CSA-SSVR and other algorithms in experiment 1圖2 車速預測模型對比分析結果圖
為了驗證本文預測模型的有效性以及與其它方法相比的優(yōu)勢,本文分別做了車速預測方法對比分析、交通狀態(tài)預測分析。
采用Vissim模擬城市車流情況,仿真范圍內共有五個十字路口,四個三岔路口,輸入車流中主要有小型私家車、貨車、公交車、非機動車以及行人等五種類型,駕駛行為習慣選擇城市,道路輸入流量按照工作日上下班時間存在高峰期的特點設置波動值;然后從中提取每輛車在經(jīng)過其中某個特定路段的平均車速數(shù)據(jù),基于時間序列進行整理;然后使用Matlab平臺上的Libsvm工具進行仿真實驗。使用標準均方根誤差和相關系數(shù)來定量地比較尋優(yōu)結果的好壞,標準均方根誤差如公式(6)所示:
(6)
相關系數(shù)如公式(7)所示:
(7)
我們將采集到的時間序列數(shù)據(jù)分為兩組,一組為訓練數(shù)據(jù),一組為驗證數(shù)據(jù)。分別采用BP神經(jīng)網(wǎng)絡、基于遺傳算法的SVR預測方法(GA-SVR)、基于布谷鳥搜索算法的周期性SVR預測方法(CSA-SSVR)三種方法對該路段的車速進行預測,對比它們的預測結果與原始數(shù)據(jù)。其中BP神經(jīng)網(wǎng)絡進行200次訓練,GA-SVR中遺傳算法訓練參數(shù)的最大進化代數(shù)為200,CSA-SSVR中布谷鳥算法訓練參數(shù)的最大代數(shù)為200。各方法的預測結果均方根誤差和相關系數(shù)見表2,預測結果對比見圖2。
Table 2 Forecasting result comparison between theCSA-SSVR and other algorithms in experiment 1
由表2可以看出,車速預測問題中,CSA-SSVR預測模型的標準均方根誤差最小、相關系數(shù)最接近1,是預測精度最好的算法。
采用實驗1的數(shù)據(jù),分別使用網(wǎng)格搜索方法(GridSearch)、遺傳算法GA、布谷鳥搜索算法(CSA)對SSVR的參數(shù)進行尋優(yōu),其中,GA訓練參數(shù)最大進化代數(shù)為200,種群最大數(shù)量為100,交叉概率為0.9,C的取值為[0.1,100],g的取值為[0.1,100];CSA訓練參數(shù)的最大代數(shù)為200,交叉概率為0.25,C的取值為[0.1,100],g的取值為[0.1,100],尋優(yōu)結果對比見表3。
Table 3 Analysis result comparison amongGS,GA and CSA in experiment 2
可以看出,雖然網(wǎng)格搜索方法所用時間很短,但是采用其定參之后的預測結果的均方根誤差與相關系數(shù)相較另外兩種算法差距較大,可以認為精度較低,結果不可靠;而布谷鳥算法尋優(yōu)結果與遺傳算法尋優(yōu)結果相比,精度略有提高,所用時間卻快很多。
因此,在基于SSVR的車速預測實驗中,布谷鳥算法是一種比較好的參數(shù)尋優(yōu)算法。
Figure 3 Traffic state forecasting result圖3 交通狀態(tài)預測分析結果圖
根據(jù)基于CSA-SSVR的交通狀態(tài)預測模型,從實驗1的350組訓練數(shù)據(jù)中隨機刪除5%,使用基于CSA-SSVR的交通狀態(tài)預測模型對未來的100組交通狀態(tài)進行預測,輸出的預測結果與實際值如圖3所示。
本實驗中,在數(shù)據(jù)存在部分缺失的情況下,該模型預測的準確性約為97.5%,對于未來交通狀態(tài)預測準確度較高。
對交通狀態(tài)的預測在交通控制、交通安全與汽車節(jié)能方面具有重要意義。本文根據(jù)移動群智感知采集到的位置與速度信息,通過對路段車速的預測推導出路段交通狀態(tài)的變化情況。由于SVR在處理非線性數(shù)據(jù)的預測問題上精度較高,結合城市道路交通信息具有一定周期性的特點,提出了CSA-SSVR。通過與其它方法的預測效果進行對比,說明了它在車速預測方面具有更高的精度。然后針對移動群智感知環(huán)境下容易出現(xiàn)的數(shù)據(jù)缺失的情況,提出了數(shù)據(jù)補齊方案,建立基于CSA-SSVR的交通狀態(tài)預測模型,為移動群智感知環(huán)境下交通狀態(tài)的預測提供了一個有效的模型。