金玉婷,余立建
(西南交通大學(xué) 交通信息工程及控制實(shí)驗(yàn)室,四川 成都610031)
小波分析克服了傅里葉分析的不足,具有良好的時(shí)域——頻域局部特性和多尺度分辨能力。為提高神經(jīng)網(wǎng)絡(luò)的魯棒性,本文將小波分析與神經(jīng)網(wǎng)絡(luò)各自的優(yōu)點(diǎn)結(jié)合,用小波基函數(shù)代替?zhèn)鹘y(tǒng)的Sigmoid函數(shù),形成小波神經(jīng)網(wǎng)絡(luò)(Wavelet Neural Network,WNN),并用此來代替BP神經(jīng)網(wǎng)絡(luò)對(duì)短時(shí)交通流量進(jìn)行預(yù)測(cè)。
小波變換即為用一個(gè)合適的母小波函數(shù)ψ(t)通過時(shí)間軸上的位移、放縮和幅度的變化產(chǎn)生一系列的派生小波,用系列小波對(duì)要分析的信號(hào)進(jìn)行時(shí)間軸上的平移比較,獲得用以表征信號(hào)與小波相似程度的小波系數(shù)。
若對(duì)?ψ(t)∈L2(R),如果ψ(t)的傅里葉變換^ψ(t)滿足容許的條件
則稱ψ(t)為一個(gè)基本小波或小波母函數(shù)。
小波函數(shù)是由一個(gè)母小波經(jīng)過平移與尺寸伸縮得到的,小波變換就是指把某一母小波函數(shù)ψ(t)進(jìn)行平移(平移度為)后,在尺度因子a下與待分析信號(hào)x(t)做內(nèi)積,公式為
小 波 神 經(jīng) 網(wǎng) 絡(luò) (Wavelet Neural Network,WNN)是小波分析與神經(jīng)網(wǎng)絡(luò)理論相結(jié)合的產(chǎn)物,可概括為兩類:松散結(jié)合類以及緊密結(jié)合類。
松散結(jié)合類又稱小波與神經(jīng)網(wǎng)絡(luò)的無機(jī)式結(jié)合,它是一種以小波分析為基礎(chǔ)的信號(hào)預(yù)處理,處理后的信息再傳輸給神經(jīng)網(wǎng)絡(luò)進(jìn)行處理的一種方式。
緊密結(jié)合類又稱小波與神經(jīng)網(wǎng)絡(luò)的有機(jī)式結(jié)合,是目前研究小波神經(jīng)網(wǎng)絡(luò)廣泛采用的一種結(jié)構(gòu)形式。它的基本思想由Zhang Qinghua等人于1992年正式提出,即用小波函數(shù)來代替常規(guī)神經(jīng)網(wǎng)絡(luò)的隱含層函數(shù),同時(shí)相應(yīng)的輸入層到隱含層的權(quán)值及隱含層閾值分別由小波基函數(shù)的尺度參數(shù)和平移參數(shù)來代替。文中采用緊密結(jié)合類的小波神經(jīng)網(wǎng)絡(luò)。
由于三層結(jié)構(gòu)模型(輸入層,隱含層,輸出層)是解決單一非線性問題的最簡(jiǎn)單且最有效率的結(jié)構(gòu),且少于三層無法逼近非線性曲線,而多于三層又會(huì)大大增加復(fù)雜度和訓(xùn)練時(shí)間。因此,本文中小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型采用三層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),結(jié)構(gòu)模型如圖1所示。
圖1 小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型
根據(jù)需要,設(shè)定在輸入層中有n個(gè)輸入,即一次輸入含有n個(gè)元素的輸入序列,n表示預(yù)測(cè)序列值與它之前的相關(guān)度,或者稱相關(guān)步數(shù)。隱含層包含m個(gè)神經(jīng)元。輸出層有1個(gè)神經(jīng)元,輸出為第t+1個(gè)時(shí)間序列的預(yù)測(cè)值。其中w2ij表示從輸入層的第i個(gè)神經(jīng)元到隱含層的第j個(gè)神經(jīng)元之間的權(quán)值,w3jk表示第j個(gè)隱含層神經(jīng)元到輸出層神經(jīng)元之間權(quán)值。隱含層節(jié)點(diǎn)的傳遞函數(shù)φ為小波基函數(shù)。
在輸入信號(hào)序列為xi(i=1,2,…,k)時(shí),隱含層輸出計(jì)算公式為
式中:h(j)為隱含層第j個(gè)節(jié)點(diǎn)輸出值,wij為輸入層和隱含層的連接權(quán)值,bj為小波基函數(shù)的平移因子,aj為小波基函數(shù)的伸縮因子,hj為小波基函數(shù)。
小波基函數(shù)的選取有多種選擇,目前常用的母小波有Haar小波、Shannon小波、墨西哥帽小波和Morlet小波等,根據(jù)實(shí)際需要,本文采用國(guó)際常用的小波基函數(shù)Morlet母小波基函數(shù),數(shù)學(xué)公式為
函數(shù)圖形如圖2所示。
圖2 Morlet母小波基函數(shù)圖形
可以看出,小波神經(jīng)網(wǎng)絡(luò)輸出層的計(jì)算公式為
式中:wjk為隱含層到輸出層權(quán)值,h()j為第j個(gè)隱含層節(jié)點(diǎn)的輸出,m為隱含層節(jié)點(diǎn)數(shù)。
小波神經(jīng)網(wǎng)絡(luò)權(quán)值參數(shù)修正算法類似于BP神經(jīng)網(wǎng)絡(luò)權(quán)值修正算法,采用梯度修正法修正網(wǎng)絡(luò)的權(quán)值和小波基函數(shù)參數(shù),從而使小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出不斷逼近期望輸出。
小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法步驟如下:
1)初始化。隨機(jī)初始化伸縮因子、平移因子以及連接權(quán)重,并根據(jù)需要設(shè)置網(wǎng)絡(luò)學(xué)習(xí)速率。
2)樣本分類。把事先準(zhǔn)備好的樣本數(shù)據(jù)分為訓(xùn)練樣本和測(cè)試樣本,訓(xùn)練樣本用于訓(xùn)練網(wǎng)絡(luò),測(cè)試樣本用于測(cè)試網(wǎng)絡(luò)預(yù)測(cè)精度。
3)預(yù)測(cè)輸出。把訓(xùn)練樣本輸入網(wǎng)絡(luò),計(jì)算網(wǎng)絡(luò)預(yù)測(cè)輸出并計(jì)算網(wǎng)絡(luò)輸出和期望輸出的誤差e。
4)權(quán)值修正。根據(jù)誤差e修正網(wǎng)絡(luò)權(quán)值和小波函數(shù)參數(shù),使網(wǎng)絡(luò)預(yù)測(cè)值逼近期望值。
5)判斷算法是否結(jié)束,如若沒有,返回步驟3。
小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成后,用測(cè)試樣本對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)仿真,根據(jù)仿真的效果來評(píng)價(jià)網(wǎng)絡(luò)的性能。綜上所述,基于小波神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流量預(yù)測(cè)流程如圖3所示。
圖3 小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)流程
實(shí)驗(yàn)采用交通流數(shù)據(jù),運(yùn)用美國(guó)加州高速公路通行能力度量系統(tǒng)數(shù)據(jù)(Caltrans Performance Measurement System ,簡(jiǎn)稱PeMS)中數(shù)據(jù)庫(kù)第7區(qū)某檢測(cè)器2013-08-06~2013-08-09的交通數(shù)據(jù),數(shù)據(jù)采樣間隔為5min,數(shù)據(jù)總數(shù)量達(dá)到1 152。將搜集的數(shù)據(jù)進(jìn)行歸一化預(yù)處理,并將前3d的交通流量數(shù)據(jù)作為訓(xùn)練樣本,第4d作為測(cè)試樣本,即通過前3d的訓(xùn)練之后,對(duì)第4d的交通流量情況進(jìn)行預(yù)測(cè)。
短時(shí)交通流預(yù)測(cè)問題——時(shí)間序列預(yù)測(cè)問題,即用神經(jīng)網(wǎng)絡(luò)來擬合一個(gè)函數(shù),然后用這個(gè)函數(shù)求得某一點(diǎn)的未來值。如何根據(jù)不同對(duì)象的時(shí)間序列找到神經(jīng)網(wǎng)絡(luò)的輸入量維數(shù)m是建立預(yù)測(cè)模型的關(guān)鍵一步,這就是相空間重構(gòu)問題。
由于小波神經(jīng)網(wǎng)絡(luò)模型輸入為3維數(shù)據(jù),所以要把一維的時(shí)間序列轉(zhuǎn)換成3維的數(shù)據(jù)矩陣,本文采用時(shí)間延滯技術(shù),把一維的時(shí)間序列嵌入到m維空間中去,從時(shí)間序列中得到動(dòng)力系統(tǒng)相空間的幾何結(jié)構(gòu),只要得到延滯參數(shù)τ和嵌入維數(shù)m就可以確定預(yù)測(cè)模型的輸入向量,即小波神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)。利用原始數(shù)據(jù)經(jīng)過計(jì)算可以得到其延滯參數(shù)τ和嵌入維數(shù)m分別為24和3。
為了評(píng)價(jià)交通流量預(yù)測(cè)的效果,我們常用到的幾個(gè)評(píng)價(jià)指標(biāo)有平均相對(duì)誤差(Mean Relatively Error,MRE)、均方誤 差 (Mean Square Error ,MSE)和均等系數(shù)(Equalization Coefficient,EC,即擬合度)。本文引入以上幾種評(píng)價(jià)指標(biāo):
1)平均相對(duì)誤差
2)均方誤差
3)擬合度
式中:Yp(t)為預(yù)測(cè)的輸出,Yr(t)為實(shí)際的輸出。
MRE可以用來表征預(yù)測(cè)值與真實(shí)值偏離的程度。它的值越小說明預(yù)測(cè)值與實(shí)際值偏離越小,預(yù)測(cè)效果越好。MSE是用來反應(yīng)誤差分布情況的,它的值越小誤差分布就比較集中,預(yù)測(cè)效果就越好。EC值的大小用來表明預(yù)測(cè)值與真實(shí)值之間的擬合程度,它的值越大,說明曲線擬合程度越高,預(yù)測(cè)效果也越好。一般情況下,較好的預(yù)測(cè)其EC值應(yīng)大于0.85,若大于0.9則認(rèn)為是可用性較高的預(yù)測(cè)。
由于隱含層神經(jīng)元個(gè)數(shù)的確定直接關(guān)系到預(yù)測(cè)精度的高低,本文采用“拼湊法”來確定隱含層神經(jīng)元個(gè)數(shù)。雖然這種方法費(fèi)時(shí),但它是目前確定隱含層神經(jīng)元數(shù)最有效和簡(jiǎn)單的常用方法,以本文某次實(shí)驗(yàn)為例。測(cè)試網(wǎng)絡(luò)為傳統(tǒng)BP網(wǎng)絡(luò),訓(xùn)練次數(shù)為100,不同隱含層神經(jīng)元個(gè)數(shù)所產(chǎn)生的效果也不同,經(jīng)過測(cè)試,當(dāng)隱含層神經(jīng)元個(gè)數(shù)為8時(shí),預(yù)測(cè)網(wǎng)絡(luò)的各項(xiàng)指數(shù)最好,這時(shí)的網(wǎng)絡(luò)輸出與期望的輸出最為接近,所對(duì)應(yīng)的預(yù)測(cè)效果也就最好。
確定了隱含層神經(jīng)元個(gè)數(shù)之后,就可以用已經(jīng)確定好的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)去構(gòu)造仿真環(huán)境。先用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)測(cè)試,BP神經(jīng)網(wǎng)絡(luò)模型采用3-8-1結(jié)構(gòu),即輸入3個(gè)神經(jīng)元,隱含層8個(gè)神經(jīng)元,輸出1個(gè)神經(jīng)元。輸入層3個(gè)神經(jīng)元代表模型設(shè)定的相關(guān)度T=3,學(xué)習(xí)速率lr=0.01。訓(xùn)練目標(biāo)goal=0.007 5,先設(shè)定最大訓(xùn)練次數(shù)為100次。仿真軟件采用Matlab2010b,仿真結(jié)果如圖4、圖5所示。
圖4 訓(xùn)練100次時(shí)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程
圖5 訓(xùn)練100次時(shí)BP網(wǎng)絡(luò)的預(yù)測(cè)效果和誤差直方圖
此時(shí),BP網(wǎng)絡(luò)預(yù)測(cè)交通流量的性能指標(biāo)為:MSE=464.253 667 36,MAPE= 20.07%,EC=0.863 900 22。
使用小波神經(jīng)網(wǎng)絡(luò)在低訓(xùn)練次數(shù)環(huán)境中測(cè)試,網(wǎng)絡(luò)模型同樣采用3-8-1結(jié)構(gòu),權(quán)值更新學(xué)習(xí)速率lr1=0.01。小波基函數(shù)伸縮因子和平移因子的更新學(xué)習(xí)速率為lr2=0.001,最大訓(xùn)練次數(shù)為100次。仿真結(jié)果如圖6、圖7所示。
圖6 訓(xùn)練100次時(shí)小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程
圖7 訓(xùn)練100次時(shí)小波神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果和誤差直方圖
此時(shí),小波網(wǎng)絡(luò)預(yù)測(cè)交通流量的性能指標(biāo)為:MSE=257.249 918 13,MAPE= 12.57%,EC=0.924 819 86。
可以看出,傳統(tǒng)BP網(wǎng)絡(luò)在低訓(xùn)練次數(shù)(100次)的情況下對(duì)交通流量的預(yù)測(cè)效果不理想。在網(wǎng)絡(luò)訓(xùn)練中收斂較慢,訓(xùn)練100次還未達(dá)到預(yù)設(shè)的收斂值,并且預(yù)測(cè)相似度值(EC值)只有86.39%,達(dá)不到須大于90%預(yù)測(cè)精度要求,在上午10時(shí)左右存在著極大的預(yù)測(cè)誤差。而小波神經(jīng)網(wǎng)絡(luò)在低訓(xùn)練次數(shù)的情況下對(duì)交通流量的預(yù)測(cè)效果相比較于傳統(tǒng)的BP網(wǎng)絡(luò)有著壓倒性的優(yōu)勢(shì),網(wǎng)絡(luò)訓(xùn)練過程中收斂極快,在訓(xùn)練次數(shù)為10次的情況下就基本達(dá)到了所預(yù)期的效果,預(yù)測(cè)相似度更是高達(dá)92.48%。然而,對(duì)于小波神經(jīng)網(wǎng)絡(luò)而言,低訓(xùn)練次數(shù)所帶來的問題就是不穩(wěn)定,訓(xùn)練次數(shù)達(dá)到62次左右的時(shí)候網(wǎng)絡(luò)發(fā)生了一次震蕩。這對(duì)于實(shí)際應(yīng)用中的預(yù)測(cè)是不利的。
為了克服上述問題,解決方法就是增加訓(xùn)練次數(shù)來增加網(wǎng)絡(luò)的冗余性和容錯(cuò)率,訓(xùn)練次數(shù)為500次時(shí),再次實(shí)驗(yàn)BP網(wǎng)絡(luò)和小波神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)預(yù)測(cè)性能。為了便于比較,兩組對(duì)于短時(shí)交通流量的預(yù)測(cè)實(shí)驗(yàn),及二者的性能指標(biāo)對(duì)比如表1、表2所示。
表1 低訓(xùn)練次數(shù)下BP網(wǎng)絡(luò)與小波神經(jīng)網(wǎng)絡(luò)對(duì)于短時(shí)交通流量的預(yù)測(cè)的性能指標(biāo)
表2 高訓(xùn)練次數(shù)下BP網(wǎng)絡(luò)與小波神經(jīng)網(wǎng)絡(luò)對(duì)于短時(shí)交通流量的預(yù)測(cè)的性能指標(biāo)
本文提出了將小波分析與神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法來對(duì)短時(shí)交通流進(jìn)行預(yù)測(cè),并把預(yù)測(cè)結(jié)果與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果相比較,發(fā)現(xiàn)預(yù)測(cè)精度不僅有了極大的提高,而且收斂的速度也相較于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)有著無可比擬的優(yōu)勢(shì)。由此可知,使用小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)短時(shí)交通流量更為合適。
[1]李波.基于小波分析和遺傳神經(jīng)網(wǎng)絡(luò)的短時(shí)城市交通流量預(yù)測(cè)研究[D].北京:北京交通大學(xué),2012.
[2]姚智勝.基于實(shí)時(shí)數(shù)據(jù)的道路網(wǎng)短時(shí)交通流預(yù)測(cè)理論與方法研究[D].北京:北京交通大學(xué),2007.
[3]謝忠玉,韓桂華,初紅霞,等,兩種短時(shí)交通流混沌預(yù)測(cè)方法分析[J].交通科技與經(jīng)濟(jì),2011,13(4):110-112.
[4]陳振偉,郭拯危.小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的仿真實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2005,25(6):147-150.
[5]魏立龍,許東方,孫浩,等.基于遺傳算法的小波神經(jīng)網(wǎng)絡(luò)在股票預(yù)測(cè)中的應(yīng)用[J].信息與電腦,2011,5(5):130-131.
[6]魏文,徐立建,龔炯,等,基于混沌理論和PSO神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流預(yù)測(cè)[J].物流工程與管理,2010,32(2):75-77.
[7]史峰,王小川.MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2010.
[8]張德豐.MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2009.
[9]李萬慶,張金水,孟文清,等.基于小波神經(jīng)網(wǎng)絡(luò)的房地產(chǎn)價(jià)格指數(shù)預(yù)測(cè)研究[J].河北工程大學(xué)學(xué)報(bào),2008,25(1):74-76.
[10]鄭長(zhǎng)江,陳田星.基于小波神經(jīng)網(wǎng)絡(luò)的路段短時(shí)交通流預(yù)測(cè)[J].大連交通大學(xué)學(xué)報(bào),2012,33(5):50-53.