劉修恒,呂 鑫,戚榮志,劉 璇,馬鴻旭
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院 江蘇 南京 211100)
基于小波和過(guò)程神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)模型
劉修恒,呂鑫,戚榮志,劉璇,馬鴻旭
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院 江蘇 南京211100)
提出基于過(guò)程神經(jīng)網(wǎng)絡(luò)和自回歸模型的組合預(yù)測(cè)方案。首先,采用二進(jìn)正交小波變換對(duì)原始時(shí)間序列分解和重構(gòu),分離出原始序列中的高頻部分和低頻部分;然后對(duì)低頻部分構(gòu)建過(guò)程神經(jīng)網(wǎng)絡(luò)模型,對(duì)低頻部分采用自回歸模型;最后將兩種模型的預(yù)測(cè)值疊加,得到原序列的預(yù)測(cè)值。
小波分解;非平穩(wěn)時(shí)間序列;過(guò)程神經(jīng)網(wǎng)絡(luò);自回歸;預(yù)測(cè)
在現(xiàn)實(shí)生活中,非平穩(wěn)和非線性的時(shí)間序列隨處可見(jiàn),我們并不清楚動(dòng)力系統(tǒng)變量是如何相互作用的,也不清楚它們?nèi)绾沃湎到y(tǒng)的演化的,但這些變量的時(shí)頻性是不相同的。模型的好壞對(duì)于動(dòng)力學(xué)系統(tǒng)影響巨大,因?yàn)樗兄匾睦碚撘饬x和很大的應(yīng)用情景。
現(xiàn)如今,世界各地的專家和學(xué)者對(duì)時(shí)間序列的預(yù)測(cè)和辨識(shí)從不同方面進(jìn)行研究。對(duì)于傳統(tǒng)基于統(tǒng)計(jì)學(xué)的方法,其方法與結(jié)論的性能取決于樣本的數(shù)量,然而實(shí)際情況中,樣本的數(shù)量往往是有限的,這就使得傳統(tǒng)基于統(tǒng)計(jì)學(xué)的方法無(wú)法取得很多的效果。由于強(qiáng)大的函數(shù)逼近能力與學(xué)習(xí)能力,人工神經(jīng)網(wǎng)絡(luò)較多地應(yīng)用到時(shí)間序列預(yù)測(cè)中,但是因?yàn)檩斎氲耐剿矔r(shí)性的特點(diǎn),因此人工神經(jīng)網(wǎng)絡(luò)對(duì)于序列中真實(shí)存在的時(shí)間累積效應(yīng)難以表達(dá)。過(guò)程神經(jīng)網(wǎng)絡(luò),由于其在傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)之上增加了一個(gè)時(shí)間聚合運(yùn)算算子,因此過(guò)程神經(jīng)網(wǎng)絡(luò)可以充分體現(xiàn)序列中的時(shí)間累積效應(yīng)。
如何提取原始序列中的低頻和高頻信息并建立模型和序列中的時(shí)間累積效應(yīng)如何表達(dá)是有趨向性均值的非平穩(wěn)時(shí)間序列預(yù)測(cè)的重要問(wèn)題。二進(jìn)正交小波對(duì)這種時(shí)間序列有著較好的適應(yīng)性[2,8-9],對(duì)低頻的分離作用及有著較好應(yīng)用能力的過(guò)程神經(jīng)網(wǎng)絡(luò),為了解決這類預(yù)測(cè)問(wèn)題,文中提出基于小波變換的過(guò)程神經(jīng)網(wǎng)絡(luò)和自回歸的組合預(yù)測(cè)模型。
1.1過(guò)程神經(jīng)網(wǎng)絡(luò)
過(guò)程神經(jīng)網(wǎng)絡(luò),其在網(wǎng)絡(luò)結(jié)構(gòu)上與傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)類似,時(shí)變函數(shù)是兩種網(wǎng)絡(luò)的區(qū)別。由于在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上多了時(shí)間聚合算子,因此過(guò)程神經(jīng)網(wǎng)絡(luò)能充分體現(xiàn)原始序列中實(shí)際存在的時(shí)間累積效應(yīng)。
1.1.1過(guò)程神經(jīng)元
聚合、激勵(lì)、加權(quán)組成了過(guò)程神經(jīng)元,圖1是其結(jié)構(gòu)圖。對(duì)于過(guò)程神經(jīng)元來(lái)說(shuō),其輸入和權(quán)皆為時(shí)變函數(shù),這就使得其不僅有空間上的聚合,還有對(duì)時(shí)間的聚合。
圖1 過(guò)程神經(jīng)元Fig.1 Process neural
1.1.2過(guò)程神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖2為具有一個(gè)隱層的過(guò)程神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖。其中隱層是有過(guò)程神經(jīng)元組成。
圖2 3層過(guò)程神經(jīng)元網(wǎng)絡(luò)Fig.2 Three layer process neural networks
網(wǎng)絡(luò)輸出:
其中,wij(t)是第一層(輸入層)的第i個(gè)神經(jīng)元到第二層(隱層)的第j個(gè)神經(jīng)元的權(quán)函數(shù),vj是第二層(隱層)第j個(gè)神經(jīng)元到第三層(輸出層)神經(jīng)元的連接權(quán),τ、θj分別是輸出層和隱層的閾值,f(·)、g(·)分別是隱層、輸入層的激勵(lì)函數(shù),[0,T]為采樣間隔。取,g(x)=x,τ=0,網(wǎng)絡(luò)輸出變?yōu)?/p>
1.1.3時(shí)變函數(shù)的展開(kāi)
過(guò)程神經(jīng)網(wǎng)絡(luò)權(quán)值及輸入皆為時(shí)序函數(shù),取正交基函數(shù)為{d1(t),d2(t),…,dL(t)},此正交基可以為小波基函數(shù),三角基函數(shù)等.將時(shí)變函數(shù)輸入和權(quán)按照一定的精度要求在此選擇的正交基上進(jìn)行有限展開(kāi),得到,,有
則輸出變?yōu)?/p>
取樣本:X(t)={x1(t),x2(t),…,xn(t),d},則其誤差函數(shù):因此運(yùn)算得到了簡(jiǎn)化,其中參數(shù)、vj、θj都是定量值,并且以上參數(shù)是輸出y和誤差函數(shù)E的自變量。
1.2二進(jìn)正交小波變換的Mallat算法
1.2.1分解算法
若將設(shè)為10原始信號(hào),則由小波變換的Mallat分解算法,有:
其中:G和H分別為高通濾波器和低通濾波器;1j和hj為原始信號(hào)在分辨率2-j下的低頻信息和高頻信息;最大的層數(shù)為J。最終原始信號(hào)分解為h1,h1,h3,…,hJ和1J。
因?yàn)樵撔〔ǚ纸獠捎枚槿〉男问剑沟妹看蔚姆纸?,信?hào)的長(zhǎng)度就會(huì)減少一半,但是最后的輸出長(zhǎng)度和原始信號(hào)長(zhǎng)度一致,而且信號(hào)長(zhǎng)度的減少對(duì)于預(yù)測(cè)來(lái)說(shuō)是不精確的,因此需要采用小波重構(gòu)算法進(jìn)行重構(gòu)。
1.2.2重構(gòu)算法
通過(guò)上一步,使得誤差函數(shù)公式中的時(shí)序變化量沒(méi)有了,
其中:H*和G*是對(duì)偶算子;j=J-1,J-2,….,0。
對(duì)小波Mallat分解后的信號(hào)利用式(4)重構(gòu)采,這樣信號(hào)個(gè)數(shù)可以增加。對(duì)h1,h2,h3,…,hJ和1J分別進(jìn)行重構(gòu),得到H1,H2,H3,…,HJ和LJ,有
其中:H1:{h1,1,h1,2,…},…,HJ:{h1,1,h1,2,…}為重構(gòu)高頻信號(hào);LJ:{1J,1,1J,2,…}為重構(gòu)低頻信號(hào)。
1.3基于Mallat算法的PNN-AR預(yù)測(cè)方法
采用二進(jìn)正交小波變換對(duì)原始時(shí)間序列分解和重構(gòu),分離出原始序列中的高頻部分和低頻部分;然后對(duì)低頻部分構(gòu)建過(guò)程神經(jīng)網(wǎng)絡(luò)模型,對(duì)低頻部分采用自回歸模型;最后將兩種模型的預(yù)測(cè)值疊加,得到原序列的預(yù)測(cè)值。預(yù)測(cè)模型框架如圖3所示。
圖3 基于Mallat算法的Process-AR預(yù)測(cè)框架Fig.3 Process-AR prediction framework based on Mallat algorithm
令Xt:{X1,X2,…}為原始時(shí)間序列,對(duì)其進(jìn)行小波Mallat分解以及對(duì)各層分解信號(hào)進(jìn)行重構(gòu),得到
其中:H1:{h1,1,h1,2,…},…,HN:{hN,1,hN,2,…}為重構(gòu)高頻信號(hào);LN:{1N,1,1N,2,…}為重構(gòu)低頻信號(hào)。有:
若已知{ti|i≤M}時(shí)刻的Xi值,用其來(lái)預(yù)測(cè)k步以后的值,則需要解XM+k,即
由于H1,H1,H3…HN可近似被當(dāng)成平穩(wěn)的時(shí)間序列,可分別對(duì)其建立 AR(p)模型,并對(duì)h1,M+k,h2,M+k,…,hh,M+k進(jìn)行預(yù)測(cè)。其預(yù)測(cè)步驟如下:
1)對(duì)Hj建立自回歸模型AR(p),根據(jù)已有的h*j,M+k的值對(duì)模型的參數(shù)進(jìn)行估計(jì),其中,1≤j≤N,i≤M;
2)檢驗(yàn)上述模型的適用性;
3)利用適用性最好的AR(p)進(jìn)行預(yù)測(cè),得到hj,M+k的預(yù)測(cè)值
由于低頻信號(hào)LN具有長(zhǎng)期趨勢(shì)和非線性的特點(diǎn),可以利用過(guò)程神經(jīng)網(wǎng)絡(luò)對(duì)低頻信號(hào)進(jìn)行建立預(yù)測(cè)模型。根據(jù)上述過(guò)程神經(jīng)網(wǎng)絡(luò)原理,其具體步驟如下:
1)對(duì)網(wǎng)絡(luò)的層數(shù)、各層神經(jīng)元的個(gè)數(shù)進(jìn)行設(shè)定,即確定網(wǎng)絡(luò)的物理結(jié)構(gòu);
2)對(duì)網(wǎng)絡(luò)各層的激勵(lì)函數(shù)進(jìn)行確定;
3)根據(jù)時(shí)間序列數(shù)據(jù)的特點(diǎn)選擇一個(gè)合適的正交基函數(shù)θj,1=1,2,…,L,同時(shí)設(shè)定其個(gè)數(shù);
4)根據(jù)選定的正交基函數(shù)展開(kāi)所有樣本
5)給網(wǎng)絡(luò)參數(shù)ε、s=0、θj賦于初始值(i=1,2,…,n;j=1,2,…,m;1=1,2,…,L)
6)對(duì)誤差精度ε、最大迭代次數(shù)M,累積迭代次數(shù)s=0,學(xué)習(xí)速率初始值η進(jìn)行指定
7)對(duì)所有樣本都按照如下步驟進(jìn)行操作:
①取樣本集中的樣本1=1,2,…,L,從而可以得到該樣本內(nèi)元素Li(t),i=1,2,…,n在正交基函數(shù)上的展開(kāi)系數(shù)a1i,1= 1,2,…,L;
②利用式(1)、(2)計(jì)算輸出y以及誤差函數(shù)E的值;
8)當(dāng)E<ε或s>M時(shí)轉(zhuǎn)9),否則轉(zhuǎn)7)。
9)輸出學(xué)習(xí)結(jié)果,結(jié)束。
水文數(shù)據(jù)是一種用于判別和比較預(yù)測(cè)方法以及具有趨向性特點(diǎn)的非平穩(wěn)的時(shí)間序列,如圖4所示。利用六合水庫(kù)的日水位數(shù)據(jù)來(lái)對(duì)文中提出的預(yù)測(cè)模型進(jìn)行驗(yàn)證,并將其與單純的過(guò)程神經(jīng)網(wǎng)絡(luò)模型比較。首先對(duì)原始序列利用db4小波進(jìn)行2層分解與重構(gòu),然后使用PNN-AR(過(guò)程神經(jīng)網(wǎng)絡(luò)和AR組合模型)進(jìn)行預(yù)測(cè)。利用均方誤差(Relative error)和平均相對(duì)誤差(Mean relative error)兩個(gè)性能指標(biāo)來(lái)對(duì)預(yù)測(cè)模型的性能進(jìn)行評(píng)價(jià)。
六合水庫(kù)日水位預(yù)測(cè),選取六合水庫(kù)1995年之后的共4018條日水位數(shù)據(jù)來(lái)驗(yàn)證預(yù)測(cè)模型。原始時(shí)間序列如圖4所示。
圖4 原始時(shí)間序列Fig.4 The original time series
圖5 重構(gòu)后高頻和低頻信號(hào)Fig.5 The reconstructed high frequency and low frequency signal
前3978條水位數(shù)據(jù)被選取作為訓(xùn)練數(shù)據(jù),后40條水位數(shù)據(jù)被用作測(cè)試數(shù)據(jù)。PNN-AR模型、過(guò)程神經(jīng)網(wǎng)絡(luò)模型以及BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果如圖6所示,其中過(guò)程神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)均為輸入層節(jié)點(diǎn)為10,隱層節(jié)點(diǎn)為6,輸出節(jié)點(diǎn)為1。實(shí)驗(yàn)結(jié)果如圖6和表1所示。
圖6 預(yù)測(cè)結(jié)果對(duì)比Fig.6 The results of prediction
表1 誤差對(duì)比Tab.1 Error comparison
從圖6和表1可以得出:PNN-AR的預(yù)測(cè)精度優(yōu)于過(guò)程神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度,從而說(shuō)明該方法比單獨(dú)使用過(guò)程神經(jīng)網(wǎng)絡(luò)泛化能力較強(qiáng),預(yù)測(cè)效果較好,能充分?jǐn)M合低頻和高頻信息。
文中將小波變換[9-11]和過(guò)程神經(jīng)網(wǎng)絡(luò)應(yīng)用于非平穩(wěn)時(shí)間序列的預(yù)測(cè)。首先根據(jù)趨向性非平穩(wěn)時(shí)間序列具有的非線性、波動(dòng)性和確定性等3個(gè)特性,采用二進(jìn)正交小波變換對(duì)原始時(shí)間序列分解和重構(gòu),分離出原始序列中的高頻部分和低頻部分;然后利用對(duì)平穩(wěn)時(shí)間序列具有較好預(yù)測(cè)能力的統(tǒng)計(jì)推斷建模,并結(jié)合過(guò)程神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)均值具有非平穩(wěn)特性的時(shí)間序列的精確預(yù)測(cè)。實(shí)驗(yàn)表明,該方法是這類非平穩(wěn)時(shí)間序列的有效預(yù)測(cè)方法,對(duì)進(jìn)一步解決實(shí)際工程問(wèn)題具有良好的應(yīng)用前景。
[1]熊沈蜀,周兆英.神經(jīng)網(wǎng)絡(luò)在動(dòng)力學(xué)系統(tǒng)建模中的理論研究[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,1998(8):26-31.
[2]張坤,郁湧,李彤.基于小波和神經(jīng)網(wǎng)絡(luò)相結(jié)合的股票價(jià)格模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(23):5496-5498.
[3]Zhang G P,Qi M.Neural Network Forecasting for Seasonal and Trend Time Series[J].European J of Operational Research,2005,160(2):501-514.
[4]何新貴,梁久禎.過(guò)程神經(jīng)網(wǎng)絡(luò)的若干理論問(wèn)題[J].中國(guó)工程科學(xué),2000,2(12):40-44.
[5]許少華,何新貴.基于函數(shù)正交基展開(kāi)的過(guò)程神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].計(jì)算機(jī)學(xué)報(bào),2004,27(5):645-650.
[6]何新貴,許少華.輸入輸出均為時(shí)變函數(shù)的過(guò)程神經(jīng)網(wǎng)絡(luò)及應(yīng)用[J].軟件學(xué)報(bào),2003,14(4):164-169.
[7]許少華,何新貴,李盼池.一類用于連續(xù)過(guò)程逼近的過(guò)程神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用[J].信息與控制,2004,33(1):116-119.
[8]張晗,王霞.基于小波分解的網(wǎng)絡(luò)流量時(shí)間序列建模與預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2012(8):3134-3136.
[9]李欣.小波變換和模糊凸集投影相結(jié)合的圖像復(fù)原方法研究[J].電子設(shè)計(jì)工程,2015(18):182-184.
[10]郜憲錦.基于小波變換的MSK信號(hào)碼速率盲估計(jì)[J].電子科技,2015(5):140-142.
[11]趙德明.小波變換和曲波變換的圖像邊緣檢測(cè)新算法[J].科技創(chuàng)新與應(yīng)用,2015(13):53.
Time series prediction model based on wavelet and process neural network
LIU Xiu-heng,LV Xin,QI Rong-zhi,LIU Xuan,MA Hong-xu
(College of Computer and Information,Hohai University,Nanjing 211100,China)
A time series prediction method based on AR and process neural network PPN-AR was proposed.By Binary orthogonal wavelet transform,the non-stationary time series were decomposed into a low frequency signal and several high frequency signals.The low frequency was predicted with process neural network,and the high frequency signals were predicted with auto-regression models.The prediction result of the original time series was the superimposition of the respective prediction.
mallat decomposition;non-stationary time series;process neural network;autoregressive;prediction
TN-9
A
1674-6236(2016)01-0009-03
2015-09-10稿件編號(hào):201509079
國(guó)家自然科學(xué)基金面上項(xiàng)目 (61272543);國(guó)家科技支撐計(jì)劃 (2013BAB06B04);中國(guó)華能集團(tuán)公司總部科技項(xiàng)目(HNKJ13-H17-04);江蘇省自然科學(xué)基金(BK20130852);江蘇省博士后科研資助計(jì)劃(1401001C)
劉修恒(1992—),男,安徽阜陽(yáng)人,碩士研究生。研究方向:數(shù)據(jù)挖掘。