梁秀霞, 李萬通, 楊 凡, 張 燕
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院, 天津 300132)
短時(shí)交通流預(yù)測(cè)作為智能交通的重要組成部分,以收集的歷史交通數(shù)據(jù)對(duì)未來的交通狀態(tài)進(jìn)行預(yù)測(cè),是實(shí)現(xiàn)交通控制和誘導(dǎo)的關(guān)鍵。當(dāng)前,已有多種模型對(duì)交通流進(jìn)行預(yù)測(cè),如以線性理論為基礎(chǔ)的時(shí)間序列模型[1]、卡爾曼濾波模型[2],以非線性理論為基礎(chǔ)的非參數(shù)回歸模型[3]、支持向量機(jī)模型[4]、神經(jīng)網(wǎng)絡(luò)模型[5]等。神經(jīng)網(wǎng)絡(luò)模型由于在處理非平穩(wěn)、非線性時(shí)間序列中表現(xiàn)出來的強(qiáng)大優(yōu)勢(shì),成為了近年來的研究趨勢(shì)。
在研究中學(xué)者們發(fā)現(xiàn),交通流序列具有一定的混沌特性,其復(fù)雜的演化規(guī)律使得僅僅通過神經(jīng)網(wǎng)絡(luò)無法達(dá)到預(yù)期的預(yù)測(cè)效果。Han等[6]提出了狀態(tài)重構(gòu)方法對(duì)混沌時(shí)間序列進(jìn)行特征分析;李巧茹等[7]以相空間重構(gòu)(phase space reconstruction,PSR)的方法對(duì)交通流序列進(jìn)行處理,提升了預(yù)測(cè)的精度;馮霞等[8]對(duì)客流量序列進(jìn)行重構(gòu),說明了對(duì)混沌時(shí)間序列進(jìn)行相空間重構(gòu)的有益性。
近年來,在以神經(jīng)網(wǎng)絡(luò)對(duì)交通流的預(yù)測(cè)中涌現(xiàn)了大量模型,如BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶神經(jīng)網(wǎng)絡(luò)等[9]?;芈暊顟B(tài)網(wǎng)絡(luò)(echo state network, ESN)由于其能夠高效地處理一維時(shí)間序列而得到了廣泛應(yīng)用[10]。ESN由于其特殊的儲(chǔ)備池結(jié)構(gòu)使之能夠擬合任何所需輸入信號(hào),Rodan等[11]提出了確定性跳躍循環(huán)狀態(tài)網(wǎng)絡(luò)(cycle reservoir with regular jumps,CRJ)對(duì)ESN的儲(chǔ)備池結(jié)構(gòu)進(jìn)行優(yōu)化;Sheta等[12]對(duì)比發(fā)現(xiàn),CRJ的預(yù)測(cè)能力和故障識(shí)別能力相比于ESN得到了提高。CRJ網(wǎng)絡(luò)同樣存在初始參數(shù)的確定問題。在參數(shù)優(yōu)化上,多采用智能優(yōu)化算法,如蟻群算法、粒子群算法[13]等,但是存在算法計(jì)算復(fù)雜、穩(wěn)定性較差等問題。
為提高短時(shí)交通流速度的預(yù)測(cè)精度,綜合對(duì)比上述預(yù)測(cè)模型,考慮CRJ網(wǎng)絡(luò)的優(yōu)點(diǎn),以其為核心建立預(yù)測(cè)模型。同時(shí)為解決網(wǎng)絡(luò)的初始參數(shù)依賴問題,引入變步長和模擬退火技術(shù)改進(jìn)的天牛須算法對(duì)其進(jìn)行優(yōu)化,提高模型訓(xùn)練的快速性和穩(wěn)定性?;诖?,提出基于改進(jìn)天牛須算法優(yōu)化的確定性跳躍循環(huán)狀態(tài)網(wǎng)絡(luò)(RBAS-CRJ)的預(yù)測(cè)模型,利用實(shí)測(cè)數(shù)據(jù)對(duì)所提模型進(jìn)行分析,驗(yàn)證了模型的有效性和準(zhǔn)確性。
交通流速度是典型的時(shí)間序列,具有高度的隨機(jī)性及復(fù)雜性,在序列內(nèi)部蘊(yùn)藏著大量信息,可通過對(duì)序列的系統(tǒng)分析以實(shí)現(xiàn)變量的預(yù)測(cè)?;煦鐣r(shí)間序列理論在分析帶有大量隨機(jī)性的復(fù)雜非線性系統(tǒng)時(shí)較為合適,為恢復(fù)交通流速度序列的規(guī)律和特性,將其引入分析研究中。邯鄲市某地區(qū)一個(gè)路段的交通流速度序列如圖1所示。
圖1 邯鄲市某地區(qū)路段交通流速度序列Fig.1 Traffic flow speed in sections of Handan
由圖1可見,短期交通流速度具有一定的隨機(jī)性,為進(jìn)一步分析其所具有的混沌特性,通過相空間重構(gòu)求取交通流速度序列映射的相空間,并求取其Lyapunov指數(shù)判斷其是否具有混沌性。根據(jù)Takens嵌入定理,可以從一維混沌時(shí)間序列中重構(gòu)一個(gè)與原動(dòng)力系統(tǒng)在拓?fù)湟饬x下一樣的相空間,混沌時(shí)間序列的判定、分析和預(yù)測(cè)都在所重構(gòu)的相空間中進(jìn)行。采取延遲重構(gòu)法對(duì)短時(shí)交通流速度序列進(jìn)行重構(gòu)和分析。
設(shè)數(shù)量為n的原始交通流速度序列為x(i),i=1,2,…,n,需要構(gòu)建M=n-(m-1)τ個(gè)m維相空間矢量Xi,重構(gòu)后的相空間為
Xi=(x(i),x(i+τ),…,x{i+[n-(m-1)τ]})
(1)
式(1)中:τ為延遲時(shí)間;m為嵌入維度;i=1,2,…,n;X為M×m的矩陣。其相空間軌跡為
X=
(2)
重構(gòu)相空間的關(guān)鍵在確定最優(yōu)延遲時(shí)間τd和嵌入維數(shù),采用C-C方法[14]求取。計(jì)算嵌入時(shí)間序列的關(guān)聯(lián)積分為
(3)
式(3)中:N為時(shí)間序列長度;r為計(jì)算中設(shè)定的搜索半徑;θ為Heaviside函數(shù)。
將x(i)分成τ個(gè)互不關(guān)聯(lián)的子集,定義其檢驗(yàn)統(tǒng)計(jì)量S(m,N,r,τ),對(duì)非線性時(shí)間序列的相關(guān)性進(jìn)行描述,并由此計(jì)算最優(yōu)延遲時(shí)間和嵌入維數(shù)。
S(m,N,r,τ)=C(m,N,r,τ)-Cm(1,N,r,τ)
(4)
以分塊平均策略計(jì)算式(4),當(dāng)N→∞,有
m=2,3,…
(5)
(6)
min[S(m,ri,τ)]
(7)
(8)
計(jì)算得到延遲時(shí)間和嵌入維數(shù)后,對(duì)短期交通流速度序列進(jìn)行重構(gòu),以小數(shù)據(jù)量法計(jì)算Lyapunov指數(shù),判斷序列的混沌性。
ESN訓(xùn)練過程快,對(duì)一維時(shí)序數(shù)列的處理和預(yù)測(cè)有很好的優(yōu)勢(shì)。CRJ網(wǎng)絡(luò)是ESN的變種,本質(zhì)是一種遞歸神經(jīng)網(wǎng)絡(luò),由輸入層、輸出層和隱藏層(儲(chǔ)備池)3層構(gòu)成,其結(jié)構(gòu)如圖2所示。
圖2 CRJ網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Network structure diagram of CRJ
在t時(shí)刻,網(wǎng)絡(luò)的輸入為u(t)=[u1(t),u2(t),…,uK(t)],儲(chǔ)備池狀態(tài)h(t)=[h1(t),h2(t),…,hP(t)],網(wǎng)絡(luò)的輸出為y(t)=[y1(t),y2(t),…,yQ(t)],其中,K為輸入維數(shù),P為儲(chǔ)備池神經(jīng)元的個(gè)數(shù),Q為輸出維數(shù)。儲(chǔ)備池的狀態(tài)依據(jù)式(19)進(jìn)行更新,即
h(t+1)=f[Winu(t+1)+Wh(t)+
Wbacky(t)]
(9)
式(9)中:Win為輸入權(quán)值矩陣,維數(shù)為P×K;W為內(nèi)部狀態(tài)權(quán)值矩陣,維數(shù)為P×P;Wback為輸出至內(nèi)部狀態(tài)權(quán)值矩陣,維數(shù)為Q×P;f為內(nèi)部神經(jīng)元激活函數(shù),取sigmoid函數(shù)。特別地,在W矩陣中,rc為循環(huán)邊的權(quán)重,rj為跳躍邊的權(quán)重,跳躍步長為L。系統(tǒng)的輸出方程為
y(t+1)=fout[Wouth(t+1)]
(10)
式(10)中:fout為輸出層激活函數(shù),一般選取線性函數(shù)。CRJ網(wǎng)絡(luò)在訓(xùn)練時(shí)只需要訓(xùn)練隱藏層到輸出層的連接權(quán)值矩陣Wout,采用線性回歸即可完成。
CRJ網(wǎng)絡(luò)與ESN相比,其儲(chǔ)備池采用了確定的連接結(jié)構(gòu),這種結(jié)構(gòu)相比于隨機(jī)生成的儲(chǔ)備池使網(wǎng)絡(luò)性能得到提高,彌補(bǔ)了隨機(jī)連接時(shí)網(wǎng)絡(luò)的不確定性,降低了神經(jīng)元連接的冗余。但由于其確定的跳躍步長,使其不能充分考慮時(shí)間序列中的隨機(jī)因素,泛化能力降低。因此假設(shè)步長L是隨機(jī)的,以充分挖掘儲(chǔ)備池中高聚類系數(shù)節(jié)點(diǎn)的信息,增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力。至此,CRJ網(wǎng)絡(luò)的儲(chǔ)備池需要確定的初始參數(shù)為儲(chǔ)備池節(jié)點(diǎn)數(shù)P、循環(huán)邊權(quán)重rc、跳躍邊權(quán)重rj、輸入單元尺度IS。
對(duì)于上述CRJ網(wǎng)絡(luò)模型中的初始參數(shù)選擇依賴于經(jīng)驗(yàn),沒有確定的準(zhǔn)則,因此將作為優(yōu)化參數(shù),以尋優(yōu)算法確定。天牛須搜索算法基于天牛覓食原理,天牛以觸角感受食物氣味,左右觸角的氣味強(qiáng)度偏差引導(dǎo)其移動(dòng)方向。天牛須算法(beetle antennae search,BAS)算法的尋優(yōu)過程同粒子群算法、遺傳算法等類似,不需要知道目標(biāo)函數(shù)的具體形式及梯度信息,并且BAS算法的尋優(yōu)個(gè)體僅為一個(gè),使得其尋優(yōu)的速度顯著提高。BAS算法實(shí)現(xiàn)步驟如下。
(1)生成k維的隨機(jī)向量表示天牛頭的朝向,即
(11)
式(11)中:rands()為隨機(jī)函數(shù);k表示空間維度。
(2)創(chuàng)建天牛左右須空間坐標(biāo),即
(12)
式(12)中:λc、λrc、λlc分別表示天牛在第c次迭代時(shí)的質(zhì)心坐標(biāo)、右須坐標(biāo)、左須坐標(biāo);d0為兩須之間距離。
(3)根據(jù)適應(yīng)度函數(shù)計(jì)算左右須的氣味強(qiáng)度,更新天牛位置,即
λc+1=λc-δ·b·sign[fit(λrc)-fit(λlc)]
(13)
式(13)中:δ為步長因子;sign()為符號(hào)函數(shù);fit為適應(yīng)度函數(shù)。
步長因子δ用來控制天牛的區(qū)域搜索能力,在初始時(shí),大的步長會(huì)擴(kuò)大搜索空間,并使天??焖俾湎蜃顑?yōu)解,提高其跳出局部最優(yōu)的能力;在迭代后期,小的步長會(huì)提高搜索能力,避免在最優(yōu)解附近的震蕩。為保證搜索的精細(xì)化,假定步長是變化的,采用權(quán)值線性遞減的策略對(duì)δ進(jìn)行調(diào)整,即
δc+1=eta_δδc
(14)
式(14)中:eta_δ為步長衰減系數(shù),此處取eta_δ∈[0.2,0.95],隨迭代次數(shù)逐步減小,初值為0.95。同時(shí)為了防止BAS算法陷入局部最優(yōu),引入模擬退火技術(shù)對(duì)其改進(jìn),即在每一步的過程中,都以一定的概率γ接受比當(dāng)前解差的結(jié)果,提升其跳出局部最優(yōu)的能力,且接受“次優(yōu)解”的概率γ隨迭代次數(shù)的增加而逐步降低,以保證算法的穩(wěn)定性。
(15)
式(15)中:T為退火溫度;概率γ的遞減性已由模擬退火算法中相關(guān)理論證明[15]。
將上述改進(jìn)的BAS算法稱為RBAS算法,將其與CRJ網(wǎng)絡(luò)相結(jié)合構(gòu)建了新的預(yù)測(cè)模型:RBAS-CRJ模型。先將變步長策略和模擬退火技術(shù)引入BAS,并與隨機(jī)步長的CRJ網(wǎng)絡(luò)相結(jié)合,即以RBAS算法優(yōu)化CRJ網(wǎng)絡(luò)的關(guān)鍵參數(shù)。然后將優(yōu)化后的參數(shù)輸入CRJ網(wǎng)絡(luò),完成模型構(gòu)建。最后通過測(cè)試集檢驗(yàn)優(yōu)化效果。具體實(shí)現(xiàn)如下。
(1)輸入交通流速度序列相空間重構(gòu)。以C-C方法求取延遲時(shí)間和嵌入維數(shù),重構(gòu)相空間,劃分訓(xùn)練樣本和測(cè)試樣本。
(2)初始化RBAS算法中的參數(shù),包括空間維度k、左右須距離d、初始步長δ、迭代次數(shù)、初始降火溫度T、降溫速率、降火次數(shù);初始化CRJ網(wǎng)絡(luò)參數(shù),隨機(jī)生成Win、Wout、Wback、儲(chǔ)備池節(jié)點(diǎn)數(shù)P、循環(huán)邊權(quán)重rc、跳躍邊權(quán)重rj、輸入單元尺度IS,其中待優(yōu)化參數(shù)為P、rc、rj、IS。
(3)RBAS算法參數(shù)尋優(yōu)。首先初始化天牛位置,創(chuàng)建天牛須朝向的k維隨機(jī)向量,表征CRJ網(wǎng)絡(luò)中的一組參數(shù)(P、rc、rj、IS),以訓(xùn)練集的均方根誤差作為適應(yīng)度函數(shù),對(duì)當(dāng)前解進(jìn)行評(píng)價(jià)。
(16)
式(16)中:B為訓(xùn)練集樣本數(shù);tsim(b)為樣本b的模型輸出值;yb為樣本b的實(shí)際值。
之后計(jì)算天牛左右須的適應(yīng)度,確定天牛移動(dòng)方向,更新天牛位置得到新的解(即完成對(duì)儲(chǔ)備池參數(shù)的一次更新),同時(shí)重新計(jì)算解的適應(yīng)度。最后判斷是否達(dá)到最大迭代次數(shù)或解的適應(yīng)度函數(shù)值是否滿足要求,滿足則輸出解,將解代入CRJ網(wǎng)絡(luò)開始訓(xùn)練;不滿足則繼續(xù)迭代。
(4)RBAS-CRJ網(wǎng)絡(luò)模型訓(xùn)練。根據(jù)RBAS算法的尋優(yōu)結(jié)果設(shè)定網(wǎng)絡(luò)的初始參數(shù),不斷訓(xùn)練權(quán)值矩陣Wout,訓(xùn)練完成后進(jìn)行測(cè)試樣本的預(yù)測(cè)和評(píng)價(jià)??偭鞒倘鐖D3所示。
研究數(shù)據(jù)來源于2019年10月邯鄲市某地區(qū)兩個(gè)路段的交通流速度數(shù)據(jù),采樣周期為5 min,每天采集288個(gè)數(shù)據(jù),用于實(shí)驗(yàn)的為其中一個(gè)路段連續(xù)6 d的數(shù)據(jù),共計(jì)1 728個(gè)數(shù)據(jù)點(diǎn),將其排列為連續(xù)的時(shí)間序列,如圖4所示。由圖4可以看出,該序列具有較強(qiáng)的復(fù)雜性與時(shí)變性,同時(shí)具有一定的規(guī)律性。
圖3 基于RBAS-CRJ 的交通流速度預(yù)測(cè)流程Fig.3 Flowchart of traffic flow speed prediction based on RBAS-CRJ
圖4 原始交通流速度序列Fig.4 Sequence of original traffic flow speed
為了驗(yàn)證交通流速度序列的混沌性,在計(jì)算整個(gè)序列的李雅普諾夫系數(shù)之外,對(duì)數(shù)據(jù)進(jìn)行區(qū)間劃分,每個(gè)區(qū)間288個(gè)數(shù)據(jù),即一天的數(shù)據(jù)量,全面考察序列的延遲時(shí)間、嵌入維數(shù)和李雅普諾夫指數(shù)。
圖變化曲線
表1 交通流速度序列重構(gòu)結(jié)果
分析表1可以發(fā)現(xiàn),τd集中在5附近,m保持為3,故可選取τd=5,m=3,且可以看到序列x(i)及其子區(qū)間序列的Lyapunov指數(shù)均大于0,說明了交通流速度序列具有混沌性。根據(jù)延遲坐標(biāo)法重構(gòu)x(i)[x(i)的長度為1 728]的相空間軌跡X為
(17)
基于所提網(wǎng)絡(luò)的交通流速度混沌時(shí)間序列預(yù)測(cè)即是實(shí)現(xiàn)式(18)的映射,即
(18)
根據(jù)3.2節(jié)得到的X可以確定CRJ的輸入維數(shù)為3,輸出維數(shù)為1,共有1 718個(gè)相點(diǎn)樣本。
根據(jù)式(18)將重構(gòu)相空間Xi作為模型輸入,下一時(shí)刻交通流速度作為輸出,隨機(jī)選取70%為訓(xùn)練樣本,30%為測(cè)試樣本,以進(jìn)行模型的驗(yàn)證。
采用RBAS算法優(yōu)化CRJ網(wǎng)絡(luò)的參數(shù),RBAS算法初始化參數(shù)設(shè)置如下:空間維度k=4(表示一組儲(chǔ)備池參數(shù)),左右須距離d=0.05,初始步長δ=3,eta_δ=0.95,迭代次數(shù)為100,初始降火溫度T=5 000,降溫速率為0.7,降火次數(shù)為10。采用均方根誤差作為適應(yīng)度函數(shù)值,適應(yīng)度曲線如圖6所示。
圖6 RBAS和BAS的適應(yīng)度曲線Fig.6 Fitness curves of RBAS and BAS
由圖6(c)可以看出,改進(jìn)后的RBAS相比于BAS收斂到最優(yōu)解附近所需要的迭代次數(shù)減少,這是由于變步長因子的引入,使算法在搜索的過程中不斷精細(xì)化,避免了中后期在搜索空間上的大幅跳躍,加快了向最優(yōu)解前進(jìn)的速度。此外由圖6(a)可以看到,RBAS在搜索過程中具有跳出局部最優(yōu)的能力,這種能力一直保持到了搜索的中后期,而圖6(b)中BAS在搜索前中期雖然有一定的能力搜索解空間,但當(dāng)其陷入局部最優(yōu)時(shí),需要較長的時(shí)間才能夠跳出,由此說明模擬退火技術(shù)的引入起到了一定的作用。
為了衡量模型預(yù)測(cè)短時(shí)交通流量的效果,采
用平均絕對(duì)誤差(MAE)、均方誤差(MSE)、平均絕對(duì)百分比誤差(MAPE)這3個(gè)指標(biāo)評(píng)價(jià)模型預(yù)測(cè)結(jié)果的準(zhǔn)確性。
(19)
(20)
(21)
基于相空間重構(gòu)和RBAS-CRJ的短時(shí)交通流速度預(yù)測(cè)模型的預(yù)測(cè)效果以及誤差曲線如圖7(a)、圖7(b),圖7(c)為所提模型與其他模型的對(duì)比。
由圖7(a)可以直觀地看到模型的預(yù)測(cè)值擬合實(shí)際值的效果,模型預(yù)測(cè)輸出值可以較好地跟蹤實(shí)際值。由7(b)可以看到誤差基本控制在[-5,5]內(nèi),模型的預(yù)測(cè)效果良好。此外,為對(duì)比分析所提模型的性能,選取了以下4個(gè)模型進(jìn)行對(duì)比,分別為狀態(tài)回聲網(wǎng)絡(luò)預(yù)測(cè)模型(ESN)、交通流速度序列未重構(gòu)的ESN預(yù)測(cè)模型(N-ESN)、確定性跳躍循環(huán)狀態(tài)網(wǎng)絡(luò)預(yù)測(cè)模型(CRJ)、天牛須算法優(yōu)化的確定性跳躍循環(huán)狀態(tài)網(wǎng)絡(luò)預(yù)測(cè)模型(BAS-CRJ)。圖7(c)為不同模型的預(yù)測(cè)誤差,計(jì)算各模型的評(píng)價(jià)指標(biāo)如表2所示。
分析表2的計(jì)算結(jié)果,ESN模型同N-ESN模型相比,平均絕對(duì)百分比誤差下降了2.65%,即經(jīng)過相空間重構(gòu)后的預(yù)測(cè)效果較優(yōu),說明交通流速度作為一種混沌時(shí)間序列,在相空間對(duì)其分析能夠挖掘其內(nèi)部特性,提高對(duì)其的預(yù)測(cè)精度。CRJ模型同ESN模型相比,平均絕對(duì)百分比誤差下降了1.21%,說明確定的儲(chǔ)備池結(jié)構(gòu)提高了網(wǎng)絡(luò)的性能,降低了神經(jīng)元連接的冗余,在一定程度上提高了模型的泛化能力。BAS-CRJ模型同CRJ模型相比,平均絕對(duì)百分比誤差下降了1.13%,說明CRJ合適的初始參數(shù)對(duì)于提高網(wǎng)絡(luò)的預(yù)測(cè)精度有著積極的作用,對(duì)初始參數(shù)的優(yōu)化是有必要的。RBAS-CRJ模型同BAS-CRJ模型相比,平均絕對(duì)百分比誤差下降了1.05%,結(jié)合圖6的結(jié)果,說明變步長因子及模擬退火的引入提高了BAS算法的性能,RBAS算法對(duì)CRJ網(wǎng)絡(luò)的參數(shù)優(yōu)化能力加強(qiáng),使RBAS-CRJ模型的預(yù)測(cè)性能上升。綜上所述,本文模型預(yù)測(cè)效果良好,對(duì)短時(shí)交通流速度預(yù)測(cè)得準(zhǔn)確性有了進(jìn)一步的提高。
圖7 不同模型的預(yù)測(cè)結(jié)果和誤差Fig.7 Prediction results and errors of differernt model
表2 各模型的預(yù)測(cè)結(jié)果指標(biāo)
提出一種基于相空間重構(gòu)和改進(jìn)BAS-CRJ的模型對(duì)短時(shí)交通流速度進(jìn)行預(yù)測(cè)和分析,得到以下結(jié)論。
(1)通過分析交通流速度序列具有的混沌性,重構(gòu)序列的相空間,為混沌理論和預(yù)測(cè)模型的結(jié)合奠定了基礎(chǔ)。相比于直接以原始序列進(jìn)行預(yù)測(cè),降低了預(yù)測(cè)誤差。交通流速度序列經(jīng)相空間重構(gòu)后適用于神經(jīng)網(wǎng)絡(luò)下的建模。
(2)將變步長因子和模擬退火技術(shù)引入天牛須算法,并以改進(jìn)的天牛須算法優(yōu)化CRJ的參數(shù),結(jié)果表明,所建立的RBAS-CRJ預(yù)測(cè)模型同對(duì)比模型相比,預(yù)測(cè)值能夠更好地跟蹤實(shí)際值,提高了預(yù)測(cè)精度,對(duì)于實(shí)現(xiàn)實(shí)時(shí)交通誘導(dǎo)和控制、建設(shè)智能交通具有一定的參考價(jià)值。