楊祎玥,伏 潛,萬定生
(1.河海大學(xué) 計算機與信息學(xué)院,江蘇 南京 211100;2.江蘇省交通規(guī)劃設(shè)計院,江蘇 南京 211100)
基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測模型
楊祎玥1,伏 潛2,萬定生1
(1.河海大學(xué) 計算機與信息學(xué)院,江蘇 南京 211100;2.江蘇省交通規(guī)劃設(shè)計院,江蘇 南京 211100)
針對水文時間序列的高度非線性和不確定性等問題,利用深度循環(huán)神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測能力,結(jié)合小波變換方法,將原始序列分解重構(gòu)為多個低頻和高頻序列,針對各個子序列進行網(wǎng)絡(luò)模型訓(xùn)練,建立一個基于小波變換的深度循環(huán)神經(jīng)網(wǎng)絡(luò)的水文時間序列預(yù)測模型(WA-DRNN)。網(wǎng)絡(luò)訓(xùn)練方法采用時間進化反向傳播(BPTT)算法,逐步更新網(wǎng)絡(luò)權(quán)值。實驗結(jié)果表明,WA-DRNN模型較普通的DRNN模型在預(yù)測值的均方差和絕對誤差上均有較好提升,并且由于該模型的多尺度特性,能夠一定程度上減少模型預(yù)測引起的滯后作用。實驗結(jié)果證明,WA-DRNN模型具有預(yù)測精度高、滯后誤差小的優(yōu)點,對深度學(xué)習(xí)算法在水文時間序列預(yù)測的應(yīng)用上有一定幫助。
小波分析;深度循環(huán)神經(jīng)網(wǎng)絡(luò);時間序列;預(yù)測
由于受氣候、氣溫、人類活動等大量不確定性和復(fù)雜性因素的影響,各類水文時間序列具有高度非線性、不確定性等特性,常規(guī)的分析、預(yù)測方法很難掌握其中的變化規(guī)律及變化特性[1]。在水文預(yù)報領(lǐng)域,小波分析和神經(jīng)網(wǎng)絡(luò)相互結(jié)合的方法受到廣泛關(guān)注,而深度學(xué)習(xí)的飛速發(fā)展又為水文時間序列的預(yù)測提供了新的研究思路和方法。
深度學(xué)習(xí)的概念由Hinton等[2]于2006年提出。深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)提供了高維數(shù)據(jù)空間和低維嵌套結(jié)構(gòu)的雙向映射,有效解決了大多數(shù)非線性降維方法所不具備的逆向映射問題。Enzo Busseti等[3]將深度學(xué)習(xí)模型應(yīng)用在時間序列的預(yù)測中,探索了不同深度學(xué)習(xí)模型的預(yù)測精度。因此,可以運用深度學(xué)習(xí)技術(shù)在海量水文數(shù)據(jù)中挖掘出隱藏模式和規(guī)律以及對預(yù)測水文過程有用的信息。
文中利用深度循環(huán)型神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測能力,結(jié)合小波分解方法,建立了一個基于小波分解的深度循環(huán)型神經(jīng)網(wǎng)絡(luò)的水文時間序列預(yù)測模型。
1.1 小波變換
(1)
則稱ψ(t)為基小波或母小波(MotherWavelet),將母小波經(jīng)伸縮和平移得到小波序列,又稱為子小波:
(2)
其中,a為伸縮因子或尺度因子,將母小波作伸縮變換;b為平移因子,將母小波作平移變換。
對于任意函數(shù)f(t)∈L2(R),將其在小波基下展開,這種展開即為f(t)的連續(xù)小波變換(ContinuousWaveletTransform,CWT)[5]:
(3)
從上式中可以看出,對小波分析變換系數(shù)的分析可以顯示出ψ(t)的時頻特性及其重要的局部變化特性。在實際處理問題時,通常需要將伸縮操作和平移操作限定在一些離散點上進行,對伸縮因子和平移因子作離散化處理,取
(4)
該過程稱為離散小波變換(DiscreteWaveletTransform,DWT):
(5)
1.2 多分辨率分析與Mallat算法
小波變換的多分辨率分析(或多尺度分析)是由S.Mallat和Y.Meyer提出的[6]。從空間的概念上說明了小波的多分辨率特性,隨著分解尺度從大到小變換,能夠在各尺度由粗到細觀察序列的不同特征。之后S.Mallat受到塔式算法的啟發(fā),提出了馬特拉(Mallat)算法。
Mallat算法是在多分辨率分析的基礎(chǔ)上提出的一種針對其小波系數(shù)而進行逐層分解和重構(gòu)的快速小波變換算法,大大減少了信號分解時的矩陣運算時間和復(fù)雜度。
Mallat算法三層分解[7]過程如圖1所示。其中,cAk表示低頻信號,cDk表示高頻信號,C中保存的是分解的低頻信號和高頻信號,L記錄的是C中分解信號的長度大小。
圖1 Mallat算法三層分解過程示意圖
從圖1可以看出,小波分析的每一次分解是對原始信號或上一層的低頻信號進行的,分別得到一個低頻信號和一個高頻信號,而長度是上一層次信號的一半。
深度循環(huán)神經(jīng)網(wǎng)絡(luò)(DeepRecurrentNeuralNetwork,DRNN)本質(zhì)上是一種通常意義上的深度神經(jīng)網(wǎng)絡(luò)(多層感知機)[8],其特點是每層都有時間反饋循環(huán),并且層之間是疊加構(gòu)成的。每次神經(jīng)網(wǎng)絡(luò)的更新,新信息通過層次傳遞,每層神經(jīng)網(wǎng)絡(luò)也獲得了時間性上下文信息。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)是一種特殊的神經(jīng)網(wǎng)絡(luò),很有爭議地被劃歸為深度網(wǎng)絡(luò)一類。當按照時間折疊,它可以被視為一個有無限多層的深度神經(jīng)網(wǎng)絡(luò)[9]。對于RNN來說,每層的基本功能是用來對數(shù)據(jù)進行記憶,而不是分層次處理。通過每次迭代,新的信息被添加到每一層中,RNN可以通過無限制次數(shù)網(wǎng)絡(luò)更新將信息傳遞下去,使得RNN可以獲得無限的記憶深度。
標準的RNN傳播過程為,給定n維輸入序列x1,x2,…,xn,m維網(wǎng)絡(luò)的隱層狀態(tài)序列h1,h2,…,hm,k維輸出序列y1,y2,…,yk,迭代公式如下[10]:
ti=Whxxi+Whhhi-1+bh
(6)
hi=e(ti)
(7)
si=Wyhhi+by
(8)
(9)
其中,Whx、Whh、Wyh為權(quán)值矩陣;bh、by為基底;ti為隱層的輸入,si為輸出單元的輸入,同為k維變量;e、g為預(yù)定義的非線性向量值函數(shù)。
文中所提到的DRNN模型,其中第一層隱層的公式如下:
h(1)(xt)=σ(W(1)xt+b(1)+Uh(1)(xt-1))
(10)
RNN使用當前時刻的輸入數(shù)據(jù)xt和前一時刻對xt-1重構(gòu)值h(1)(xt-1)計算隱層h(1)(xt)激活值,W(1)和U為連接權(quán)值,b(1)是當前層的基底,σ代表sigmoid激活式為:
σ(z)=1/(1+e-z)
(11)
DRNN模型建立在多層RNN上,使得模型更加的非線性化,也使得模型可以承載更多的參數(shù)。
圖2是一個具有三隱層的DRNN網(wǎng)絡(luò)。
圖2 DRNN結(jié)構(gòu)示意圖
使用式(12)來表達這個DRNN網(wǎng)絡(luò):
h(i)(xt)=σ(W(i)h(i-1)(xt)+b(i))
(12)
其中,h(i)(xt)表示第i層的激活值,且i大于1,對于每個隱層都有一個對應(yīng)的權(quán)值W(i)和基底b(i),模型在t方向的迭代如式(12)。
利用小波分析方法對原始水文時間序列進行預(yù)處理[11],進行多尺度小波分解和單支重構(gòu),可獲得不同的高頻和低頻序列,對預(yù)處理的數(shù)據(jù)進行相空間重構(gòu)后作為DRNN模型的訓(xùn)練數(shù)據(jù),建立一個基于小波分解的深度循環(huán)神經(jīng)網(wǎng)絡(luò)的水文時間序列預(yù)測模型(稱為WA-DRNN模型)。
WA-DRNN預(yù)測模型結(jié)構(gòu)如圖3所示。
圖3 WA-DRNN預(yù)測模型結(jié)構(gòu)
首先將時間序列數(shù)據(jù)進行小波分解和單支重構(gòu)成多條序列,然后分別輸入DRNN模型進行預(yù)測,最后將預(yù)測值疊加[12]成最終預(yù)測值。
WA-DRNN模型建立過程如下:
(1)數(shù)據(jù)準備。先選取一個站點的歷史日均水位數(shù)據(jù),對數(shù)據(jù)進行歸一化處理,并且保存其最大值和最小值。
(2)小波分解和單支重構(gòu)。選擇合適的小波函數(shù)和分解尺度,對日均水文時間序列進行多尺度小波分解和單支重構(gòu),獲得該序列的近似系數(shù)和各細節(jié)系數(shù),然后對這些系數(shù)分別進行單支重構(gòu),獲得一條能夠描述原始序列趨勢變化的低頻序列和多條保留了不同信息的高頻序列。
(3)相空間重構(gòu)[13-14]。設(shè)置相空間重構(gòu)的延遲數(shù)值,分別對低頻序列和各個高頻序列進行相空間重構(gòu),以此形成相應(yīng)的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
(13)
(14)
其中,X為輸入矩陣;Y為輸出矩陣。
輸入序列為nin維時間序列x(t),目標序列為y(t)。
(4)DRNN模型訓(xùn)練。設(shè)定DRNN的學(xué)習(xí)速率、網(wǎng)絡(luò)層數(shù)和每層的節(jié)點數(shù)目,利用相空間重構(gòu)的多組訓(xùn)練數(shù)據(jù)分別對DRNN模型進行訓(xùn)練。
(5)預(yù)測水位。用訓(xùn)練好的DRNN模型對子序列的測試樣本進行預(yù)測,并將各子序列的預(yù)測值進行疊加,從而得到最終的預(yù)測值,這樣就實現(xiàn)了對水文時間序列的建模和預(yù)測。
以星子站1957-2010年間的日均水位數(shù)據(jù)為例來研究基于小波分解的深度循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測模型。其中,訓(xùn)練數(shù)據(jù)為星子站1957-2009年間共14 553組經(jīng)過相空間重構(gòu)的數(shù)據(jù),預(yù)測模型輸入為星子站2010年2月6日至2010年5月18日的日均水位數(shù)據(jù)。
首先,對數(shù)據(jù)進行歸一化處理,以提高數(shù)據(jù)在訓(xùn)練過程中的收斂速度。在這里使用Max-Min歸一化方法,對于序列中的最大值xmax和最小值xmin,對序列中所有元素xi有:
(15)
再挑選合適的小波分解參數(shù),將原始信號合理地分解到恰當?shù)亩鄠€頻段上。這里使用Daubechies小波6(db6),對其進行小波分解和單支重構(gòu),其中高頻部分如圖4所示。
圖4 日均水位序列原始序列與db6分解后的高頻信號對比圖
其中,第一條曲線為原始序列曲線,下面五條為db6小波分解并進行高頻重構(gòu)后的5個尺度的序列。高頻序列能夠捕捉到原始序列輕微的擾動,將原始序列中突發(fā)性、局部性、隱藏性的信息保留在其中。
DRNN模型訓(xùn)練參數(shù)如下,學(xué)習(xí)速率為0.000 01,迭代次數(shù)為1 000,輸入窗口大小為20,隱層一共為兩層,第一隱層節(jié)點數(shù)為30,第二隱層節(jié)點數(shù)為5,輸出節(jié)點為1。DRNN模型的預(yù)測結(jié)果如圖5所示。
圖5 DRNN預(yù)測結(jié)果對比圖
WA-DRNN的DRNN部分的參數(shù)與上面相同,其中小波分解的參數(shù)為db6小波高頻部分的2到5級,以及db6低頻信號的第5級,作為輸入。WA-DRNN模型的預(yù)測結(jié)果如圖6所示。
由兩幅圖的對比可以看出,單純利用DRNN作為預(yù)測模型,已經(jīng)可以較好地預(yù)測出模型的趨勢走向。而經(jīng)過WA-DRNN改進后,由于其的多尺度特性,減少了DRNN模型的滯后作用,并且能夠較好預(yù)測到幾個極值點的情況。同時根據(jù)表1可以得出,WA-DRNN和DRNN的均方差分別為0.78和1.33,平均絕對誤差分別為0.6和1.069,表明WA-DRNN效果更好。
圖6 WA-DRNN預(yù)測結(jié)果對比圖
日期實際值/mDRNNWA-DRNN預(yù)測值/m絕對誤差相對誤差/%預(yù)測值/m絕對誤差相對誤差/%2010-02-069.619.630.030.279.640.030.272010-02-079.829.710.101.039.750.071.032010-02-089.979.820.141.489.800.171.482010-02-0910.139.810.313.109.980.153.102010-02-1010.349.890.444.339.890.454.332010-02-1110.469.990.464.479.990.474.472010-02-1210.5210.310.201.9110.420.101.912010-02-1310.5210.550.030.3410.560.040.34……………………2010-05-1714.9915.540.100.6515.640.010.072010-05-1814.7616.050.100.6616.010.060.41
文中提出了基于小波分解的深度循環(huán)神經(jīng)網(wǎng)絡(luò)對星子站日平均水位進行預(yù)測的方法?;谛〔ǚ纸獾纳疃妊h(huán)神經(jīng)網(wǎng)絡(luò)較單純的深度循環(huán)神經(jīng)網(wǎng)絡(luò)有著更強的逼近能力和容錯性。實驗結(jié)果表明,基于小波分解的深度循環(huán)神經(jīng)網(wǎng)絡(luò)有效降低了預(yù)報誤差,提高了模型的預(yù)測精度,減少了模型的滯后誤差,具有較強的預(yù)報和泛化能力。
[1] 王 文,馬 駿.若干水文預(yù)報方法綜述[J].水利水電科技進展,2005,25(1):56-60.
[2]HintonGE,SalakhutdinovRR.Reducingthedimensionalityofdatawithneuralnetworks[J].Science,2006,313(5786):504-507.
[3]BussetiE,OsbandI,WongS.Deeplearningfortimeseriesmodeling[R].USA:StanfordUniversity,2012.
[4] 孫延奎.小波分析及其應(yīng)用[M].北京:機械工業(yè)出版社,2005.
[5] 衡 彤.小波分析及其應(yīng)用研究[D].成都:四川大學(xué),2003.
[6] Mallat S G. Multiresolution representation and wavelets[D].Philadelphia,PA:University of Pennsylvania,1988.
[7] Mallat S G. Multiresolution approximations and wavelet orthonormal bases of L2(R)[J].Transactions of the American Mathematical Society,1989,315(1):69-87.
[8] Graves A,Mohamed A R,Hinton G.Speech recognition with deep recurrent neural networks[C]//International conference on acoustics,speech and signal processing.[s.l.]:IEEE,2013:6645-6649.
[9] Hermans M,Schrauwen B.Training and analysing deep recurrent neural networks[C]//Advances in neural information processing systems.[s.l.]:[s.n.],2013:190-198.
[10] Pascanu R,Gulcehre C,Cho K,et al.How to construct deep recurrent neural networks[C]//Proceedings of the 2014 international conference on learning representations.[s.l.]:[s.n.],2014.
[11] 桑燕芳,王 棟,吳吉春,等.水文時間序列小波互相關(guān)分析方法[J].水利學(xué)報,2010(11):1272-1279.
[12] 左其亭,高 峰.水文時間序列周期疊加預(yù)測模型及3種改進模型[J].鄭州大學(xué)學(xué)報:工學(xué)版,2004,25(4):67-73.
[13] 朱躍龍,李士進,范青松,等.基于小波神經(jīng)網(wǎng)絡(luò)的水文時間序列預(yù)測[J].山東大學(xué)學(xué)報:工學(xué)版,2011,41(4):119-124.
[14] 余宇峰,萬定生.Benford法則在水文數(shù)據(jù)質(zhì)量挖掘中的應(yīng)用研究[J].微電子學(xué)與計算機,2011,28(8):180-183.
A Prediction Model for Time Series Based on Deep Recurrent Neural Network
YANG Yi-yue1,FU Qian2,WAN Ding-sheng1
(1.College of Computer and Information,Hohai University,Nanjing 211100,China;2.Jiangsu Province Communications Planning and Design Institute,Nanjing 211100,China)
Aimed at the problems of high-nonlinearity and nondeterminacy for hydrology time series,a prediction model for hydrology time series based on Wavelet Analysis and Deep Recurrent Neural Network (WA-DRNN) is put forward by using the predictive capability of deep recurrent neural network,combined with the wavelet analysis for the reconstruction of the original time series and training of high and low frequency series.The network training adopts Back Propagation Through Time (BPTT) algorithm to update the network weight.The experiment shows that the WA-RNN model is better than the normal DRNN model in the mean square error and absolute error,and for the reason of multiscale the model can decrease the lag of prediction.It turns out the WA-DRNN model has advantages of higher predictive accuracy and less lag,which is helpful for application of hydrology time series prediction of deep learning algorithm.
wavelet analysis;DRNN;time series;prediction
2016-04-22
2016-08-17
時間:2017-02-17
國家科技支撐計劃課題(2015BAB07B01);水利部公益性行業(yè)科研專項(201501022)
楊祎玥(1992-),男,碩士研究生,研究方向為數(shù)據(jù)挖掘;萬定生,教授,CCF會員,研究方向為信息處理與信息系統(tǒng)。
http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1630.046.html
TP391
A
1673-629X(2017)03-0035-04
10.3969/j.issn.1673-629X.2017.03.007