張鵬程 張 雷 王繼民
(河海大學計算機學院 江蘇 南京 211100)
一種基于深度網絡的多環境因素降水量預報模型
張鵬程 張 雷 王繼民
(河海大學計算機學院 江蘇 南京 211100)
為了更好地反映區域降水的變化趨勢,開展區域降水量預報顯得尤為重要。在流域信息時代存在豐富大數據的情況下,提出一種基于DBN (Deep Belief Nets)深度網絡降水量預報模型的新方案。該方案通過模擬大腦神經元的多層結構,并使用反向傳播網絡對整個網絡進行微調。模型使用了與每日降水量息息相關的七種環境因素作為輸入向量,未來24小時降水作為輸出向量,通過在貴州遵義地區的實驗證明了模型的有效性,并與現有方法進行了對比實驗,結果表明模型具有更好的預測效果。
降水量預報 深度學習 多元時間序列 大數據
隨著人口的急劇膨脹,河流的污染程度也隨之上升,如何充分利用好地球上寶貴的水資源,是人類所面臨的嚴峻問題。降水作為水文系統循環過程中的一個非常重要的環節,在整個水循環中起著關鍵性的作用[1]。降水量在較短時間內的劇烈變化,極易引發區域環境的旱澇災害,從而對整個區域的經濟發展造成嚴重的危害,如何更好地對未來降水量進行精準預測,是目前水信息領域急需解決的關鍵問題之一[2]。
降水量的預測在近幾十年取得了較大的發展,常使用的一類模型是物理統計模型[3],即選擇的因子具有一定的物理意義,并利用前兆信息因子與后期汛期的遙相關原理,對降水的輕重程度進行劃分。陳菊英等[4]提出了一種海河流域分區汛期降水量的多級預報物理模型,集成了各種前兆敏感信息因子,并挑選水文站的信息進行綜合分析。馬振鋒等[5]提出的一種預測川渝地區汛期降水量的物理統計模型,利用四川盆地固有三類降水分布型的特征,得到川渝地區主汛期降水和預測中強信號的關聯,建立了針對川渝地區的物理統計模型。然而物理統計模型對數據的質量要求嚴格,區域所處地域對預測效果影響極大,在實際的使用中不夠靈活,易受不穩定因素的影響,其類似于線性刻畫的建模方式,并不能很穩定地去預測降水量,存在較大的隨機性。
另一類常用在降水量預測中的是數據驅動模型,數據驅動模型是以系統的狀態變量作為模型的輸入和輸出,以建立狀態變量之間的對應關系。BOX等[6]在1976年提出了給基于自回歸滑動平均模型ARIMA(Autoregressive Integrated Moving Average Model)的時間序列預測方法,ARIMA模型作為使用范圍較廣的時間序列預測模型,先使用差分使序列平穩化,然后利用預測時刻之前單元值的預測誤差或隨機干擾的線性組合,對將來的時刻進行估計,但ARIMA模型用在水文序列這種受眾多干擾因素影響的時間序列中,其描述能力就顯得捉襟見肘,使得預測的精度較差。廖捷等[7]提出了使用馬爾科夫鏈來預測降水的方法,通過求得各個狀態概率的向量,預測結果即為概率最大值,當使用馬爾科夫鏈去預測時,僅僅使用了一步轉移概率,并沒有考慮到降水時序的依賴關系。
使用人工神經網絡對時間序列預測由來已久,人工神經網絡一般分為多層感知機MLP(Multilayer Perceptron)、遞歸神經網絡RNN(Recursive Neural Network)、徑向基神經網絡以及它們的變體形式。如季剛等[8]提出了使用徑向基神經網絡RBF(Radial Basis Function)來對區域的降水量進行預測,而淺層神經網絡易陷入局部最小值,易過擬合,導致在預測時,模型的預測效果極不穩定,大大影響了在實際工作的使用。
深度學習作為一種模擬人類的大腦,使用多層感知網絡來識別數據特征的學習算法,可以通過訓練海量的數據,精準地捕捉到潛藏在其中的規律,在特征學習方面具有較強的學習能力[9-10],較好地吻合了水文時間序列中受影響因素眾多,以及難以用線性模型去表達其規律的多變性。近年來,深度網絡作為數據挖掘以及機器學習的一個熱點,研究主要集中在語音識別、人臉建模、字符上下文推測等方面[11-12]。每日的降水作為一個隨機事件,在較長時間范圍內又具有一定的規律,降水過程本身受到大量不確定因素的影響,如:區域所處氣候帶、太陽黑子、潮汐、大氣環流以及人類自身的活動因素。因其本身存在隱藏的時序特征,呈現為一種較為復雜的非線性動力系統,使得很難找到一個合適的模型去預測未來降水量的變化趨勢。每日的降水量具有數據量大、特征多、規律較難學習等特點,十分適合使用深度網絡來對其學習。鑒于此,本文提出了一種基于深度網絡的降水量預報模型,并通過實驗發現深度網絡的預測結果明顯高于其他未對數據進行特征學習的淺層模型,從而驗證了深度網絡可以應用于降水預報。
1.1 整體流程
模型的整體框架圖如圖1所示,大體上可以將其分為三部分。

圖1 整體框架圖
步驟一收集數據和數據預處理。對收集到的數據進行歸一化,并對其進行KMO測試以及Barlett球形測試[13],測試是用來判斷數據是否適合使用因子分析法[14](具體步驟見3.2節),通過測試之后,從序列中提取合適的因子,最后計算出提取出因子之后所有因子的信息存留量。
步驟二模型的初始化與訓練。初始化網絡權重,逐步訓練網絡,最后通過頂層BP網絡反向微調。將步驟一篩選出的環境因子作為網絡層的輸入,計算出第一層網絡的參數,再通過CD算法(見2.3節算法部分)將第一層的隱含層當作第二層的可視層計算出其余各層的系數。待所有層網絡訓練完畢,將降雨量作為模型的輸出,使用BP網絡對整個網絡進行反向微調,確保模型的精確性。使用無監督學習的特點在于可以有效地提取特征,并且深度網絡的擬合能力大大好于淺層網絡,有效地避免了模型欠擬合的問題。
步驟三預測未來時刻降雨量。令測試樣本作為模型的輸入,并反歸一化模型的輸出。
1.2 模型基礎與原理
如圖2所示,深度信念網絡分為兩大部分,第一部分是由多層受限玻爾茲曼機RBM(Restricted Boltzmann Machine)聯合而成,第二部分是頂層的BP網絡,對下面的RBM層進行微調。由Smolensky等[15]提出的RBM是一種很特殊的拓撲結構,它對玻爾茲曼機BM(Boltzmann Machine)網絡進行了優化,去除了層內節點之間的互聯關系,大大加快了計算網絡節點概率的速度。BM是一種能量網絡,主要用來描述變量與變量之間的高階相互作用,多層RBM層聯結起來對數據進行無監督學習。RBM由一層可視層V(Visible layer)與一層隱含層H(Hidden layer)連接組成,可視層V用來接收特征數據,而隱含層H作為特征檢測器,抽象出數據中的特征,層內節點之間沒有連接關系,計算每個節點概率時可以相互獨立。

圖2 DBN網絡結構圖
對于能量函數而言,能量越低,狀態越穩定,使用一段信息從可視層傳送到隱含層,在傳送的過程中難以避免地會出現信息不對等的情況。網絡訓練目標是使傳送時信息盡可能的保留,通過調整偏置和權值使得可視層v與隱含層h之間的能量差異最小化,讓隱含層從某種程度代表可視層,隱含層便成為可視層v的特征表示,RBM網絡權值更新的公式為:
ΔWij=ε{〈vihj〉data-〈vihj〉recon}
(1)
ε是網絡學習的速率,〈vihj〉data表示對于在可見層v上i節點與隱含層h上j節點所指定下分布的期望,〈vihj〉data-〈vihj〉recon表示從可見層到隱含層之間的差距,乘以學習速率對形成的能量函數進行更新。最初的深度信念網絡中,RBM層都是由二值節點{0,1}組成的,由于本文的輸入數據都是與氣候環境相關的實值因子,二值單元的表達能力不足以表示出全部的信息,極易造成信息的丟失,故需先對輸入向量進行處理。主流的處理方式分為由Hinton等[16]提出的將輸入的信息直接編碼為Bernoulli型,以及由Sch?lkopft等[17]提出的對RBM能量函數進行修改,使高斯分布直接嵌入到模型中。第一種方式會使序列中增加不必要的噪聲。本文采用對RBM能量函數進行修改的方式,其中σ是關于可視層節點i高斯噪聲的標準差,修改后的表達方程式為:
(2)
1.3 DBN模型算法與分析
具有深度結構的網絡在提取或者表達高維數據的抽象特征時,具有強大的能力[18-19]。深度網絡在分類、人臉識別以及自然語言處理中使用較廣,目前在回歸預測方面使用較少,本文提出了一種如圖2所示的DBN網絡模型對區域的降水量做回歸預測。
DBN中的多層玻爾茲曼機中,第一層的可視層節點數量由與之相連接的輸入樣本特征數決定。DBN的網絡深度對整個模型的預測性能影響較大,若RBM的層數過少,則不能充分地挖掘出時間序列中的有用信息。深度越深越有可能挖掘出序列中高層次的特征表示,層數過高也會導致對序列過度抽象,影響了網絡的泛化能力[20]。
本文采用了Hinton等[21]提出的快速逐層訓練的方法,即先訓練好第一層RBM層,固定住它的權重,使第一層RBM的隱含層作為第二層RBM的可視層,如此分層訓練,直至最后一層。后一層的RBM網絡對前一層提取過特征的RBM網絡進行再次抽象,從特征中提取特征,頂層設立了監督層來對整個網絡進行微調(Fine-Tuning)。由于前層的無監督學習,已經使權重接近于全局最優[22],此時使用BP網絡中梯度下降法來反向微調,極大地加快了網絡的收斂速度,并克服了當層數增多,無法對權值及偏置進行調整,以及網絡在擬合過程中易陷入局部最小值的問題[23]。DBN網絡的訓練步驟如下所示:
算法1Train DBN For Hydrologic Time Series
input:區域每日的環境因素數組X(t);
output:未來24小時的降水量Y(t);
vi為可視層的單元節點;
hj為隱含層的單元節點;
W為RBM網絡的權重矩陣;
K是一個用來表示評價周期的常量;
b為可視層節點的偏移量;
c為隱含層節點的偏移量;
α為閾值常數;
k為迭代次數;
l為RBM的層數;
ε為學習速率,i為等于0的常數;
mse為網絡輸出值以及訓練樣本實際值的誤差;
//對輸入數據和輸出數據歸一化

2.初始化W,b,c等各參數;
3.t=5;
無監督學習:
//訓練第一層RBM網絡
4.whilet>αdo

10.t=A′(v,h)-A(v,h);
11.end while
//訓練其余的RBM網絡
12.fori=2 toldo
13. 將i-1層RMB網絡的隱含層賦值給i層的可視層;
14. 對i層RBM網絡重復步驟3至15;
15.end for
有監督學習:
16.whilemse>α&&i小于一定的次數do
17. 使用BP算法調整前層網絡權值;
18. 前向傳播網絡并計算出新的mse;
19.i++;
20.end while
2.1 指標選取及網絡結構選定
本文使用臺站號為57713的貴州遵義1956年-2006年間的數據作為實驗數據,按照10∶1的比例對數據集進行劃分,保證訓練數據的充分性,其中1956年—2000年作為模型的訓練數據,2000年之后的數據作為測試數據,數據來自于國家氣象信息中心。圖3是遵義地區每日降水量折線圖,從短期看來曲線雜亂無章,但從長遠看來,曲線的上升和下降呈現著某種聯系。

圖3 日降水量走勢圖
本文采用均方根誤差RMSE(Root Mean Square Error)以及平均絕對誤差MAE(Mean Absolute Error)作為評價指標。兩種指標從不同角度描述了模型對水文時間序列的刻畫能力,數值越小,表明預測性能越精準,MAE的計算式表示為:
(3)
其中y(pred)i表示模型在第i天的預測結果,y(origin)i表示第i天的真實值,n表示天數。RMSE計算式表示為:

(4)
網絡層數與網絡節點的選取對整個網絡的預測尤為重要。為了合理選取模型的結構,在選取DBN的層數時,過高的層數既影響訓練的速度,又可能導致過擬合,以MAE作為評價指標,將DBN層數選取為{2,3,4}的方式來判斷層數對網絡性能的影響,以選取最合適的層數,如圖4可見,網絡層數為3時,模型的能力最佳,每層的節點分別設為{50,30,20}。

圖4 RBM層數對精度的影響
2.2 環境因子的篩選
因子分析法[24]可以將原來數據中的多種指標綜合成幾個信息含量較豐富的指標,不僅可以解決指標之間互相相關所造成的信息重疊問題,通過因子的降維也可以減少模型訓練時的計算量,加快網絡收斂。本文使用因子分析對所收集的17種環境因素進行篩選,軟件版本為IBM SPSS 20.0。
KMO測試以及Barlett球形測試用來判斷數據源是否適合進行因子分析,KMO測試是用來表示變量之間相互關聯程度的。KMO的值在0到1之間,值越接近于1,變量之間的關系越緊密,接近于0,表示變量之間的關聯并不大,值小于0.5便不適宜做因子分析。Barlett球形測試是用來判斷所選擇的變量之間是否相互獨立。
如表1所示,KMO測試的值為0.723,遠遠大于了0.5,證明了因子的關聯性較高。卡方近似值和自由度主要與數據的維度相關,顯著性為0,拒絕了零假設,表明變量之間并不是獨立的。兩項測試的結果都表明數據適合做因子分析。

表1 KMO測試以及Bartlett球形測試
所選取指標與原來指標之間的相互關聯程度由EV(特征值)、VCR(方差貢獻率)、CCR(累計貢獻率)三個數值來體現。因為旋轉之前相關矩陣的結構不夠簡明,因子對其余變量的解釋能力偏弱,本文采用方差最大正交旋轉變換,使因子之間更容易相互解釋,如表2所示。前七的因子的累積貢獻率已達到了94.2%,故選取這七個因子作為我們模型的輸入,它們分別是:平均本站氣壓、日最高氣壓、平均氣溫、最大風速、日照時數、小型蒸發量、最小相對濕度。表3為提取了七個因子之后,所有因子的共同度,共同度指的是因子所存留的信息量。從表中可以看出,大部分的因子都保存了90%以上的信息,通過因子分析法,既保留水文序列中的信息,又避免了因子之間互相關對模型擬合造成不利影響。

表2 相互矩陣特征值及貢獻率

表3 提取因子之后的共同度

續表3
2.3 實驗結果及對比分析
本文從對區域降水影響程度較大的多個環境因子篩選出7種環境因素作為模型的輸入,對未來24小時的降水量進行預測。利用DBN模型所預測的降水量如圖5所示。本文所使用的深度信念網絡模型可以較好地對降水的趨勢進行預測,對整個曲線的升降幅度的擬合也較為精確。圖6將不同神經網絡的迭代誤差下降速度進行了對比,DBN模型誤差指數在第2次迭代時已經接近了最優權值,其他兩類神經網絡則需要經過反復的迭代訓練。

圖5 DBN預測降雨與真實值對比

圖6 訓練誤差迭代圖
為了比較深度網絡分析模型的擬合以及預測效果,本文將DBN降水量預報模型與經典的回歸模型:徑向基神經網絡、支持向量機SVM、自回歸滑動平均模型以及極限學習機ELM(Extreme Learning Machine)進行對比。在對比過程中,遵循單一變量原則,考慮到季節不同時,降水量的極值變化對整個網絡擬合的影響,將季節分為多雨季與少雨季。圖7與圖8為深度信念網絡與RBF模型、SVM模型在不同季節對比圖。從結果可以看出,DBN模型對整個水文時間序列的擬合情況更好,對整體的趨勢以及幅度波動把握也較為準確。表4和表5給出了在不同雨季五種模型具體的誤差參數。從結果可以看出,在季度降水較多量較多的情況下,五種模型的誤差均比少雨季大,但本文所使用的DBN模型仍然符合對降水預測的需求。

圖7 多雨季模型預測對比圖

圖8 少雨季模型預測對比圖

ModelMAERMSEDBN1.6322.257SVM2.0953.898RBF1.9393.343ARIMA3.4054.639ELM2.8593.404

表5 少雨季模型各指標對比表
本文針對氣候環境大數據,提出了一種基于深度學習的降水量預測方案。探討了大數據分析技術在降水預報領域的應用,結合無監督學習與有監督學習,并分析了深度網絡相比較淺層神經做出的改進,實現了基于水文因子大數據的降水量預報,并通過實驗驗明了深度信念網絡在水文時間序列上的有效性及精準性。但從目前的研究工作來看,在多雨季的預測精度仍需提高。在網絡層數選取方法也應選取更為高效便捷的方式,以及采用傳統預測模型篩選環境因子與深度學習相結合的方式來提高現有模型的預見期,這也將是下一步研究的重點。
[1] Wan D,Xiao Y,Zhang P,et al.Hydrological Time Series Anomaly Mining Based on Symbolization and Distance Measure[C]//IEEE International Congress on Big Data.IEEE,2014:339-346.
[2] 左洪超,呂世華,胡隱樵.中國近50年氣溫及降水量的變化趨勢分析[J].高原氣象,2004,23(2):238-244.
[3] 都金康,謝順平,許有鵬,等.分布式降雨徑流物理模型的建立和應用[J].水科學進展,2006,17(5):637-644.
[4] 陳菊英,齊晶,楊鵬,等.海河流域分區汛期降水量的多級預報物理模型的應用前景[C]//全國水文學術討論會,2004.
[5] 馬振鋒,譚友邦.預測川渝地區汛期降水量的一種物理統計模型[J].大氣科學,2004,28(1):138-145.
[6] Box G E P,Jenkins G M.Time Series Analysis:Forecasting and Control[J].Journal of Time,2010,31(4):303-303.
[7] 廖捷,胡豪然,陳功.疊加馬爾科夫鏈在年降水量預測中的應用[J].安徽農業科學,2012,40(9):5532-5533.
[8] 季剛,姚艷,江雙五.基于徑向基神經網絡的月降水量預測模型研究[J].計算機技術與發展,2013(12):186-189.
[9] Crone S F,Hibon M,Nikolopoulos K.Advances in forecasting with neural networks? Empirical evidence from the NN3 competition on time series prediction[J].International Journal of Forecasting,2011,27(3):635-660.
[10] Deng L.A tutorial survey of architectures,algorithms,and applications for deep learning[J].Apsipa Transactions on Signal & Information Processing,2014,3.
[11] Bengio Y,Delalleau O.On the Expressive Power of Deep Architectures[M]//Algorithmic Learning Theory.Springer Berlin Heidelberg,2011:18-36.
[12] Sun Z Y,Cheng-Xiang L U,Shi Z Z,et al.Research and Advances on Deep Learning[J].Computer Science,2016,43(2).
[13] Costello A B,Osborne J W.Best practices in exploratory factor analysis:four recommendations for getting the most from your analysis[J].Practical Assessment,2005,10(7):1-9.
[14] Wood P.Confirmatory Factor Analysis for Applied Research[J].American Statistician,2008,62(1):91-92.
[15] Smolensky P.On the Proper Treatment of Connectionism[M]//Readings in philosophy and cognitive science.MIT Press,1993:1-23.
[16] Hinton G E.To recognize shapes,first learn to generate images[J].Progress in Brain Research,2007,165(6):535-547.
[17] Sch?lkopf B,Platt J,Hofmann T.Modeling Human Motion Using Binary Latent Variables[C]//International Conference on Neural Information Processing Systems.MIT Press,2006:1345-1352.
[18] Bengio Y.Learning Deep Architectures for AI[J].Foundations & Trends? in Machine Learning,2009,2(1):1-127.
[19] Hinton G E,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[20] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[21] Hinton G E.A Practical Guide to Training Restricted Boltzmann Machines[J].Momentum,2010,9(1):599-619.
[22] Ackley D H,Hinton G E,Sejnowski T J.A learning algorithm for boltzmann machines[J].Cognitive Science,1985,9(1):147-169.
[23] Rumelhart D,McClelland J.Learning and Relearning in Boltzmann Machines[M].MIT Press,1986:45-76.
[24] Sakaluk J K,Short S D.A Methodological Review of Exploratory Factor Analysis in Sexuality Research:Used Practices,Best Practices,and Data Analysis Resources[J].Journal of Sex Research,2016,54(1):1-9.
AMODELFORPRECIPITATIONFORCREASTINGOFMUTIPLEENVIRONMENTALFACTORSBASEDONDEEPNETWORK
Zhang Pengcheng Zhang Lei Wang Jimin
(SchoolofComputerScience,HohaiUniversity,Nanjing211100,Jiangsu,China)
To better reflect the changing trend of regional precipitation, it is particularly important to develop regional precipitation forecast. Therefore, in the case of abundant information in the era of basin big data, a new method of precipitation forecasting model based on DBN (Deep Belief Nets) depth network is proposed. The scheme simulated the multilayer structure of the brain neurons and adopted the back propagation network to fine tune the entire network. Besides, the model adopted seven environmental factors that were closely related to the daily precipitation as input vectors, and the next 24 hours precipitation as the output vector. The effectiveness of the proposed model is proved by experiments in Guizhou, Zunyi, and compared with the existing methods. We conclude that the model has better prediction results.
Precipitation forecasting Deep learning Multiple time Series Big data
TP391
A
10.3969/j.issn.1000-386x.2017.09.047
2017-03-01。國家自然科學基金項目(61572171);國家科技支撐計劃項目(2015BAB07B01)。張鵬程,副教授,主研領域:軟件工程,數據分析與處理。張雷,碩士生。王繼民,副教授。