李 軍, 王秋莉
(蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院, 甘肅 蘭州 730070)
交通流量預(yù)測(cè)是智能交通系統(tǒng)(intelligent transportation systems, ITS)的一個(gè)重要組成部分,準(zhǔn)確的交通流量預(yù)測(cè)有助于交通管理部門(mén)實(shí)施相應(yīng)的措施以提高城市交通路網(wǎng)的運(yùn)行效率.
受環(huán)境、行人等隨機(jī)因素的干擾,城市交通流量具有高度非線性、復(fù)雜性和時(shí)變性等特點(diǎn).根據(jù)原理的不同,其預(yù)測(cè)方法可分為基于確定數(shù)學(xué)模型的方法和基于知識(shí)的智能模型預(yù)測(cè)方法[1-2].目前,神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)(SVM)等借助計(jì)算智能的方法已在交通流量預(yù)測(cè)方面取得許多成功應(yīng)用[3-6].文獻(xiàn)[3]給出小波神經(jīng)網(wǎng)絡(luò)交通流量預(yù)測(cè)模型,取得了較好的預(yù)測(cè)效果;文獻(xiàn)[4]將SVM方法應(yīng)用于高速公路的交通流量單步及多步預(yù)測(cè)中.文獻(xiàn)[5-6]分別將SVM、最小二乘支持向量機(jī)(LSSVM)應(yīng)用于短時(shí)交通流量單步預(yù)測(cè)中,取得了較好的預(yù)測(cè)效果.
極限學(xué)習(xí)機(jī)(ELM)是由HUANG G. B.等[7]提出的用于單隱層前饋網(wǎng)絡(luò)(SLFNs)的快速學(xué)習(xí)算法,文獻(xiàn)[8-9]將ELM方法成功應(yīng)用于交通流量單步預(yù)測(cè)中.當(dāng)ELM的隱含層節(jié)點(diǎn)未知時(shí),采用核矩陣方法替代之,形成核極限學(xué)習(xí)機(jī)(kernel extreme learning machine, KELM)方法[10],其優(yōu)點(diǎn)是僅需選擇適當(dāng)?shù)暮藚?shù)與正則化系數(shù),通過(guò)矩陣運(yùn)算就可獲得網(wǎng)絡(luò)的輸出權(quán)值.KELM方法改善了ELM隨機(jī)給定和隱含層偏置造成輸出結(jié)果不穩(wěn)定的缺點(diǎn),同樣可考慮將其用于短期交通流量預(yù)測(cè)中.
進(jìn)一步考慮特征提取技術(shù)[11-12],文獻(xiàn)[13]將核主元分析(kernel principal component analysis, KPCA)與SVM結(jié)合的方法用于混沌時(shí)間序列預(yù)測(cè)中,在一定程度上有效提高了預(yù)測(cè)精度.
借鑒KPCA-SVM,ELM等機(jī)器學(xué)習(xí)方法在時(shí)間序列預(yù)測(cè)、短時(shí)交通流量預(yù)測(cè)等方面的成功應(yīng)用,為提高短時(shí)交通流量預(yù)測(cè)的收斂速度、預(yù)測(cè)精度,文中提出KPCA-KELM預(yù)測(cè)方法,并將其應(yīng)用于某地區(qū)公路觀測(cè)站的實(shí)測(cè)數(shù)據(jù)實(shí)例中.在同等條件下,將新方法與KELM,KPCA-SVM以及SVM等方法進(jìn)行對(duì)比,以驗(yàn)證新方法有效性.
PCA是一種被廣泛采用的特征提取方法,它僅涉及在數(shù)據(jù)的原始空間上進(jìn)行線性化處理的技術(shù).KPCA將原始輸入數(shù)據(jù)經(jīng)變換后,在高維非線性特征空間上使用PCA方法計(jì)算主成分.文中提出了KPCA-KELM預(yù)測(cè)方法,此方法將KPCA方法用于KELM交通流量預(yù)測(cè)模型的數(shù)據(jù)預(yù)處理中,按照相關(guān)度選取非線性特征作為模型的輸入.
給定訓(xùn)練數(shù)據(jù)集{xi,yi|xi∈Rm,yi∈Rn,i=1,2,…,l},構(gòu)建訓(xùn)練輸入矩陣X∈Rl×m、輸出矩陣Y∈Rl×n.核方法將輸入數(shù)據(jù)xi映射到高維非線性特征空間中,即φ:x∈Rm→φ(x)∈F?RM,定義核函數(shù)為k(xi,xj)=φ(xi)Tφ(xj).
定義滿足Mercer條件的核矩陣K=XTX,其中X=[φ(x1)φ(x2)…φ(xl)].文中核學(xué)習(xí)方法選用高斯核函數(shù),即
k(xi,xj)=exp{-‖xi-xj‖/2σ2},
式中σ為高斯核函數(shù)的寬度.
對(duì)于輸入空間的l個(gè)樣本xi,i=1,2,…,l,協(xié)方差矩陣Σ可表示為lΣ=XTX,其元素為
首先對(duì)核矩陣K與協(xié)方差矩陣Σ分別進(jìn)行特征值分解,即
K=VΛlVT,lΣ=UΛNUT,
(1)
式中正交矩陣V,U的列向量vi,ui分別為K,lΣ的特征向量.
利用K與lΣ的對(duì)稱性,能將lΣ的任意特征向量u與特征值λ變換為K所對(duì)應(yīng)的特征向量Xu與特征值λ.令t=rank(XXT)=rank(XTX)≤min(N,l),則U的前t列特征向量構(gòu)成的矩陣Ut可表示為
(2)
其中假定K與lΣ的前t個(gè)非0特征值是按降序排列的.
(3)
考慮式(3),若定義Ud是特征空間中由前d個(gè)特征向量ud所張成的子空間,訓(xùn)練數(shù)據(jù)φ(x)在該子空間上的d維向量投影為
(4)
式(4)即KPCA方法的核心.文中核函數(shù)采用高斯核函數(shù).
KPCA算法具體步驟如下:
1) 計(jì)算X=[φ(x1)φ(x2)…φ(xl)]T所形成的核矩陣Kij=(k(xi,xj)),i,j=1,2,…,l.
2) 對(duì)核矩陣K進(jìn)行中心化處理,即
(5)
式中j為所有元素均為1的列向量.
(6)
4) 由式(3),計(jì)算前d個(gè)特征向量v的相應(yīng)對(duì)偶向量表示,即計(jì)算前d個(gè)對(duì)偶向量α,可得
(7)
5) 在特征空間中,計(jì)算訓(xùn)練數(shù)據(jù)φ(x) 在前d個(gè)對(duì)偶特征向量上的投影,即計(jì)算非線性主元,可得
(8)
KELM是ELM的非線性延伸,通過(guò)最小化訓(xùn)練誤差和輸出權(quán)值范數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.本節(jié)在ELM的基礎(chǔ)上,給出KELM的學(xué)習(xí)方法[14].
對(duì)于含L個(gè)隱層節(jié)點(diǎn)的SLFNs,給定l組訓(xùn)練樣本數(shù)據(jù)集{xi,yi|xi∈Rm,yi∈Rn,i=1,2,…,l},其輸出表達(dá)式為
(9)
式中:βi為第i個(gè)隱含層節(jié)點(diǎn)與輸出層節(jié)點(diǎn)的權(quán)值向量;hi(x)為第i個(gè)隱含層節(jié)點(diǎn)的輸出函數(shù)K(x;wi,bi).本節(jié)隱含層節(jié)點(diǎn)選用RBF節(jié)點(diǎn),其激活函數(shù)形式為
K(x;wi,bi)=exp(-bi‖x-wi‖2).
矩陣形式可表示為
Hβ=T,
(10)
綜上所述,ELM的學(xué)習(xí)算法相當(dāng)于求解式(10)的最小二乘解β,則輸出權(quán)值矩陣的最小二乘解為
(11)
為提高網(wǎng)絡(luò)的穩(wěn)定性與泛化能力,根據(jù)嶺回歸的思想引入正則化參數(shù)Υ,對(duì)網(wǎng)絡(luò)輸出權(quán)值矩陣β的解進(jìn)行約束,防止出現(xiàn)“過(guò)擬合”現(xiàn)象.因此,式(11)可表示為
(12)
ELM的網(wǎng)絡(luò)輸出表達(dá)式為
(13)
在式(12),(13)的求解過(guò)程中,若隱含層節(jié)點(diǎn)數(shù)目未知,為避免隨機(jī)賦值導(dǎo)致ELM輸出不穩(wěn)定的情況,考慮引入核方法,用核函數(shù)表示隱含層非線性特征映射,應(yīng)用Mercer條件,定義核矩陣KELM=HHT,其元素為KELM(i,j)=h(xi)·h(xj)=k(xi,xj),用核矩陣KELM代替ELM隱含層節(jié)點(diǎn),由式(12)可得KELM網(wǎng)絡(luò)輸出為
KELM方法的核函數(shù)k(xi,xj)類型選擇線性核函數(shù).
智能交通系統(tǒng)網(wǎng)絡(luò)是在道路的路口安裝無(wú)線傳感器,通過(guò)各個(gè)點(diǎn)的傳感器采集路面數(shù)據(jù)信息并共享形成數(shù)據(jù)網(wǎng)絡(luò).按照時(shí)間序列建模的方式,將KPCA-KELM方法應(yīng)用于不同地區(qū)的短期交通流量預(yù)測(cè)實(shí)例中,所建立的預(yù)測(cè)模型為
(14)
式中:Δ為預(yù)測(cè)步長(zhǎng);xt為歷史時(shí)間序列值構(gòu)成的多維輸入向量,即xt=(xt-1,xt-2,…,xt-D),D為嵌入維數(shù).
本節(jié)試驗(yàn)均采用均方根誤差(root mean square error,RMSE)衡量預(yù)測(cè)精度,計(jì)算式為
(15)
試驗(yàn)選取北京交通管理局UTC/SCOOT系統(tǒng)所記錄的9條線路,分別標(biāo)號(hào)為Bb,Ch,Dd,Fe,Gd,Hi,Ia,Jf,考慮到檢測(cè)器或變送器的故障,屏蔽了存在空流量數(shù)據(jù)的日期,最終得到25 d的交通數(shù)據(jù).以Ch線路采集的車流量數(shù)據(jù)為實(shí)例,將每15 min的交通流量數(shù)據(jù)匯集,共得到2 400個(gè)采樣點(diǎn),與文獻(xiàn)[15]一致,取前2 112組數(shù)據(jù)作為訓(xùn)練樣本,其余作為測(cè)試樣本.選取嵌入維數(shù)m=10.參數(shù)設(shè)定如下:KELM,KPCA,LSSVM,SVM均各自選取高斯核函數(shù),核函數(shù)寬度σ=0.5;KELM正則化參數(shù)Υ=200;對(duì)比試驗(yàn)中,SVM,LSSVM方法懲罰因子C=0.5,ε=0.01;KPCA-SVM,KPCA-LSSVM,KPCA-KELM方法中,KPCA的非線性主元數(shù)目為15,SVM選取線性核函數(shù);不同方法分別進(jìn)行提前15,30 min的預(yù)測(cè)結(jié)果對(duì)比由表1給出.
表1 實(shí)例1不同方法預(yù)測(cè)結(jié)果對(duì)比
由表1可見(jiàn),與SVM等方法相比,KELM方法的預(yù)測(cè)精度略有提升,KPCA-KELM組合預(yù)測(cè)方法則顯示出了較高預(yù)測(cè)精度.圖1,2分別為實(shí)例1不同方法提前15,30 min的預(yù)測(cè)結(jié)果,由圖1,2可見(jiàn),文中方法呈現(xiàn)出較好的預(yù)測(cè)效果.
圖1 實(shí)例1提前15 min交通流量預(yù)測(cè)
圖2 實(shí)例1提前30 min交通流量預(yù)測(cè)
實(shí)例2選擇西雅圖華盛頓大學(xué)的ITS研究組的交通數(shù)據(jù)采集與分布(traffic data acquisition and distribution, TDAD)數(shù)據(jù)庫(kù)提供的數(shù)據(jù)[16],網(wǎng)址為www.its.washington.edu/tdad/.該數(shù)據(jù)有4個(gè)不同的探測(cè)器(ES-088D, ES-855D, ES-708D和ES-645D),這4個(gè)探測(cè)器分別位于美國(guó)西雅圖地區(qū)的3個(gè)洲中的5(I-5),90(I-90)和405(I-405),本試驗(yàn)選擇ES-855D記錄交通流量數(shù)據(jù)為例,時(shí)間間隔為15 min,選取前14 d共1 344個(gè)數(shù)據(jù)作為訓(xùn)練集輸入,最后7 d共672個(gè)數(shù)據(jù)作為測(cè)試樣本.選取其嵌入維數(shù)m=24.圖3給出了探測(cè)器ES-855D等在實(shí)際地圖上的位置.
圖3 探測(cè)器位置
本節(jié)試驗(yàn)中,將各方法結(jié)果調(diào)至最優(yōu),單步與多步預(yù)測(cè)試驗(yàn)參數(shù)相同.參數(shù)設(shè)定如下:KELM,KPCA,LSSVM,SVM均各自選取高斯核函數(shù),核函數(shù)寬度σ=1;KELM正則化參數(shù)Υ=300;對(duì)比試驗(yàn)中,SVM,LSSVM方法懲罰因子C=0.5,ε=0.01;KPCA-SVM,KPCA-LSSVM,KPCA-KELM方法中,KPCA的非線性主元數(shù)目為10,SVM選取線性核函數(shù);預(yù)測(cè)結(jié)果對(duì)比由表2給出.
表2 實(shí)例2不同方法預(yù)測(cè)結(jié)果對(duì)比
截取測(cè)試數(shù)據(jù)第4周周二的數(shù)據(jù)做出比較,圖4,5分別為實(shí)例2不同方法預(yù)測(cè)結(jié)果對(duì)比曲線.
圖4 實(shí)例2提前15 min交通流量預(yù)測(cè)
圖5 實(shí)例2提前30 min交通流量預(yù)測(cè)
從實(shí)例1、實(shí)例2的單步與多步預(yù)測(cè)對(duì)比試驗(yàn)可以看出,KPCA-KELM方法在不同地區(qū)實(shí)測(cè)數(shù)據(jù)集上均取得了較好的預(yù)測(cè)效果,說(shuō)明其不僅適用于某一特定地方、特定環(huán)境的交通流量,而且表明此方法進(jìn)行短期交通流量預(yù)測(cè)是可行且有效的.
1) KPCA方法可有效地對(duì)歷史交通流量時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理,提取非線性主元,具有較好的特征提取能力;KELM方法無(wú)需確定隱含層節(jié)點(diǎn)的數(shù)目,具有更好的逼近精度和泛化能力.因此,結(jié)合2者優(yōu)點(diǎn)的KPCA-KELM方法保持了SVM,KELM原有的泛化能力,能夠進(jìn)一步提高短期交通流量預(yù)測(cè)的精度.
2) KPCA的算法實(shí)現(xiàn)僅涉及到矩陣計(jì)算,KELM的算法實(shí)現(xiàn)也相對(duì)容易,僅需求解最小二乘線性方程組問(wèn)題.因此,KPCA-KELM方法的算法復(fù)雜度較低.
3) 文中提出的KPCA-KELM方法適用于解決短期交通流量預(yù)測(cè)問(wèn)題,具有很好的應(yīng)用潛力.在進(jìn)一步的研究中,還可考慮KICA等其他獨(dú)立成分特征提取與KELM相結(jié)合的預(yù)測(cè)方法.