肖恭偉, 劉國林, 曹淑敏, 孫志陽
(山東科技大學 測繪科學與工程學院, 山東 青島 266590)
?
基于BP神經網絡對七里街測站洪峰的預報與分析
肖恭偉, 劉國林, 曹淑敏, 孫志陽
(山東科技大學 測繪科學與工程學院, 山東 青島 266590)
摘要:在分析預報誤差的時間分段遞推修正方法的基礎上,以建溪流域東游、水吉、建陽三個水文站點的水位監測數據為基礎,計算得到BP神經網絡隱含層最優節點數目為10,建立了BP神經網絡對七里街測站水位預報的數學模型.在此基礎上,利用時間分段遞推修正方法對預報的結果進行修正,計算結果表明,時間分段遞推修正方法使得預報精度提高很多,其結果與實際更加符合.
關鍵詞:BP神經網絡; 洪峰預報; 隱含層節點; 誤差修正
對洪峰的預報直接關系到人民的生命和財產安全,目前研究洪峰預報的方法主要有人工神經網絡、灰色模型等[1-2].洪水的預報是非線性問題,而神經網絡具有很強的非線性映射能力,將神經網絡應用在對洪峰的預報模型是合適的,并通過對預報誤差進行修正可以提高預報的精度,達到實際應用的水平.
1BP神經網絡
1.1BP神經網絡原理
BP神經網絡是目前應用十分廣泛的一種神經網絡模型[3-4],包含輸入層、隱含層、輸出層三層拓撲結構,其BP神經網絡原理[5-6]拓撲圖見圖1.

圖1 BP神經網絡結構圖
隱含層的第j個節點的輸入為
(1)
式中,wij、θj分別為隱含層的權值和第j個節點的閾值.對應的輸出為
(2)
輸出層第k個節點的輸入為
(3)
式中,wjk、θk分別為輸出層的權值和第k個節點的閾值.對應的輸出為
(4)
其中f為激活函數,最常用的為sigmoid函數,類似的還有雙曲正切函數,sigmoid把[-,+]映射到[0,1],而雙曲正切則映射到[-1,1].
BP網絡更新權值公式[7]:
w(t+1)=w(t)+ηδ(t)y(t)
(5)
其中:y(t)為神經元的輸出,δ(t)為誤差項,η表示學習效率.
1.2BP神經網絡算法流程
下面給出模型中BP反向傳播訓練步驟[8]:
(1)置各層權值和閾值的初值,wij, wjk, θj,θk為隨機數陣;誤差代價函數ε賦值;循環次數R.
(2)提供訓練用的學習資料:輸入矩陣xki(k=1,…,R; i=1,…,M),經過參考模型后可得到目標輸出ypk,即教師信號;經過神經網絡后可得到yk,對于每組k進行下面的第(3)—(5)步.
(3)計算網絡輸出yk,計算隱含層單元狀態aj.
(4)計算訓練輸出層誤差值δk,計算訓練隱含層的誤差值δj.
(5)分別修正隱含層wij和輸出層wjk.
(6)每次經過訓練后,判斷指標是否滿足精度要求,即判斷誤差代價函數E是否達到E≤ε.若滿足要求則轉到第(7)步,否則再判斷是否到達設定的循環次數.若循環次數等于R,轉到第(7)步,否則轉到第(2)步,重新讀取一組樣本,繼續循環訓練網絡.
(7)停止.
BP模型把一組樣本I/O問題變成了一個非線性的優化問題,使用了優化中最普遍的梯度下降法,用迭代運算求解權系數.下面給出算法步驟流程圖(圖2):
2預報誤差的修正方法
時間分段遞推修正公式為
T′(k)=T(k)+en
(6)
式中:T(k)為預報結果,T′(k)為修正之后的預報結果,en為修正點前n個小時誤差的平均值作為修正因子.
修正因子的求法如下:
(7)
3隱含層最優節點數計算
3.1實驗區與數據源
論文所采用的實驗數據是來源于閩江支流建溪流域,建陽、水吉、東游及七里街河流每小時采集一次水位.數據時間跨度從2008年1月1日的18:00到2012年3月6日的8:00,共3年3個月的36615條數據,其中30024條樣本作為訓練數據,6591條數據作為預報數據進行驗證.
3.2數據預處理
數據預處理是訓練神經網絡的關鍵步驟,直接影響到訓練后神經網絡的性能.為了提高神經網絡的訓練效率,需要對輸入輸出樣本集數據進行必要的預處理.
利用Matlab內部函數mapminmax函數對輸入和目標數據進行歸一化處理,使其落入[-1,1]區間.mapminmax函數歸一化公式[9]見式(8),其中默認情況下ymax=1,ymin=-1:
(8)
當xmax=xmin時,整個向量元素全部相等,所以此時y=xmin.數據的后處理是將計算結果進行還原,即反歸一化:
(9)
3.3最優隱含層節點數的選取
目前,隱含層數目的確定十分復雜,一般只能根據經驗公式來獲取最佳隱含層節點數目[10].

(2)n1=log2n,其中n是輸入節點數目,n1是隱含層節點數目.
通過(1)和(2)可以計算出隱含層節點數的大致范圍,遍歷所有節點就可以找到預報誤差最小的隱層節點數目,即為最佳節點數目.
針對本文實驗,首先根據經驗公式計算隱層節點的選取范圍在3~12之間,然后采用均方誤差最小的方法計算出最優隱含層節點數目為10,其誤差分布見圖3.

圖3 隱含層誤差分布圖
4實驗結果分析
4.1BP神經網絡對七里街水位的預報
東游、水吉、建陽三個站點洪峰到達七里街的時間分別是5h、6h、6h.七里街站點水位預報以東游、水吉、建陽站水位為輸入,七里街水位作為輸出,預報未來5h七里街的水位.為了得到更好的預報結果,使得神經網絡能夠學習、記憶的更加完善,在對神經網絡輸入的時候增加了預報站點的同時水位,發現預報精度較高.預報效果見圖4.

(a)預測及真實數據

(b)加入同時水位后圖4 七里街水位BP神經網絡模型預報圖
BP神經網絡模型預報水位誤差統計表見表1.
表1BP神經網絡模型水位誤差概率統計表%

站點名輸入站點誤差<30cm誤差<20cm誤差<10cm七里街建陽、東游、水吉62.1544.8820.91
對洪水的預報,洪峰的預報效果關系到模型的優劣程度,在此也統計了在高水位即洪峰誤差小于30cm、20cm、10cm的預報效果見表2.
表2BP神經網絡模型洪峰預報統計%

站點名輸入站點誤差<30cm誤差<20cm誤差<10cm七里街建陽、東游、水吉48.2536.613.99
由表2 可見,BP神經網絡模型對洪峰的預報精度未達到理想精度,故采用時間分段遞推方式修正.
4.2基于誤差修正的BP神經網絡對七里街水位的預報
為了對誤差修正,某個時刻的誤差可能與其前一段時間的誤差有關系.利用時間分段遞推方法,利用前n個小時誤差的平均值修正后面1個小時誤差,得最優n值見圖5,其七里街為1.

(a)全體誤差隨前n小時的修正

(b)洪峰誤差隨前n時的修正圖5 最優n值的選取
時間分段遞推方法對全體預報誤差小于30cm、20cm、10cm分布的情況見表3,對洪峰預報誤差小于30cm、20cm、10cm的分布情況見表4.
表3時間分段遞推法對全體誤差修正結果對比%

站點名輸入站點修正前誤差修正后誤差修正后誤差增量七里街建陽東游水吉62.1444.8720.9158.7445.7228.42-3.400.857.51
表4時間分段遞推法對洪峰誤差修正結果對比%

站點名輸入站點修正前誤差修正后誤差修正后誤差增量七里街建陽東游水吉48.2536.3613.9999.3095.1081.1251.0558.7467.13
由表3和表4可以看出,采用時間分段遞推方法對全體誤差的修正效果很低,但是對洪峰的修正非常合適.圖6展示了三段洪峰修正前后的對比圖,由圖6可以看出時間分段遞推方法修正洪峰預報結果非常顯著,達到可以實際應用的水準.

(a)修正前洪峰

(b)修正后洪峰圖6 誤差修正后的洪峰預報對比圖
5結論
本文基于BP神經網絡模型對七里街測站洪峰的預報,通過對預報誤差的修正,使得預報精度進一步提高.實驗證明建溪流域可以采用BP神經網絡洪峰預報,利用時間分段遞推方法可以將洪峰預報誤差小于30cm精度提高到99.30%,誤差小于20cm精度提高到95.10%,誤差小于10cm的精度提高到81.12%,從而說明了本文所建立的模型對洪峰的預報具有可行性.
參考文獻:
[1]包為民. 水文預報[M]. 北京:中國水利水電出版社,2008.
[2]趙琪,吳素芬,薛燕,等. 神經網絡模型在中長期水文預報中的實用性探究[J]. 新疆水利,2008,6(38):20-22.
[3]Zhu C J,Wu L P,Li S. Flood forecasting research based on the chaotic BP neural network model [J]. Key Engineering Materials,2010(439): 411-416.
[4]Chen Y,Yi Z. The BP artificial neural network model on expressway construction phase risk [J]. Systems Engineering Procedia,2012(4): 409-415.
[5] 王德明,王莉,張廣明. 基于遺傳BP神經網絡的短期風速預測模型[J]. 浙江大學學報,2012,5(46):837-841.
[6] 李鴻雁等. 提高人工神經網絡洪水峰值預報精度的研究[J]. 自然災害學報,2002,11 (1):57-61.
[7] 賈世杰,楊東坡,劉金環. 基于卷積神經網絡的商品圖像精細分類[J]. 山東科技大學學報,2014,6(33):91-96.
[8] 侯媛彬,杜京義,汪梅. 神經網絡[M]. 西安:西安電子科技大學出版社,2007.
[9] 朱星明,盧長娜,王如云,等. 基于人工神經網絡的洪水水位預報模型[J]. 水利學報,2005,7(36):806-811.
[10] 葉斌,雷燕. 關于BP網中隱含層層數及其節點數選取方法淺析[J]. 商丘職業技術學院學報,2004,6(3):52-53.
(編輯:姚佳良)
The analysis and forecast of flood crest in Qilijie Station based on the BP neural network
XIAO Gong-wei, LIU Guo-lin, CAO Shu-min, SUN Zhi-yang
(Geomatics College, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract:According to the recursion in different section of time, and the monitoring data of water level in three hydrological sites including the east reach of Jianxi, Shuiji, and Jianyang, we find that the optimal node number of hidden layer of BP neural network is 10 through complex calculation, and establish a mathematical model to forecast the water level in Qilijie Station using the BP neural network. On this basis, we can amend the forecast results with recursion in different section of time. The caculation results show that this method improves the forecast accuracy.It can be pointed out through calculation that the correction method of recursion in different section of time is a better choice due to the coincidence between results and facts.
Key words:BP neural network; flood crest forecast; hidden layer node; error correction
中圖分類號:P426.616; TP183
文獻標志碼:A
文章編號:1672-6197(2016)04-0049-04
作者簡介:肖恭偉,男,xiaogongwei10@163.com; 通信作者: 劉國林,男,gliu@sdust.edu.cn
基金項目:山東省自然科學基金項目(ZK2012DM001)
收稿日期:2015-08-21