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