摘 要:分析了“緊致型”小波神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和特點。在利用神經(jīng)網(wǎng)絡(luò)分析時間序列預(yù)測方法的基礎(chǔ)上,用方差分析的統(tǒng)計方法確定樣本序列的長度,從而有效地確定神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù)。對太陽黑子年平均活動序列進行了訓(xùn)練和預(yù)測,并從網(wǎng)絡(luò)本身的內(nèi)在制約因素出發(fā)比較了小波網(wǎng)絡(luò)和BP網(wǎng)絡(luò)對時間序列進行訓(xùn)練和預(yù)測的差異,分析了兩者出現(xiàn)差異的本質(zhì)原因。將多分辨率的小波與神經(jīng)網(wǎng)絡(luò)的非線性逼近功能相結(jié)合的方法發(fā)揮了各自優(yōu)勢,明顯提高了預(yù)測精度。
關(guān)鍵詞:小波神經(jīng)網(wǎng)絡(luò); 方差分析; 時間序列; 預(yù)測
中圖分類號:TP274 文獻標志碼:A 文章編號:1001-3695(2008)08-2366-03
Research about time-serial prediction based on tight wavelet neural-net
LUO Hang, WANG Hou-jun, LONG Bing
(School of Automation Engineering, University of Electronic Science Technology of China, Chengdu 610054, China)
Abstract:This paper analyzed the characteristic and construction of wavelet neural-net called tight type. At the same time, it decided the length of sample serial by using a kind of statistic method called variance analysis so that the knot number of input layer could be efficiently decided, which was based on analyzing time-serial prediction by means of neural net. It trained and predicted the time-serial of sunspot’s annual average activity and compared the difference of training and prediction to the time-serial between wavelet-net and BP-net from net itself restriction. Accordingly, analyzed the cause of that difference. The method of combining wavelet’s multi-discrimination with neural-net’s non-linear approaching function exerted their advantages respectively. Thus, the prediction precision was obviously enhanced.
Key words:wavelet neural-net; variance analysis; time-serial; predict
從統(tǒng)計意義上講,時間序列預(yù)測屬于條件期望[1],這涉及到求解當前樣本和過去樣本的聯(lián)合概率。然而由于條件期望的非線性致使其求解面臨非常大的數(shù)學(xué)困難,以這樣的方法建立預(yù)測模型是次優(yōu)的[2]。正如建立在時間序列平穩(wěn)假設(shè)基礎(chǔ)上的傳統(tǒng)AR預(yù)測模型、ARMA預(yù)測模型和Markov鏈等,它們對于非平穩(wěn)信號無法取得很好的預(yù)測效果[3]。一種較好的解決辦法是利用神經(jīng)網(wǎng)絡(luò)的非參數(shù)思想來達到預(yù)測。由于神經(jīng)網(wǎng)絡(luò)基于非統(tǒng)計假設(shè)的訓(xùn)練,它提供了解決復(fù)雜問題的途徑[4]。大量研究表明,神經(jīng)網(wǎng)絡(luò)可以通過短時加載訓(xùn)練學(xué)習(xí)樣本來解決非線性預(yù)測問題[5~7]。然而,神經(jīng)網(wǎng)絡(luò)由于自身訓(xùn)練的學(xué)習(xí)率、訓(xùn)練精度、隱層節(jié)點數(shù)選取和初始權(quán)值的設(shè)置等諸多問題,導(dǎo)致其對多成分時間序列預(yù)測的誤差較大。
基于上述背景,產(chǎn)生了一種將小波變換的時頻局域化性質(zhì)與人工神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)功能結(jié)合在一起的前饋型監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)[8]——小波神經(jīng)網(wǎng)絡(luò)。從構(gòu)成特點上看,一類被稱為“緊致型”的小波網(wǎng)絡(luò)用小波基函數(shù)取代了隱含層的Sigmoid激活函數(shù)。與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)相比,由于伸縮和平移因子都可以作為調(diào)節(jié)參數(shù)的小波函數(shù)具有多分辨率、局部化和正交化功能,一方面可獨立計算網(wǎng)絡(luò)的權(quán)值,使網(wǎng)絡(luò)具有更靈活有效的逼近能力;另一方面由于小波的緊支性,使網(wǎng)絡(luò)提取含有急劇變化和不連續(xù)信號細節(jié)的學(xué)習(xí)能力顯著提升。在此基礎(chǔ)上可以對某些非平穩(wěn)時間序列進行更精確地預(yù)測[9]。
1 小波分解的時頻局部化原理
1.1 小波分析的理論
運用小波實現(xiàn)信號多層分解的實質(zhì)是在各個確定的尺度上,將原信號與某一具有時頻域局部化功能的小波函數(shù)進行比較,以提取該區(qū)域上的小波系數(shù)。也就是說,將一個時頻信號表示為一系列不同頻率、不同延遲的簡單標準信號的疊加。
小波分析的核心是多分辨率,它對時域和頻域同時具有良好的局部化性質(zhì),因而可將分析的重點聚焦到信號的任意細節(jié),以揭示非線性信號不同層次上的詳細結(jié)構(gòu)。對于某一函數(shù)ψ(t)∈L2(R),若其Fourier變換ψ(t)滿足條件:
Cψ=∫∞-∞|ψ(ω)|2/|ε|dω<∞(1)
則稱ψ(t)為容許小波母函數(shù),而稱ψa,b(t)=1/|a|1/2ψ[(t-b)/a]為小波基函數(shù)。在實際運用中,連續(xù)小波必須加以離散化。離散小波函數(shù)為ψj,k(t)=a0-j/2ψ(a-j0t-kb0),離散化小波變換系數(shù)為
Cj,k=∫∞-∞f(t)ψj,k(t)dt(2)
用于數(shù)值計算的重構(gòu)公式為
f(t)=C∑∞j=-∞∑∞k=-∞Cj,kψj,k(t)(3)
1.2 多分辨分析
多分辯分析的子空間V0可以用有限個子空間來逼近,即
V0=VNWNWN-1…W2W1(4)
信號f(x)分解過程是從j到j-1尺度的逐步分解過程。運用多分辨分析方法對其進行小波分解與重構(gòu),是將其分解成低頻成分c1(t)和高頻成分d1(t),然后再將低頻成分c1(t)進一步分解,如此重復(fù)就可得到任意尺度上的高頻成分和低頻成分。采用Mallat塔式算法[10],有
cj-1,k=∑mh(m-2k)cj,m(5)
dj-1,k=∑mg(m-2k)dj,m(6)
小波系數(shù)的重構(gòu)形式可表示為
cj,k=∑mcj-1,mh(m-2k)+∑mdj-1,mg(m-2k)(7)
如果序列S做三層分解與重構(gòu)(圖1),得到S=A3+D3+D2+D1。各頻率系數(shù)的長度如圖2所示。
2 基于小波神經(jīng)網(wǎng)絡(luò)的預(yù)測原理
2.1 序列季節(jié)性長度的確定
對于時間序列{x(t)},首先考察其季節(jié)影響,其原因是,神經(jīng)網(wǎng)絡(luò)訓(xùn)練的實質(zhì)是將序列按某種規(guī)律進行自適應(yīng)學(xué)習(xí)分類,周期性季節(jié)因子的確定實際上是初步確定了分類的規(guī)律,避免了選擇訓(xùn)練樣本長度的盲目性;季節(jié)因子的確定使網(wǎng)絡(luò)能夠更好地進行非線性映射,從而間接地提高網(wǎng)絡(luò)訓(xùn)練和預(yù)測能力。用方差分析判斷法[11]確定時間序列季節(jié)的長度k:在序列{x(t)}中連續(xù)取m×k個數(shù)據(jù),將其分成m行k列的矩陣Y,計算總平方和ST、組內(nèi)平方和SE及組間平方和SA。
ST=∑kj=1∑mi=1(yij-y)2=∑kj=1SSj-(∑kj=1Sj)2/n(8)
SE=∑kj=1∑mi=1(yij-yj)2=∑kj=1SSj-∑kj=1S2j/m(9)
SA=ST-SE(10)
其中:yij是矩陣Y中第i行第j列位置上的元素;y=1/n∑kj=1∑mi=1yij,yj=1/m∑mi=1yij;Sj=∑mi=1yij,SSj=∑mi=1yij2。運用F統(tǒng)計分布,有
F=(SA/(k-1))/(SE/n-k)~F(k-1,n-k)(11)
給定顯著性水平α,查表獲取臨界值Fα(k-1,n-k),當F>Fα(k-1,n-k)時,則各組數(shù)據(jù)的均值有顯著差異,認為序列有季節(jié)影響存在,k為季節(jié)長度;反之,k不是季節(jié)長度。
2.2 “緊致型”小波神經(jīng)網(wǎng)絡(luò)
2.2.1 結(jié)構(gòu)
選擇滿足框架條件的小波母函數(shù)Φ(t),以相應(yīng)的基函數(shù)Φa,b(t)=Φ(t-b/a)作為神經(jīng)網(wǎng)絡(luò)隱層的激活函數(shù)。采用小波基函數(shù)的線性疊加來實現(xiàn)對信號的表述,則小波神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)[12],如圖3所示。
2.2.2 網(wǎng)絡(luò)學(xué)習(xí)方法
將第k個樣本輸入到網(wǎng)絡(luò)進行訓(xùn)練,則輸出層的第j個節(jié)點輸出為
y∧k(j)=∑pt=1vjtΦ[(∑ni=1wtixk(i)-bt)/at](12)
其中:j=1,2,…,m,以yk(j)表示相應(yīng)的訓(xùn)練目標,則網(wǎng)絡(luò)的指標函數(shù)為
Ek=1/2∑mj=1[yk(j)-y∧k(j)]2(13)
采用梯度下降法確定尺度因子、平移因子和權(quán)值的誤差,有
Ek/vjt=-Φ[(∑ni=1wtixk(i)-bt)/at]
[yk(j)-∑pi=1vjtΦ[(∑ni=1wtixk(i)-bt)/at)(14)
Ek/wti=-xk(i)/atΦ′[(∑ni=1wtixk(i)-bt)/at]
∑mj=1vjt[yk(j)-∑pt=1vjtΦ((∑ni=1tixk(i)-bt)/at)](15)
Ek/bt=1/atΦ′[(∑ni=1wtixk(i)-bt)/at]
∑mj=1vjt[yk(j)-∑pt=1vjtΦ((∑ni=1wtixk(i)-bt)/at)](16)
Ek/at=-(∑ni=1wtixk(i)-bt)/a2tΦ′[(∑ni=1wtixk(i)-bt)/at]
∑mj=1vjt[yk(j)-∑pt=1vjtΦ((∑ni=1vtixk(i)-bt)/at)](17)
設(shè)置學(xué)習(xí)率η和動量因子α,以Q代表v、w、b和a因子,則它們的更新為
Qjt(l+1)=Qjt(l)-ηEk/Qjt+α[Qjt(l)-Qjt(l-1)](18)
當網(wǎng)絡(luò)誤差能量函數(shù)MSE小于給定的精度或?qū)W習(xí)步數(shù)達到給定的最大訓(xùn)練步數(shù)時,則停止網(wǎng)絡(luò)訓(xùn)練。
2.2.3 訓(xùn)練和預(yù)測方法
對時間序列進行加窗(窗口的長度為序列的季節(jié)長度),逐次移動窗口(每次移動一個數(shù)據(jù)位置),用設(shè)置好的小波神經(jīng)網(wǎng)絡(luò)依次對窗口內(nèi)的數(shù)據(jù)進行訓(xùn)練并預(yù)測:根據(jù)已確定的季節(jié)長度k,從序列的第一個數(shù)據(jù)開始依次取k個數(shù)據(jù),作為訓(xùn)練樣本,第k+1個數(shù)據(jù)作為訓(xùn)練目標;然后將時間窗口向后移動一位,從序列的第二個數(shù)據(jù)開始用相同的方法選取訓(xùn)練樣本和訓(xùn)練目標,直到選定足夠多的訓(xùn)練樣本和目標。網(wǎng)絡(luò)訓(xùn)練完畢后,用后續(xù)的序列進行預(yù)測。故神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點數(shù)為k,輸出層節(jié)點數(shù)為1,在綜合考慮訓(xùn)練速度和精度的情況下,采用試錯法[13]確定隱層節(jié)點數(shù)。
3 預(yù)測實例
年平均太陽黑子活動數(shù)據(jù)是被公認為最具有代表性的非線性、非高斯分布、非平穩(wěn)的時間序列,是用于比較和評判統(tǒng)計學(xué)模型和預(yù)測方法的典型數(shù)據(jù)[14]。本文以1700以來的太陽黑子年平均變化的部分數(shù)據(jù)(歸一化)為研究對象。
3.1 季節(jié)長度K的確定
用方差分析法對1700—1769年的70個數(shù)據(jù)進行計算,確定季節(jié)長度k,利用已知數(shù)據(jù)進行循環(huán)選擇,得到F=(SA/(10-1))/(SE/(70-10))=3.032 5;在顯著性水平α=0.05的條件下,得到F0.05(9,60)=2.04,顯然,F>F0.05(9,60),故太陽黑子年平均活動存在季節(jié)的影響,季節(jié)長度k=10。
3.2 網(wǎng)絡(luò)參數(shù)、樣本和目標的選取
經(jīng)過試驗,隱層節(jié)點數(shù)設(shè)置為80,輸出層節(jié)點數(shù)為1,學(xué)習(xí)速率為0.2,動量因子設(shè)為0.9,最大訓(xùn)練次數(shù)為1 000,網(wǎng)絡(luò)的均方誤差設(shè)為0.001。按照前述預(yù)測方法選擇50個訓(xùn)練樣本,測試樣本的個數(shù)為20個,每個樣本的長度為10(表1、2)。
3.3 預(yù)測結(jié)果
分別選用Morlet小波、高斯小波和墨西哥草帽小波作為母函數(shù)Φ(t)[10],訓(xùn)練和預(yù)測結(jié)果分別如圖4~6所示(豎線左邊為訓(xùn)練結(jié)果,右邊為預(yù)測結(jié)果)。Morlet小波神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和的預(yù)測結(jié)果如圖7、8所示。表3和4分別列出了兩種方式下的訓(xùn)練時間和預(yù)測誤差的均方差。
表1 訓(xùn)練樣本和目標的選取訓(xùn)練樣本訓(xùn)練目標x1700,x1701,x1702,…,x1709x1710x1701,x1702,x1703,…,x1710x1711x1749,x1750,x1751,…,x1758x1759表2 測試樣本和預(yù)測目標的選取測試樣本預(yù)測目標x1750,x1751,x1752,…,x1759x^1760x1751,x1752,x1753,…,x1760x^1761x1869,x1870,x1871,…,x1878x^1879表3 Morlet小波網(wǎng)絡(luò)和BP網(wǎng)絡(luò)的運行時間/s實驗次數(shù)12345 Wavelet-net3.394.154.224.525.61BP-net9.627.589.118.7710.11實驗次數(shù)678910Wavelet-net4.826.014.414.494.21BP-net9.9710.7910.419.819.06
表4 Morlet小波網(wǎng)絡(luò)和BP網(wǎng)絡(luò)預(yù)測誤差的均方差(×10-2)實驗次數(shù)12345 Wavelet-net0.750.74 0.78 0.720.71 BP-net2.111.33 1.64 1.1710.34 實驗次數(shù)6789 10Wavelet-net 0.730.71 0.81 0.72 0.82BP-net5.031.12 0.77 1.72 7.22
3.4 分析與結(jié)論
比較三類小波網(wǎng)絡(luò)的訓(xùn)練和預(yù)測,Morlet小波網(wǎng)絡(luò)的訓(xùn)練和預(yù)測優(yōu)于后兩者。可見預(yù)測保持了該序列總體變化的基本特征。
從Morlet小波網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果來看,前者的預(yù)測值能夠較好地擬合真實值。而用傳統(tǒng)BP網(wǎng)絡(luò)直接預(yù)測,盡管預(yù)測的結(jié)果能夠大體擬合真實值,但它在細節(jié)上幾乎不能跟蹤真實序列的變化,因而從預(yù)測效果來看(與前者相比)它是粗糙的。究其原因,小波網(wǎng)絡(luò)以多分辨率的小波基函數(shù)代替了常規(guī)的Sigmoid激活函數(shù),通過調(diào)節(jié)小波基函數(shù)的平移和伸縮因子,大大增加了網(wǎng)絡(luò)的可調(diào)參數(shù),使網(wǎng)絡(luò)的容錯能力優(yōu)于普通網(wǎng)絡(luò),從而能夠較為精確地訓(xùn)練和預(yù)測序列。從兩者運行時間來看,Morlet小波網(wǎng)絡(luò)顯示了其訓(xùn)練快速的顯著特點。這是顯然的,因為“緊致型”小波神經(jīng)網(wǎng)絡(luò)的指標函數(shù)對于權(quán)值而言是一個凸函數(shù),不存在局部極小值,收斂速度較快;而BP神經(jīng)網(wǎng)絡(luò)的代價函數(shù)所對應(yīng)的連接權(quán)空間是多極小值的超曲面,在最速下降法中求極小值則容易陷入局部極小值,故網(wǎng)絡(luò)訓(xùn)練和預(yù)測表現(xiàn)出較大可能的粗糙性。
4 結(jié)束語
本文在用神經(jīng)網(wǎng)絡(luò)分析時間序列預(yù)測方法的基礎(chǔ)上,首次用方差分析的統(tǒng)計方法考察了序列的季節(jié)性因子。這種思路的最大優(yōu)勢在于確定了序列的季節(jié)長度,以此關(guān)鍵性地確定樣本序列的長度,從而確定神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù)。本文在運用該模型對太陽黑子年平均活動序列進行訓(xùn)練和預(yù)測時,從網(wǎng)絡(luò)本身的內(nèi)在制約因素出發(fā)比較了小波網(wǎng)絡(luò)和BP網(wǎng)絡(luò)對時間序列進行訓(xùn)練和預(yù)測的差異,分析了兩者出現(xiàn)差異的本質(zhì)原因。
參考文獻:
[1]RIZVI S A, WANG Lin-cheng , NASRABADI N M. Neural-network architectures for vector prediction[J]. Proc of IEEE, 1996,84(10):1513-1528.
[2]MELLIT A, BENGHANEM M, KALOGIROU S A. An adaptive wavelet-network model for forecasting daily total solar-radiation[J]. Applied Energy ,2006, 83(7):705-722.
[3]GUESSOUM A, BOUBKEUR S, MAAFI A. A global-irradiation model using radial basis function neural-network[C]// AAM Renewable energy, energy efficiency policy and the environment. Proc of the 5th WREC. Oxford: Elsevier Sciences Ltd,1998:332-336.
[4]KALOGIROU S A. Artificial neural-networks in renewable-energy systems applications, aveview[J]. Renewable and Sustainable Energy Reviews, 2001,5(4):373-401.
[5]HIPERT H S, PEDREIRA C E, SOUZA R C. Neural-networks for short term load forecasting: a review and evaluation[J].IEEE Trans on Power Systems,2001,16(1):44-55.
[6]SENJYU T, TAKARA H, UEZATA K, et al. One-hour-ahead load forecasting using neural network[J]. IEEE Trans on Power Systems, 2002,17(1):113-118.
[7]CHOW T W S, LEUNG C T. Neural networks based short term load forecasting using weather compensation[J].IEEE Trans on Power Systems, 1996,11(4):1736-1742.
[8]ZHANG Qing-hua, ALBERT B. Wavelet networks[J]. IEEE Trans on Neural Networks,1992,3(6):889-898.
[9]SOLTANI S. On the use of the wavelet decomposition for time series prediction[J]. Neurocomputing,2002,48(1):267-277.
[10]張賢達.現(xiàn)代信號處理[M].北京:清華大學(xué)出版社,2003.
[11]張桂喜,馬立平,等.預(yù)測與決策概論[M].北京:首都經(jīng)濟貿(mào)易大學(xué)出版社,2006.
[12]崔萬照,朱長純,劉君華.薄膜場發(fā)射開啟電場的小波神經(jīng)網(wǎng)絡(luò)預(yù)測模型研究[J].物理學(xué)報,2004,53(5):1583-1587.
[13]ROMAN H , SUNIKUMAR N. Multivariate modeling of water resources time series using artificial neural network[J].Hydrological Sciences Journal, 1995,40(2):145-164.
[14]徐科,徐金梧,班曉娟,等.基于小波分解的某些非平穩(wěn)時間序列預(yù)測方法[J].電子學(xué)報,2001,29(4):566-568.
[15]陳柳.小波分析和神經(jīng)網(wǎng)絡(luò)應(yīng)用于大氣污染預(yù)測的研究[D]. 西安:西安建筑科技大學(xué),2006.
[16]焦李成.神經(jīng)網(wǎng)絡(luò)的應(yīng)用與實現(xiàn)[M]. 西安:西安電子科技大學(xué)出版社,1996.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文