黃曉慧 張翠芳
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 四川 成都 611756)
布谷鳥算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的短時交通流預(yù)測
黃曉慧 張翠芳
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 四川 成都 611756)
針對目前短時交通流的預(yù)測精度不夠高這一問題,提出一種布谷鳥算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)(CS-WNN)的短時交通流預(yù)測模型。首先采用小波變換對數(shù)據(jù)進(jìn)行降噪,并進(jìn)行歸一化處理,然后使用復(fù)自相關(guān)法對具有混沌特性的短時交通流進(jìn)行相空間重構(gòu),將交通流數(shù)據(jù)拆分為訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組,使用布谷鳥算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的各項(xiàng)參數(shù),并根據(jù)訓(xùn)練數(shù)據(jù)組來訓(xùn)練優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)模型。最后使用測試數(shù)據(jù)組的數(shù)據(jù)對CS-WNN模型進(jìn)行有效性驗(yàn)證。仿真結(jié)果表明,相比幾種主流的優(yōu)化預(yù)測模型, CS-WNN短時交通流預(yù)測模型具有更高的預(yù)測精度。
短時交通流 復(fù)自相關(guān) 布谷鳥算法 小波神經(jīng)網(wǎng)絡(luò)
準(zhǔn)確、實(shí)時的短時交通流預(yù)測是智能交通系統(tǒng)的基礎(chǔ)和關(guān)鍵。短時交通流預(yù)測一般是指間隔時間不超過15分鐘的車流量預(yù)測。用道路實(shí)時和歷史檢測數(shù)據(jù),通過各種模型和方法預(yù)測下一時段的交通量,既可作為智能交通系統(tǒng)信號控制的設(shè)計依據(jù),也可為出行者的路徑選擇提供參考[1]。
近幾十年來,各國研究學(xué)者提出了眾多的短時交通流預(yù)測方法??偟膩砜矗幸韵聨最悾夯诰€性理論,如文獻(xiàn)[2]中提到的統(tǒng)計的方法;基于非線性理論,如小波分析、混沌理論[3]等;智能理論,如神經(jīng)網(wǎng)絡(luò)[4]、支持向量機(jī);其他模型,如動態(tài)交通分配模型[5]。其中,神經(jīng)網(wǎng)絡(luò)由于自適應(yīng)、自學(xué)習(xí)能力強(qiáng)而被廣泛應(yīng)用,典型的代表就是BP神經(jīng)網(wǎng)絡(luò)。
小波神經(jīng)網(wǎng)絡(luò)(WNN)是用非線性小波基取代通常的神經(jīng)元非線性激勵函數(shù)的一類新型前饋網(wǎng)絡(luò)。對于非平穩(wěn)的輸入,小波神經(jīng)網(wǎng)絡(luò)有著比BP神經(jīng)網(wǎng)絡(luò)更好的時頻局部特性和變焦能力[6],所以本文選取小波神經(jīng)網(wǎng)絡(luò)作為預(yù)測模型。然而,小波神經(jīng)網(wǎng)絡(luò)仍然具有容易陷入局部最小值的缺點(diǎn)。為此,本文采用布谷鳥算法(CS)優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的各項(xiàng)初始化參數(shù)。由于實(shí)際的交通流數(shù)據(jù)具有一定的噪聲,因此,本文采用小波變換進(jìn)行數(shù)據(jù)降噪[7],這樣既提高了模型的預(yù)測精度,又保證預(yù)測模型可靠性。對于交通流序列,在模型訓(xùn)練開始前,還應(yīng)考慮序列的混沌性,將數(shù)據(jù)映射到多維,以更好地挖掘數(shù)據(jù)中的隱藏信息[8]。
基于以上思想,本文提出了布谷鳥算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)(CS-WNN)的短時交通流預(yù)測模型,仿真實(shí)驗(yàn)表明,相比其他模型,CS-WNN模型具有更好的預(yù)測精度。
由于實(shí)際數(shù)據(jù)受影響因素較多,在模型訓(xùn)練之前,對數(shù)據(jù)進(jìn)行預(yù)處理,有助于提高模型的預(yù)測精度。
1.1 小波降噪
數(shù)據(jù)有噪聲是指數(shù)據(jù)中有錯誤或偏離期望的值。為了保證預(yù)測模型訓(xùn)練的可靠性,本文采用小波變換對數(shù)據(jù)進(jìn)行降噪。小波變換是以非線性函數(shù)為基,通過伸縮和平移,將數(shù)據(jù)變換為低頻和高頻部分,低頻顯示其輪廓,高頻顯示其細(xì)節(jié)[9]。
可用信號和噪聲信號的區(qū)別通常在于平滑程度和頻率高低。其中,可用信號表現(xiàn)平穩(wěn),且為低頻信號。本文的小波降噪的大致過程如下:(1) 分解一維信號。以某個母小波為基準(zhǔn),定義分解的層次N,對一維信號進(jìn)行N層小波分解。本文使用小波工具箱中的sym4小波執(zhí)行3層分解。(2) 閾值量化高頻系數(shù)。使用設(shè)定的閾值進(jìn)行軟閾值量化處理。(3) 恢復(fù)一維信號。根據(jù)小波分解的第3層的低頻系數(shù)和經(jīng)過量化處理后的3層的高頻系數(shù),進(jìn)行一維信號的小波重構(gòu)[10]。本文的數(shù)據(jù)降噪效果如圖1所示,可見,降噪后的數(shù)據(jù)走勢更加平滑。
圖1 原始數(shù)據(jù)與小波降噪后的數(shù)據(jù)對比圖
1.2 歸一化處理
由于數(shù)值波動范圍較大,為了仿真執(zhí)行的效率更高,本文對實(shí)測的交通流數(shù)據(jù)進(jìn)行歸一化處理,待數(shù)據(jù)預(yù)測完畢再進(jìn)行反歸一化處理。使用的歸一化函數(shù)如式(1)所示:
(1)
其中,ymax默認(rèn)為1,ymin默認(rèn)為-1,x為當(dāng)前要處理的原始數(shù)據(jù)項(xiàng),xmax為所有要處理的原始數(shù)據(jù)項(xiàng)中的最大值,xmin為所有要處理的原始數(shù)據(jù)項(xiàng)中的最小值。
1.3 相空間重構(gòu)
相空間重構(gòu)由Packard等人[11]于1980年提出,它是混沌時間序列預(yù)測的基礎(chǔ)。交通流正是具有混沌特性的一組一維時間序列,因此有必要對它進(jìn)行相空間重構(gòu),將一維數(shù)據(jù)映射到多維。根據(jù)Packard提出的延遲坐標(biāo)法對數(shù)據(jù)進(jìn)行相空間重構(gòu),對交通流序列x1,x2,…,xn中的各項(xiàng)xi重構(gòu)后為:
Xi=(xi,xi+τ,…,xi+(m-1)τ)
(2)
其中,i=1,2,…,n-(m-1)τ,τ為延遲時間,m為嵌入維,n為交通流序列的長度。由式(2)可知,要完成相空間重構(gòu),關(guān)鍵是確定延遲時間τ和嵌入維m。本文采用復(fù)自相關(guān)法[12]計算τ和m,并將數(shù)據(jù)拆分為訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組。
2.1 布谷鳥搜索算法簡介
布谷鳥搜索算法是一種新興的群智能算法,由YANG等人于2009年提出。它利用布谷鳥巢寄生的特點(diǎn),將尋窩產(chǎn)卵這一方式運(yùn)用到尋優(yōu)過程中[13]。
布谷鳥搜索算法最重要的兩個原理是寄生繁殖和萊維飛行。概括來說,它有以下3個規(guī)則[14]:
(1) 一只布谷鳥一次產(chǎn)一個卵,并隨機(jī)選擇一個鳥巢存放;
(2) 在一組鳥巢中,含有最優(yōu)秀的鳥蛋的巢自動保留到下一代;
(3) 鳥巢數(shù)量是固定的,并假設(shè)布谷鳥的蛋被寄生的鳥巢主人發(fā)現(xiàn)的概率為P,且P∈[0,1],這時鳥巢主人會拋棄外來鳥蛋或者重新建立一個鳥巢。
可以認(rèn)為一個布谷鳥蛋就是一個解,鳥巢或者布谷鳥更新的過程即代表新解產(chǎn)生的過程。在以上3種理想的狀態(tài)下,布谷鳥的尋優(yōu)位置和路徑更新式公式如式(3)所示:
(3)
L(s,λ)~u=t-λ1<λ≤3
(4)
在搜索尋優(yōu)的過程中,萊維飛行的短步長搜索有利于得到更優(yōu)的局部最優(yōu)點(diǎn)。而偶爾的大步長探索,又使算法不容易陷入局部極值點(diǎn)。
2.2 小波神經(jīng)網(wǎng)絡(luò)
本文選用的是緊密結(jié)合類的小波神經(jīng)網(wǎng)絡(luò),又稱小波與神經(jīng)網(wǎng)絡(luò)的有機(jī)式結(jié)合。用小波基函數(shù)代替前饋神經(jīng)網(wǎng)絡(luò)的激勵函數(shù),在小波基函數(shù)中的平移因子代替隱含層閾值,并使用了伸縮因子,改變了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)。
本文所選用的3層小波神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖2所示。輸入層有n個節(jié)點(diǎn),n的值等于相空間重構(gòu)所得到的嵌入維m,隱含層神經(jīng)元個數(shù)為m,根據(jù)Kolmogorov定理,本文選取m=2n+1,輸出層神經(jīng)元1個。w和v分別表示輸入層和隱含層之間的連接權(quán)值、隱含層和輸出層之間的連接權(quán)值。Φ(x)為小波基函數(shù)。
圖2 緊密結(jié)合類小波神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖
由于Morlet小波基較強(qiáng)的抗干擾能力,廣泛應(yīng)用于預(yù)測領(lǐng)域,因此本文選用它來替代神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)。Morlet的數(shù)學(xué)公式為:
(5)
小波神經(jīng)網(wǎng)絡(luò)隱含層的輸出計算公式為:
(6)
式中,p(j)為隱含層第j個輸出,wij為輸入層第i個神經(jīng)元與第j個神經(jīng)元之間的連接權(quán)值,h為式(5)中的Morlet小波基函數(shù),aj為小波基的伸縮因子,bj為小波基的平移因子。
小波神經(jīng)網(wǎng)絡(luò)輸出層的輸出計算式為:
(7)
其中,vjk為隱含層與輸出層之間的連接權(quán)值,p(j)為隱含層輸出。
2.3CS-WNN短時交通流預(yù)測算法
算法的基本步驟如下所示:
Step1 導(dǎo)入交通流數(shù)據(jù),并對數(shù)據(jù)進(jìn)行去噪。使用復(fù)自相關(guān)法求得適合本次數(shù)據(jù)的時延τ和嵌入維m,完成相空間重構(gòu),并將數(shù)據(jù)拆分為訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組。
Step2 初始化小波神經(jīng)網(wǎng)絡(luò),輸入層節(jié)點(diǎn)m個,隱含層節(jié)點(diǎn)2m+1個,輸出層節(jié)點(diǎn)1個。隨機(jī)產(chǎn)生權(quán)值、小波基的平移因子和伸縮因子,并確定網(wǎng)絡(luò)學(xué)習(xí)率和迭代次數(shù)等。本次實(shí)驗(yàn)選取的學(xué)習(xí)率為0.1,迭代次數(shù)為100,預(yù)測精度0.99。
Step3 設(shè)鳥巢個數(shù)Nnest為25,鳥蛋被鳥巢主人發(fā)現(xiàn)的概率Pa為0.25,迭代次數(shù)為N為200,隨機(jī)生成Nnest個鳥巢位置W=(W1,W2,…,WNnest)T,每一個鳥巢Wi均有s個參數(shù)(s=輸入層與隱含層權(quán)值個數(shù)+隱含層與輸出層權(quán)值個數(shù)+平移因子個數(shù)+伸縮因子個數(shù))。小波神經(jīng)網(wǎng)絡(luò)根據(jù)每個鳥巢初始的各項(xiàng)參數(shù)進(jìn)行訓(xùn)練,計算每個鳥巢下的預(yù)測值,并根據(jù)預(yù)測誤差找到這25個鳥巢中誤差最小的鳥巢標(biāo)記為鳥巢Wbest,并保留至下一代。
Step4 根據(jù)位置和路徑更新式(3)對除Wbest以外的其他鳥巢進(jìn)行更新,并通過小波神經(jīng)網(wǎng)絡(luò)計算預(yù)測誤差,與Step3中的除Wbest以外的其他鳥巢的預(yù)測誤差進(jìn)行對比,以誤差較小的鳥巢替代誤差較大的鳥巢,從而得到當(dāng)前代的較優(yōu)鳥巢位置。Wnew=(Wnew1,Wnew2,…,WNnewnest)T。
Step7 訓(xùn)練數(shù)據(jù)輸入小波神經(jīng)網(wǎng)絡(luò),進(jìn)行訓(xùn)練,若未達(dá)到迭代次數(shù)或預(yù)測精度,則不斷學(xué)習(xí),若達(dá)到迭代次數(shù)或預(yù)測精度,則小波神經(jīng)網(wǎng)絡(luò)停止學(xué)習(xí),保存此時的各項(xiàng)參數(shù)值。
Step8 輸入測試數(shù)據(jù),進(jìn)行實(shí)際預(yù)測。在預(yù)測的過程中,加入在線學(xué)習(xí),根據(jù)前面預(yù)測的誤差,動態(tài)地調(diào)整參數(shù)。最后,作圖,并與真實(shí)值進(jìn)行對比。
為了評價本文所提出算法的性能,選取3個評價參數(shù):平均絕對百分比誤差MAPE,平均絕對誤差MAE,均等系數(shù)EC。
實(shí)驗(yàn)選用的數(shù)據(jù)來源于美國明尼蘇達(dá)州雙子城交通管理中心(http://www.d.umn.edu/~tkwon/TMCdata/TMCarchive.html),數(shù)據(jù)采自雙子城高速公路,選取ID為10的探測器數(shù)據(jù)。原系統(tǒng)提供的數(shù)據(jù)為每隔30秒一組,并以專有格式進(jìn)行了壓縮,本文將其處理為間隔時間5分鐘的車流量數(shù)據(jù)。數(shù)據(jù)的時間跨度為2015年11月16日至2015年11月20日,共1 440組數(shù)據(jù)。拆分?jǐn)?shù)據(jù)的前960組數(shù)據(jù)作為模型訓(xùn)練數(shù)據(jù)組,后480組數(shù)據(jù)作為測試數(shù)據(jù)組。
實(shí)驗(yàn)硬件環(huán)境為雙核英特爾酷睿處理器,2 GB DDR2內(nèi)存。軟件環(huán)境為MATLAB2011b。為了評價CS-WNN算法的優(yōu)劣性,仿真實(shí)驗(yàn)中還引入了粒子群算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)預(yù)測模型(PSO-WNN)、遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)預(yù)測模型(GA-WNN)、布谷鳥算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型(CS-BP)的驗(yàn)證。這4種模型的各項(xiàng)評價指標(biāo)(MAPE、 MAE、EC)見表1所示。
表1 不同模型短時交通流預(yù)測性能對比
由表1所示,對比CS-WNN和PSO-WNN 、GA-WNN,布谷鳥搜索算法比傳統(tǒng)群智能算法平均絕對百分比誤差、擬合度更高,布谷鳥算法優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)對短時交通流預(yù)測有著更高的精度。對比CS-WNN和CS-BP,可知小波神經(jīng)網(wǎng)絡(luò)比BP神經(jīng)網(wǎng)絡(luò)的預(yù)測精度有明顯的提升??紤]到間隔時間為5分鐘的預(yù)測,三種算法的運(yùn)行時間都較短,均在1分鐘以內(nèi),因此都在可接受的時間范圍,這種情況下預(yù)測的準(zhǔn)確度越高越好。圖3和圖4為各模型短時交通流預(yù)測結(jié)果和實(shí)際交通流數(shù)據(jù)的仿真圖。其中,圖4 是將圖3的仿真結(jié)果局部放大后的細(xì)節(jié)圖。由圖3和圖4可看出,4種模型整體預(yù)測效果都很好,而CS-WNN模型預(yù)測效果尤佳,PSO-WNN模型預(yù)測效果次之,GA-WNN模型的預(yù)測效果略差于PSO-WNN,CS-BP最差。由表1和圖3、圖4可知,CS-WNN算法在整體性能上優(yōu)于其他三種算法。
圖3 各模型實(shí)際交通流預(yù)測結(jié)果圖
圖4 各模型實(shí)際交通流預(yù)測結(jié)果局部圖
圖5 實(shí)際交通流與CS-WNN預(yù)測結(jié)果圖
圖5表示單獨(dú)運(yùn)行實(shí)際交通流和CS-WNN預(yù)測結(jié)果的仿真圖。相較圖3和圖4,圖5能更清晰地看出,CS-WNN模型預(yù)測短時交通流的精確度較高,能較好地把握該實(shí)驗(yàn)路段車流量的走勢,有著良好的應(yīng)用前景。
首先從BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)上進(jìn)行改進(jìn),使用小波基函數(shù)替代BP神經(jīng)網(wǎng)絡(luò)的激勵函數(shù),建立小波神經(jīng)網(wǎng)絡(luò)模型。其次,考慮到神經(jīng)網(wǎng)絡(luò)易陷入局部最小值的特點(diǎn),將布谷鳥搜索算法與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出了布谷鳥算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)(CS-WNN)的短時交通流預(yù)測模型。對比仿真實(shí)驗(yàn),本文提出的CS-WNN算法具有更好的擬合能力和更高的預(yù)測精度??紤]到短時交通流易受臨近路口和天氣影響,在今后的研究中還將考慮多參數(shù)輸入的預(yù)測模型研究。
[1] 袁健,范炳全.短時交通流預(yù)測研究進(jìn)展[J].城市交通,2012,10(6):73-78.
[2] Fabio Moretti,Stefano Pizzuti,Stefano Panzieri,et al.Urban traffic flow forecasting through statistical and neural network bagging ensemble hybrid modeling [J].Neurocomputing,2015,167:3-7.
[3] 劉建華.相空間重構(gòu)和SVR聯(lián)合優(yōu)化的短時交通流預(yù)測[J].計算機(jī)工程與應(yīng)用,2014,50(4):13-17.
[4] 沈永增,閆紀(jì)如,王煒.基于混沌粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的短時交通流預(yù)測[J].計算機(jī)應(yīng)用與軟件,2014,31(6):84-86.
[5] 胡婷,于雷,趙娜樂.動態(tài)交通分配理論研究綜述[J].交通標(biāo)準(zhǔn)化,2010,220(5):6-10.
[6] MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué),2010:208-217.
[7] 張宗平,劉貴忠,董恩清.基于二進(jìn)制小波變換的信號去噪[J].電子與信息學(xué)報,2001,23(11):1083-1090.
[8] 李松,劉力軍,解永樂.遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時交通流混沌預(yù)測[J].控制與決策,2011,26(10):1581-1585.
[9] 周龍華,付青,余世杰.基于小波變換的諧波檢測技術(shù)[J].電力系統(tǒng)及其自動化學(xué)報,2010,22(1):80-85.
[10] 袁飛.基于平移不變小波的語音信號去噪研究[J].自動化技術(shù)與應(yīng)用,2011,30(8):40-42.
[11] Packard N H,Crutchfield J P,Farmer J D,et al.Shaw Geometry from a time series[J].Physical Review Letters,1980,45(9):712-716.
[12] 林嘉宇,王躍科,黃芝平,等.語音信號相空間重構(gòu)中時間延遲的選擇——復(fù)自相關(guān)法[J].信號處理,1999,15(3):220-225.
[13] Yang X S,Deb S.Engineering optimization by cuckoo search[J].International Journal of Mathematical Modeling and Numerical Optimization,2010,11(4):330-343.
[14] 李煜,馬良.新型元啟發(fā)式布谷鳥搜索算法[J].系統(tǒng)工程,2012,30(8):64-68.
PREDICTION FOR SHORT-TERM TRAFFIC FLOW BASED ON WAVELET NEURALNETWORK OPTIMISED BY CUCKOO SEARCH ALGORITHM
Huang Xiaohui Zhang Cuifang
(CollegeofInformationScienceandTechnology,SouthwestJiaotongUniversity,Chengdu611756,Sichuan,China)
Aiming at the improvement of the prediction accuracy of current short-term traffic flow, a prediction model for short-term traffic flow based on cuckoo search algorithm-optimised wavelet neural network (CS-WNN) was presented. Firstly, wavelet transformation and normalisation were used for data noise reduction, and the phase space reconstruction of short-term traffic flow with chaotic characteristics was done to form training data set and test data set by using complex self-correlation algorithm. Then, the wavelet neural network whose parameters were first optimised by cuckoo search algorithm was trained with training data set. At last, test data set was used for validating the effectiveness of CS-WNN model. Simulation results show that compared with several mainstream optimised prediction models, the proposed CS-WNN model for short-term traffic flow prediction has higher prediction accuracy.
Short-term traffic flow Complex self-correlation Cuckoo search algorithm Wavelet neural network
2016-01-22。黃曉慧,碩士生,主研領(lǐng)域:智能信息處理。張翠芳,教授。
TP183
A
10.3969/j.issn.1000-386x.2017.03.043