晏雨嬋,武奇生,白 璘,席 維
(長(zhǎng)安大學(xué) 電子與控制學(xué)院,陜西 西安 710064)
近年來(lái),隨著國(guó)民經(jīng)濟(jì)的迅速增長(zhǎng),私人擁有汽車的數(shù)量逐漸增加,伴隨而來(lái)的是頻繁的交通事故以及嚴(yán)重的交通擁堵和環(huán)境污染問(wèn)題。智能交通系統(tǒng)(intelligent transportation systems,ITS)[1]中的交通誘導(dǎo)和控制是解決這一系列問(wèn)題的有效方法之一。
智能交通系統(tǒng)是從系統(tǒng)的觀點(diǎn)出發(fā),把車輛、道路、人綜合起來(lái),將先進(jìn)的信息技術(shù)、數(shù)據(jù)通訊傳輸技術(shù)、電子控制技術(shù)以及計(jì)算機(jī)處理技術(shù)等有效地綜合運(yùn)用于整個(gè)交通管理體系,從而建立起來(lái)的一種在大范圍內(nèi)、全方位發(fā)揮作用的實(shí)時(shí)、準(zhǔn)確、高效的交通綜合管理系統(tǒng)。交通流預(yù)測(cè)是智能交通系統(tǒng)研究及應(yīng)用中的基礎(chǔ)和關(guān)鍵。
交通流預(yù)測(cè)是指[2]在某一區(qū)域根據(jù)當(dāng)前采集的交通流數(shù)據(jù)按照一定的預(yù)測(cè)模型對(duì)未來(lái)的交通流做出估計(jì),短時(shí)交通流預(yù)測(cè)是指對(duì)未來(lái)15分鐘以內(nèi)的交通流量做出的預(yù)測(cè)。如何實(shí)時(shí)、準(zhǔn)確地做出交通流預(yù)測(cè)是實(shí)行該方法的一個(gè)關(guān)鍵性問(wèn)題。
目前已有的短時(shí)交通流預(yù)測(cè)的方法主要分為以下幾類[3]:
(1)基于統(tǒng)計(jì)的線性理論模型,主要包括線性統(tǒng)計(jì)回歸、時(shí)間序列預(yù)測(cè)方法、卡爾曼濾波預(yù)測(cè)方法[4]。這些模型復(fù)雜度低、運(yùn)算簡(jiǎn)單、操作也較簡(jiǎn)單,對(duì)于不確定性、隨機(jī)性強(qiáng)的交通流特征來(lái)說(shuō),無(wú)法滿足預(yù)測(cè)結(jié)果的準(zhǔn)確性要求;
(2)非線性理論模型,主要包括基于突變理論的預(yù)測(cè)方法、小波分析預(yù)測(cè)方法、基于混沌預(yù)測(cè)方法。這些方法雖然很好地解決了交通流特征的非線性,但同時(shí)需要大量的數(shù)據(jù)樣本來(lái)解決模型的復(fù)雜性;
(3)人工智能模型[5],主要包括神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法、非參數(shù)回歸預(yù)測(cè)方法、SVR預(yù)測(cè)方法。神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法和SVR預(yù)測(cè)方法都是通過(guò)訓(xùn)練原始數(shù)據(jù)而形成預(yù)測(cè)模型,后者較好地解決了“局部極值”和“小樣本”等問(wèn)題;
(4)混合模型,主要是指將上述兩種或兩種以上的方法相結(jié)合形成的預(yù)測(cè)模型,至于模型之間組合的適應(yīng)性需要進(jìn)一步驗(yàn)證。
對(duì)于短時(shí)交通流預(yù)測(cè)方法,國(guó)內(nèi)外學(xué)者進(jìn)行了大量的研究。例如,賀國(guó)光等分別介紹了基于確定的數(shù)學(xué)模型的交通流預(yù)測(cè)方法,通過(guò)神經(jīng)網(wǎng)絡(luò)改進(jìn)了卡爾曼濾波預(yù)測(cè)的模型[6]。傅貴等通過(guò)引入核函數(shù)把短時(shí)交通流的預(yù)測(cè)問(wèn)題轉(zhuǎn)化為高維空間中的線性回歸問(wèn)題,提出了基于支持向量回歸機(jī)的短時(shí)交通流預(yù)測(cè)模型,獲得了優(yōu)于卡爾曼濾波方法的預(yù)測(cè)效果[7]。李穎宏等考慮了交通流的時(shí)間空間性,提出了基于組合模型的交通流預(yù)測(cè)[8]。羅向龍等利用差分去除交通流數(shù)據(jù)的趨勢(shì)向,用深度信念網(wǎng)絡(luò)模型進(jìn)行交通流特征學(xué)習(xí),提出了基于深度信念網(wǎng)絡(luò)模型與支持向量回歸相結(jié)合的短時(shí)交通流預(yù)測(cè)模型[9]。Hong等提出了連續(xù)蟻群算法SVR城市交通流量預(yù)測(cè)模型,該模型預(yù)測(cè)精度優(yōu)于自回歸積分滑動(dòng)平均時(shí)間序列模型[10]。Sun等提出了一種基于多維尺度變換和SVM組合的交通流量預(yù)測(cè)模型,該模型提升了預(yù)測(cè)的穩(wěn)定性[11]。Lv等提出了一種基于堆疊自動(dòng)編碼SAE模型的深度學(xué)習(xí)方法,通過(guò)設(shè)計(jì)貪婪層次無(wú)監(jiān)督學(xué)習(xí)方法對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,而后通過(guò)微調(diào)實(shí)現(xiàn)模型參數(shù)更新,提高交通流預(yù)測(cè)精度[12]。
支持向量機(jī)(support vector machine,SVM)[13]通過(guò)尋求結(jié)構(gòu)風(fēng)險(xiǎn)最小化來(lái)實(shí)現(xiàn)實(shí)際風(fēng)險(xiǎn)最小化可以解決分類和回歸兩種問(wèn)題,文中采用支持向量回歸方法來(lái)實(shí)現(xiàn)高速公路車流量預(yù)測(cè)。
支持向量回歸模型中的懲罰系數(shù)c和核函數(shù)參數(shù)g對(duì)模型的影響非常大,懲罰系數(shù)c反映了算法對(duì)超出精度ε的樣本數(shù)據(jù)的懲罰程度,其值影響模型的復(fù)雜性和穩(wěn)定性。c過(guò)小,對(duì)超出精度ε的樣本數(shù)據(jù)懲罰就小,訓(xùn)練誤差就會(huì)變大;c過(guò)大,學(xué)習(xí)精度相應(yīng)提高,但模型的泛化能力變差。g過(guò)大,容易欠擬合,預(yù)測(cè)精度隨之降低;g過(guò)小,容易擬合過(guò)于復(fù)雜,增加訓(xùn)練時(shí)間,同時(shí)對(duì)樣本數(shù)量需求增大。所以,選擇合適的c、g,對(duì)模型的預(yù)測(cè)精度有很大的提升,目前使用最多的參數(shù)選取方法是網(wǎng)格搜索法[14],即通過(guò)不斷地試湊來(lái)獲得最佳的參數(shù)組合。
文中利用粒子群優(yōu)化算法在參數(shù)尋優(yōu)方面的優(yōu)勢(shì),通過(guò)將標(biāo)準(zhǔn)PSO算法中的定值慣性權(quán)重用均勻分布的隨機(jī)慣性權(quán)重代替,使算法中的粒子在搜索后期避免陷入局部最優(yōu),通過(guò)不斷地更新慣性權(quán)重,平衡局部搜索和全局搜索能力,設(shè)計(jì)了一種基于后期隨機(jī)慣性權(quán)重粒子群優(yōu)化SVR模型,尋找到最佳的SVR模型參數(shù)組合,并對(duì)國(guó)內(nèi)滬寧高速50108陽(yáng)澄湖站點(diǎn)的數(shù)據(jù)進(jìn)行短時(shí)交通流的預(yù)測(cè)和分析。
支持向量回歸(support vector regression,SVR)的學(xué)習(xí)策略同支持向量機(jī)的原理類似,是通過(guò)找到一個(gè)回歸超平面,讓一個(gè)集合的所有數(shù)據(jù)到該平面的距離最近,即間隔最小化,最終轉(zhuǎn)變成為一個(gè)凸二次規(guī)劃問(wèn)題求解。
假定一組訓(xùn)練數(shù)據(jù)集:{(xi,yi)|i=1,2,…,m},其中xi∈Rn為交通流的輸入變量,yi∈Rn為交通流的輸出值,m為給定訓(xùn)練樣本的個(gè)數(shù)。構(gòu)建回歸超平面為:
f(xi)=ωφ(xi)+b
(1)
其中,ω=(ω1,ω2,…,ωM)T為權(quán)重向量,M為空間維數(shù);φ(x)為非線性核函數(shù),通過(guò)它將訓(xùn)練數(shù)據(jù)映射到高維空間,解決在低維空間線性不可分的問(wèn)題;b為偏差項(xiàng);f(x)為交通流的預(yù)測(cè)值。
間隔最小化問(wèn)題可轉(zhuǎn)化為求‖ω‖的最小值問(wèn)題,SVR的目的是尋找與真實(shí)交通流量值相差不超過(guò)ε的f(xi),模型可表示為:
(2)
(3)
其中,C為懲罰系數(shù)。
根據(jù)對(duì)偶原理,可以將上述約束問(wèn)題轉(zhuǎn)化成無(wú)約束問(wèn)題,構(gòu)建Lagrange方程:
(4)
(5)
文中采用的核函數(shù)K(xi,x)為徑向基(RBF)函數(shù)。
SVR預(yù)測(cè)模型的精度受懲罰系數(shù)C以及核寬度系數(shù)g兩個(gè)參數(shù)的影響,所以參數(shù)在選擇上至關(guān)重要。
文中通過(guò)使用帶慣性權(quán)重的粒子群算法來(lái)優(yōu)化這兩個(gè)參數(shù),使SVR模型預(yù)測(cè)誤差盡量小且不過(guò)擬合。
粒子群算法(particle swarm optimization,PSO)[15]中每個(gè)粒子都具有位置、速度、適應(yīng)度三種特征,適應(yīng)度值是所優(yōu)化的目標(biāo)函數(shù),表示粒子的優(yōu)劣。算法通過(guò)不斷地更新自己的位置、速度、適應(yīng)度來(lái)更新個(gè)體極值和群體極值,從而得到最優(yōu)解。
假定由n個(gè)粒子組成的種群為X=(X1,X2,…,Xn),搜索空間設(shè)定為D維,那么第i個(gè)粒子在搜索空間的位置表示為Xi=(xi1,xi2,…,xiD)T,一個(gè)位置就代表一個(gè)潛在解,第i個(gè)粒子在搜索空間的速度表示為Vi=(Vi1,Vi2,…,ViD)T。
那么,第i個(gè)粒子在迭代k+1次的速度更新為:
(6)
第i個(gè)粒子在迭代k+1次的位置更新為:
(7)
其中,c1、c2分別為PSO局部、全局搜索能力,即加速因子;r1、r2為分布于[0,1]之間的隨機(jī)數(shù);k為當(dāng)前迭代次數(shù);ω(k)是慣性權(quán)重,是一個(gè)分布于[0,1.4]之間的常數(shù);d=1,2,…,D,i=1,2,…,n;Pi=(Pi1,Pi2,…,PiD)T為種群的個(gè)體極值,即根據(jù)個(gè)體位置計(jì)算的適應(yīng)度值的最優(yōu)位置;Pg=(Pg1,Pg2,…,PgD)T為種群的群體極值,即根據(jù)所有粒子位置計(jì)算的適應(yīng)度的最優(yōu)位置。為了防止粒子會(huì)盲目的搜索,將位置和速度均限制到[-Xmax,Xmax]區(qū)間中。
個(gè)體極值與群體極值的更新由式8確定:
(8)
由于慣性權(quán)重ω是一個(gè)可控制的參數(shù),且ω表征的是粒子繼承先前的速度的能力,若算法取較大的ω值,這樣粒子有更好的全局搜索能力,卻不利于獲得精確解;若取較小的ω值,粒子具有更好的局部搜索能力,但是同時(shí)會(huì)導(dǎo)致收斂速度減慢且容易陷入“局部最優(yōu)”。為了平衡這兩種搜索能力,提高PSO算法的精確度以及尋優(yōu)能力,文中在粒子搜索的后期使用(0.4,0.7)均勻分布的隨機(jī)慣性權(quán)重來(lái)替代標(biāo)準(zhǔn)PSO中為定值的慣性權(quán)重。這種引入后期隨機(jī)慣性權(quán)重的粒子群算法簡(jiǎn)稱MPSO,相應(yīng)的慣性權(quán)重更新表達(dá)式改變?nèi)缦拢?/p>
ω(k)=
(9)
其中,ω(k)為線性遞減慣性權(quán)重;ωstart為初始慣性權(quán)重;ωend為迭代至最大次數(shù)時(shí)的慣性權(quán)重;Tmax為最大迭代數(shù);k為當(dāng)前迭代數(shù)。
隨著迭代數(shù)的不斷增加,慣性權(quán)重也不斷地更新以適應(yīng)粒子速度的更新,在算法搜索后期可以獲得較大的ω,從而跳出局部極值。文中提出的MPSO-SVR算法是指通過(guò)MPSO的尋優(yōu)能力來(lái)對(duì)SVR模型中的參數(shù)c、g進(jìn)行尋優(yōu)來(lái)不斷地訓(xùn)練SVR模型,MPSO算法對(duì)高維函數(shù)的優(yōu)化能力較強(qiáng),所以對(duì)SVR中的高維核函數(shù)的參數(shù)擁有較好的優(yōu)化能力,從而達(dá)到對(duì)短時(shí)交通流的準(zhǔn)確預(yù)測(cè)。
應(yīng)用到交通流預(yù)測(cè)中去優(yōu)化支持向量回歸中的兩個(gè)參數(shù),不僅提高了參數(shù)尋優(yōu)的能力,而且更好地平衡了算法全局和局部的搜索能力,同時(shí)縮短了預(yù)測(cè)用時(shí)。
MPSO-SVR的交通流預(yù)測(cè)流程如圖1所示。
圖1 MPSO-SVR模型交通流預(yù)測(cè)流程
選取滬寧高速50108陽(yáng)澄湖站點(diǎn)出口的交通流量數(shù)據(jù)進(jìn)行實(shí)驗(yàn)分析,滬寧高速原始交通流如圖2所示。選取的時(shí)間為2015年8月1日到2015年8月30日,數(shù)據(jù)采樣周期為1h,即一天為24個(gè)數(shù)據(jù)點(diǎn)。
圖2 滬寧高速原始交通流量
根據(jù)預(yù)測(cè)模型的要求,選取兩類樣本集,第一類是訓(xùn)練樣本,用來(lái)訓(xùn)練SVR模型,通過(guò)MPSO不斷地對(duì)其進(jìn)行參數(shù)尋優(yōu),訓(xùn)練出最優(yōu)的預(yù)測(cè)模型;第二類是測(cè)試樣本,用來(lái)檢驗(yàn)訓(xùn)練完成的模型是否有較高的預(yù)測(cè)能力。其中前20天的交通流作為SVR預(yù)測(cè)模型的訓(xùn)練數(shù)據(jù),最后3天的交通流作為SVR模型的測(cè)試數(shù)據(jù)??偣灿?80個(gè)訓(xùn)練數(shù)據(jù),240個(gè)測(cè)試數(shù)據(jù)。
由圖2可以看出,交通流不是很平滑,有的數(shù)據(jù)比較突出,如果直接用于模型訓(xùn)練,會(huì)增加訓(xùn)練時(shí)間,導(dǎo)致收斂速度緩慢甚至無(wú)法收斂。為了解決這一問(wèn)題,在訓(xùn)練模型之前首先對(duì)原始交通流數(shù)據(jù)進(jìn)行歸一化預(yù)處理,將所有數(shù)據(jù)限制在一定區(qū)間內(nèi),不僅縮短了運(yùn)算時(shí)間,也提高了運(yùn)算的規(guī)范度。
文中采用的是基于極值的歸一化,將數(shù)據(jù)歸一化到[0,1]之間,公式如下:
(10)
其中,Xmin、Xmax為訓(xùn)練樣本的最小值、最大值。
設(shè)置PSO算法和MPSO算法的最大種群數(shù)量N=10;最大迭代數(shù)量Tmax=100;加速因子c1=1.5、c2=1.7;初始慣性權(quán)重ωstart=0.9,迭代至最大的次數(shù)時(shí)的慣性權(quán)重ωend=1.4;SVR模型中參數(shù)c的取值范圍為[0.1,100];參數(shù)g的取值為[0.01,1 000]。兩種算法的適應(yīng)度曲線如圖3所示。
(a)PSO-SVR模型適應(yīng)度曲線
(b)MPSO-SVR模型適應(yīng)度曲線 圖3 適應(yīng)度曲線
可以看出不加慣性權(quán)重的PSO算法在進(jìn)化代數(shù)為5時(shí),陷入了局部最優(yōu),在之后也不斷陷入局部最優(yōu),最終在23次進(jìn)化穩(wěn)定在0.004 71;而MPSO算法在進(jìn)化初期就具有較大的斜率,并且在12次進(jìn)化時(shí)趨于穩(wěn)定,穩(wěn)定在0.002 68??梢?jiàn)MPSO算法尋優(yōu)速度快,且不易陷入局部最優(yōu),總體性能優(yōu)于PSO算法。
為了進(jìn)一步驗(yàn)證MPSO-SVR模型的性能,通過(guò)對(duì)PSO-SVR模型進(jìn)行交通流預(yù)測(cè)與提出的方法進(jìn)行對(duì)比。圖4、5分別是PSO-SVR模型、MPSO-SVR模型對(duì)滬寧高速50108陽(yáng)澄湖站點(diǎn)出口車流量的預(yù)測(cè)結(jié)果和相應(yīng)測(cè)試集的殘差圖。
由圖4、5可以直觀地看出,PSO-SVR模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)較好,但是由于算法本身在參數(shù)尋優(yōu)時(shí)容易陷入局部最優(yōu),以至于搜索出的SVR模型的參數(shù)不是很好,在測(cè)試數(shù)據(jù)上還是表現(xiàn)欠佳,一些峰值沒(méi)有完全擬合出來(lái),尤其是在滬寧高速測(cè)試數(shù)據(jù)后四天峰值預(yù)測(cè)較差,誤差較大;MPSO-SVR通過(guò)引入了后期隨機(jī)慣性權(quán)重很好地解決了這一問(wèn)題,無(wú)論是訓(xùn)練還是測(cè)試數(shù)據(jù)都和實(shí)際交通流基本完全擬合,并且從MSE誤差直方圖中可以看出MPSO-SVR預(yù)測(cè)方法的誤差波動(dòng)最小,說(shuō)明文中設(shè)計(jì)的預(yù)測(cè)方法更加平穩(wěn),泛化能力更強(qiáng)。
(a)訓(xùn)練集和測(cè)試集的交通流預(yù)測(cè)圖
(b)測(cè)試集MSE殘差圖 圖4 PSO-SVR模型交通流預(yù)測(cè)結(jié)果(滬寧高速)
(a)訓(xùn)練集和測(cè)試集的交通流預(yù)測(cè)圖
(b)測(cè)試集MSE殘差圖 圖5 MPSO-SVR模型交通流預(yù)測(cè)結(jié)果(滬寧高速)
為了更進(jìn)一步體現(xiàn)各種預(yù)測(cè)模型預(yù)測(cè)性能的優(yōu)劣,選取均方誤差(mean square error,MSE)和平均絕對(duì)百分比誤差(mean absolute percent error,MAPE)作為評(píng)價(jià)指標(biāo),公式如下:
(11)
MAPE=mean(|pt|)
(12)
MPSO-SVR模型與其他模型的性能比較以及耗時(shí)見(jiàn)表1。
表1 MPSO-SVR模型與PSO-SVR模型的性能對(duì)比
可見(jiàn),MPSO-SVR預(yù)測(cè)模型的性能指標(biāo)和耗時(shí)均優(yōu)于PSO-SVR預(yù)測(cè)模型。文中提出的方法的預(yù)測(cè)均方誤差相對(duì)于PSO-SVR模型降低了236,耗時(shí)分別縮短了25.55 s,預(yù)測(cè)精度有了明顯提高。
在粒子群優(yōu)化算法的基礎(chǔ)上,用均勻分布的隨機(jī)慣性權(quán)重代替了原算法中不變的慣性權(quán)重,提出了一種后期隨機(jī)慣性權(quán)重粒子群優(yōu)化SVR模型,通過(guò)不斷更新慣性權(quán)重來(lái)更新粒子的位置,使算法在搜索后期能夠獲得較大的ω值,避免了陷入局部最優(yōu),從而找到SVR模型的最優(yōu)參數(shù)組合。通過(guò)對(duì)滬寧高速交通流量進(jìn)行預(yù)測(cè)實(shí)驗(yàn),并且與PSO-SVR預(yù)測(cè)方法進(jìn)行對(duì)比,表明MPSO-SVR預(yù)測(cè)方法在訓(xùn)練、測(cè)試數(shù)據(jù)上均能良好擬合,誤差波動(dòng)幅度較小,穩(wěn)定性更強(qiáng),且MSE和MAPE的值分別為28.689和12.952%,在用時(shí)最短的情況下,預(yù)測(cè)精度達(dá)到最高。