劉文斌,趙思遠(yuǎn),郝振純,*,王茂枚,馬喜榮,尼瑪?shù)┰?/p>
(1.黑龍江省水文局,哈爾濱 150001;2.河海大學(xué) 水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,南京 210098;3.江蘇省水利科學(xué)研究院,南京 210017;4.珠江水利科學(xué)研究院,廣州 510611;5.西藏自治區(qū)水文水資源勘測局 山南分局,西藏 山南 856000)
改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)在松花江干流水位預(yù)報(bào)中的應(yīng)用
劉文斌1,趙思遠(yuǎn)2,郝振純2,*,王茂枚3,馬喜榮4,尼瑪?shù)┰?
(1.黑龍江省水文局,哈爾濱 150001;2.河海大學(xué) 水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,南京 210098;3.江蘇省水利科學(xué)研究院,南京 210017;4.珠江水利科學(xué)研究院,廣州 510611;5.西藏自治區(qū)水文水資源勘測局 山南分局,西藏 山南 856000)
松花江干流水位受上游來水和水庫調(diào)蓄等多因素的共同作用而表現(xiàn)出非線性響應(yīng),采用典型的3層BP神經(jīng)網(wǎng)絡(luò)模型來模擬松花江干流肇源、哈爾濱、通河、佳木斯和富錦5個(gè)代表站點(diǎn)水位。鑒于BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)收斂速度慢、參數(shù)選擇困難、易陷入局部極小值等缺點(diǎn),分別采用Levenberg-Marquart算法和基于遺傳算法的BP算法來建立水位預(yù)報(bào)模型,并對(duì)預(yù)報(bào)結(jié)果進(jìn)行了分析和比較。結(jié)果表明:兩種算法收斂速度快,預(yù)報(bào)精度均能達(dá)到預(yù)報(bào)要求。特別是將遺傳算法的全局搜索和BP網(wǎng)絡(luò)局部精確搜索的特性有機(jī)結(jié)合,做到了優(yōu)勢互補(bǔ),在河流水位預(yù)報(bào)方面有著廣闊的應(yīng)用前景。
BP神經(jīng)網(wǎng)絡(luò);Levenberg-Marquart算法;遺傳算法;水位預(yù)報(bào)
松花江有南、北兩源,南源為第二松花江,北源為嫩江,兩江在三岔河匯合后,折向東流,經(jīng)肇源、哈爾濱、賓縣、木蘭、通河、依蘭、佳木斯、富錦等市縣,于同江市同江鎮(zhèn)匯入黑龍江,這段河道稱為松花江干流。干流右岸有拉林河、螞蟻河、牡丹江、倭肯河等注人;左岸有呼蘭河、湯旺河、梧桐河等注入。干流長939 km,流域面積為18.64×104km2,占全流域面積(55.68×104km2)的33.5%。
松干流域地處北溫帶季風(fēng)氣候區(qū),大陸性氣候特點(diǎn)非常明顯,春季干燥多風(fēng),夏季炎熱多雨,秋季很短,冬季寒冷漫長,年內(nèi)溫差很大。流域內(nèi)多年平均降水量約500 mm,降水年內(nèi)分配不均,多處于季風(fēng)控制的夏季7—8月,6—9月汛期降水量可占全年的70%~80%,降水在多年之間有明顯的豐枯交替特點(diǎn)[1]。松干流域以平原為主,是我國重要的農(nóng)業(yè)、工業(yè)、能源基地,也是我國最主要的商品糧基地之一。由于降水的時(shí)空分布不均,該流域成為了洪澇災(zāi)害頻發(fā)地區(qū),因此,建立各站點(diǎn)水位預(yù)報(bào)工作對(duì)松花江干流及沿岸的防洪調(diào)蓄有著重要的意義。
人工神經(jīng)網(wǎng)絡(luò)是由大量簡單的神經(jīng)元相互連接而成的自適應(yīng)非線性動(dòng)態(tài)系統(tǒng)。它具有分布存貯和并行處理等特點(diǎn)及自組織、自學(xué)習(xí)的能力,利用其極強(qiáng)的非線性函數(shù)逼近能力,能對(duì)難以精確描述的復(fù)雜非線性對(duì)象進(jìn)行建模,從而實(shí)現(xiàn)對(duì)復(fù)雜非線性對(duì)象進(jìn)行有效的模擬[2-3]。因此,神經(jīng)網(wǎng)絡(luò)在洪水預(yù)報(bào)上得到了廣泛的應(yīng)用,只要給出歷史水文觀測資料,神經(jīng)網(wǎng)絡(luò)就可通過自身的學(xué)習(xí)來完成洪水的預(yù)報(bào)工作。
本文采用神經(jīng)網(wǎng)絡(luò)方法進(jìn)行水位預(yù)報(bào)。BP神經(jīng)網(wǎng)絡(luò)通常為輸入層、隱含層、輸出層的3層網(wǎng)絡(luò)模型,并通過權(quán)重、偏差、激活函數(shù)等來增強(qiáng)網(wǎng)絡(luò)解決復(fù)雜問題的能力。其學(xué)習(xí)過程可分為信號(hào)正向傳播和誤差信號(hào)反向傳播兩個(gè)階段。BP訓(xùn)練算法默認(rèn)采用梯度下降法,但存在線性收斂速度慢、容易陷入局部極小值等缺陷。針對(duì)標(biāo)準(zhǔn)BP算法存在的一些不足,本文采用兩種基于標(biāo)準(zhǔn)BP算法的改進(jìn)算法。
1.1 LM算法
LM(Levenberg Marquart)算法實(shí)際上是梯度下降法和擬牛頓法的結(jié)合。通常,梯度下降法在開始幾步下降較快,但隨著接近最佳值,由于梯度趨于零,使得目標(biāo)函數(shù)下降較慢;而擬牛頓法可以在最佳值附近產(chǎn)生一個(gè)理想的搜索方向[4]。通過自適應(yīng)調(diào)整阻尼因子來進(jìn)行收斂,提高了收斂速度,因而訓(xùn)練速度比其他算法快。LM算法公式如下:
(1)
式中wb為聯(lián)接權(quán)值和閾值的向量;j(k)為一階雅可比矩陣;I為單位矩陣;mu為阻尼因子。
1.2 GA-BP算法
采用遺傳算法優(yōu)化網(wǎng)絡(luò)初始權(quán)重,實(shí)際上是將整個(gè)網(wǎng)絡(luò)訓(xùn)練分成了2部分:①采用遺傳算法優(yōu)化網(wǎng)絡(luò)的初始權(quán)重;②利用BP算法最終完成網(wǎng)絡(luò)訓(xùn)練。這樣能同時(shí)搜索函數(shù)曲線中多個(gè)個(gè)體,全局搜索能力極強(qiáng),不容易陷入局部極小值的特點(diǎn),是一種優(yōu)秀的全局尋優(yōu)的非線性優(yōu)化方法。
GA-BP算法的建模過程簡介如下:(1)首先確定采用典型的3層網(wǎng)絡(luò)結(jié)構(gòu),輸入層和輸出層神經(jīng)元節(jié)點(diǎn)數(shù)由不同站點(diǎn)已知,根據(jù)經(jīng)驗(yàn)公式先確定隱含層節(jié)點(diǎn)數(shù)范圍,再通過遺傳算法優(yōu)化網(wǎng)絡(luò)初始權(quán)重,主要內(nèi)容有:染色體的表達(dá)、目標(biāo)函數(shù)和適應(yīng)度函數(shù)的定義、進(jìn)化算子和遺傳算子的構(gòu)造等[5-7]。(2)以步驟(1)得到的優(yōu)化權(quán)重為輸入?yún)?shù),代入BP模型試算,經(jīng)過輸入樣本的訓(xùn)練最終得出穩(wěn)定的神經(jīng)網(wǎng)絡(luò)權(quán)值。
2.1 神經(jīng)網(wǎng)絡(luò)模型的建立
松花江干流的水文水位觀測站共有9個(gè),即肇源、三家子、澇州、哈爾濱、木蘭、通河、依蘭、佳木斯、富錦,松花江干流水系概化圖見圖1。在松花江干流范圍內(nèi),根據(jù)《水文情報(bào)預(yù)報(bào)規(guī)范》[8]對(duì)資料的要求,按照易獲取、資料連續(xù)、代表性強(qiáng)等原則,選取肇源、哈爾濱、通河、佳木斯、富錦5個(gè)代表站點(diǎn),均采用2008—2012年汛期水位逐日觀測資料作為訓(xùn)練樣本,選擇2013年汛期水位逐日觀測資料作為測試樣本,建立各站點(diǎn)神經(jīng)網(wǎng)絡(luò)水位預(yù)報(bào)模型。
圖1 松花江干流水系概化圖Fig.1 Water generalization map for mainstream of Songhuajiang River
通常上游洪水過程與下游洪水過程具有很好的相關(guān)性,同時(shí),利用下游的時(shí)間序列建模也能獲得較好的預(yù)報(bào)結(jié)果,因此在做下游洪水水位預(yù)報(bào)時(shí),上游與下游過去時(shí)刻的水位過程都是重要的影響因子。此外,由于松花江干流流域內(nèi)水庫與細(xì)小支流繁多,因此需要從備選輸入變量中挑選出對(duì)因變量影響較大的一些因子建立模型[9]。本文使用逐步回歸篩選法來挑選上邊界入流站點(diǎn)。逐步回歸篩選法是一種雙重檢驗(yàn)的方法。對(duì)于未選入方程的因子,只要它還可以提供顯著的解釋信息,能使殘差平方和下降最多,就可以進(jìn)入方程;而對(duì)于已進(jìn)入方程的因子,只要在已建立的過渡方程中不顯著,就要從方程中剔除。通過逐步回歸模型引入方程的因子,一定是對(duì)預(yù)報(bào)對(duì)象影響顯著的因子,此外,它還可以避免因子對(duì)預(yù)報(bào)對(duì)象的重復(fù)影響。
松花江干流流域站點(diǎn)水位觀測數(shù)據(jù)是基于假定基面所測得的高程值,而從2012年汛期開始,假定基面改變導(dǎo)致水位觀測值發(fā)生變化,從而影響到水位預(yù)報(bào)模型建模過程和預(yù)報(bào)結(jié)果。為了盡可能準(zhǔn)確地預(yù)報(bào)各站點(diǎn)水位,同時(shí)消除水位的非平穩(wěn)性影響,對(duì)水位時(shí)間序列作一階差分變換,即水位漲差,例如Δh=ht-ht-1,單位為m。整個(gè)神經(jīng)網(wǎng)絡(luò)水位預(yù)報(bào)模型計(jì)算步驟為:將該站點(diǎn)自身t-1日8時(shí)水位漲差及上邊界入流t日8時(shí)以前水位漲差歸一化后作為神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn),采用“試算法”來訓(xùn)練模型的主要參數(shù),包括隱含層神經(jīng)元節(jié)點(diǎn)數(shù),學(xué)習(xí)速率及目標(biāo)精度等,以獲取最佳的模擬效果,從而計(jì)算輸出反歸一化后得該站點(diǎn)t日8時(shí)水位漲差預(yù)報(bào)值,再加上該站點(diǎn)t-1日8時(shí)水位,可得該站點(diǎn)t日8時(shí)預(yù)報(bào)水位值。各站點(diǎn)模型運(yùn)行基礎(chǔ)數(shù)據(jù)具體描述見表1。
表1 基礎(chǔ)數(shù)據(jù)
注:*為支流站作為模型輸入。
對(duì)于上述2種基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的水位預(yù)報(bào)模型,考慮到模型結(jié)果對(duì)學(xué)習(xí)速率和迭代次數(shù)的敏感性較低,在訓(xùn)練過程中設(shè)置學(xué)習(xí)速率為0.001,最大迭代次數(shù)為5 000次。目標(biāo)精度隨預(yù)報(bào)站點(diǎn)不同而改變,隱含層節(jié)點(diǎn)數(shù)目通過試算確定,其余訓(xùn)練參數(shù)取默認(rèn)值。遺傳算法在運(yùn)行過程中的重要參數(shù)設(shè)置為:種群規(guī)模為100,迭代次數(shù)為100,選擇概率為0.1,交叉概率為0.2,變異概率為0.1。
2.2 評(píng)估準(zhǔn)則
根據(jù)文獻(xiàn)[8],可以采用許可誤差和確定性系數(shù)作為方案精度評(píng)定標(biāo)準(zhǔn),本文主要采用變幅均方差來量化許可誤差,采用均方根誤差(RMSE)和確定性系數(shù)(DC)量化模型的模擬結(jié)果。RMSE表示模型總體預(yù)報(bào)的精度水平,DC表示洪水預(yù)報(bào)過程與實(shí)測過程之間的擬合程序。模型評(píng)估以DC接近于1、RMSE趨于0 m為最佳擬合效果。具體計(jì)算方法如下:
(2)
(3)
(4)
2.3 預(yù)測結(jié)果及分析
上述2種水位預(yù)報(bào)模型均選取2008—2012年的汛期(6—9月)水位作為訓(xùn)練樣本,以2013年汛期(6—9月)水位作預(yù)測樣本,每個(gè)站點(diǎn)2種算法的有效預(yù)見期為24 h。要選擇出符合實(shí)際情況的神經(jīng)網(wǎng)絡(luò)模型,其中最關(guān)鍵的一步是利用預(yù)測樣本來不斷測試已經(jīng)訓(xùn)練好的模型,直到選出適合的模型。而判斷一個(gè)BP神經(jīng)網(wǎng)絡(luò)是否符合實(shí)際情況,主要觀察其預(yù)測能力的高低,為此必須利用測試數(shù)據(jù)對(duì)已訓(xùn)練好的模型進(jìn)行檢驗(yàn)。
2種基于改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的松花江干流5個(gè)站點(diǎn)的水位預(yù)報(bào)模型模擬效果見表2。由表2可見,由于在模型計(jì)算過程考慮用水位漲差代替水位變化,除了佳木斯站以外其它站點(diǎn)2種算法的預(yù)報(bào)合格率均達(dá)到90%以上,確定性系數(shù)也都為0.99以上,因此各站點(diǎn)的2種算法的預(yù)報(bào)方案均評(píng)定為甲級(jí)方案。由表2可知,在相同網(wǎng)絡(luò)結(jié)構(gòu)、傳遞函數(shù)及期望誤差等條件下,兩種算法模型均具有收斂速度快、預(yù)測精度高、不易陷入局部極小值等優(yōu)點(diǎn)。其中LM算法是為了訓(xùn)練中等規(guī)模的前饋神經(jīng)網(wǎng)絡(luò)而提出的最快速算法,因此它的學(xué)習(xí)收斂速度要比GA-BP算法快很多。各站2種算法的擬合效果見圖2~圖6。
表2 各站BP神經(jīng)網(wǎng)絡(luò)模型2013年水位預(yù)報(bào)精度統(tǒng)計(jì)
圖2 肇源站2013年汛期(6—9月)水位過程預(yù)報(bào)檢驗(yàn)Fig.2 Verifying the validity of water-level forecasting for flood season in 2013(June to September) for Zhaoyuan Station
圖3 哈爾濱站2013年汛期(6—9月)水位過程預(yù)報(bào)檢驗(yàn)Fig.3 Verifying the validity of water-level forecasting for flood season in 2013(June to September) for Harbin Station
圖4 通河站2013年汛期(6—9月)水位過程預(yù)報(bào)檢驗(yàn)Fig.4 Verifying the validity of water-level forecasting for flood season in 2013(June to September) for Tonghe Station
圖5 佳木斯站2013年汛期(6—9月)水位過程預(yù)報(bào)檢驗(yàn)Fig.5 Verifying the validity of water-level forecasting for flood season in 2013(June to September) for Jiamusi Station
圖6 富錦站2013年汛期(6—9月)水位過程預(yù)報(bào)檢驗(yàn)Fig.6 Verifying the validity of water-level forecasting for flood season in 2013(June to September) for Fujin Station
人工神經(jīng)網(wǎng)絡(luò)在洪水預(yù)報(bào)中應(yīng)用前景廣闊,但是從眾多的神經(jīng)網(wǎng)絡(luò)中選取最適合建立洪水預(yù)報(bào)模型的算法很困難。本文以松花江干流的水位為研究對(duì)象,考慮到假定基面的變化對(duì)水位觀測值的影響,因此各站均采用水位漲差來作為模型輸入,選取基于LM算法和基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)建立水位預(yù)報(bào)模型。從預(yù)報(bào)結(jié)果分析,所有5個(gè)代表站點(diǎn)2種算法的預(yù)報(bào)合格率>90%,確定性系數(shù)>0.99,預(yù)報(bào)精度均能達(dá)到甲等。說明兩種優(yōu)化后的BP算法在收斂速度和預(yù)測精度上均取得較好的效果,能夠有效地避免BP網(wǎng)絡(luò)陷入局部極小值。且GA-BP算法各性能評(píng)價(jià)指標(biāo)均略優(yōu)于LM算法,預(yù)報(bào)結(jié)果較為穩(wěn)定,表明遺傳算法能有效優(yōu)
化BP網(wǎng)絡(luò)初始權(quán)值和閾值,最適合用于建立水位預(yù)報(bào)模型。而在對(duì)精度要求不高的情況下,簡單的方法要優(yōu)于復(fù)雜的。因此,一般情況下,LM算法的預(yù)報(bào)精度滿足預(yù)報(bào)要求,可以用于松花江干流水位預(yù)報(bào)。
[1]陸志華,夏自強(qiáng),于嵐嵐,等.松花江干流中游段徑流年內(nèi)分配變化規(guī)律[J].河海大學(xué)學(xué)報(bào):自然科學(xué)版,2012, 40(1): 63-69.
[2]侯 翔,湯元斌,劉篤晉,等.三種神經(jīng)網(wǎng)絡(luò)在洪水預(yù)報(bào)中應(yīng)用的比較[J].計(jì)算機(jī)系統(tǒng)應(yīng)用, 2013, 22(12): 35-38.
[3]李云良,張 奇,李 淼,等.基于BP神經(jīng)網(wǎng)絡(luò)的鄱陽湖水位模擬[J].長江流域資源與環(huán)境,2015, 24(2): 233-240.
[4]閻平凡,張長水.人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算[M].北京:清華大學(xué)出版社.
[5]苑希民,李鴻雁.人工神經(jīng)網(wǎng)絡(luò)與遺傳算法在河道洪水預(yù)報(bào)中的應(yīng)用[J].水利發(fā)展研究,2002,2(12):50-55,58.
[6]翟宜峰,李鴻雁,劉寒冰,等.用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)初始權(quán)重的方法[J].吉林大學(xué)學(xué)報(bào):工學(xué)版, 2003, 33(2): 45-50.
[7]Van Rooij A J F, Jain L C, Johnson R P. Neural network training using genetic algorithms[M]. Singapore: World Scientific, 1996.
[8]SL250-2000,水文情報(bào)預(yù)報(bào)規(guī)范[S].
[9]Sezin T, Peggy A, Johnson A. Rainfall-runoff modeling using artificial network[J]. Journal of hydrology engineering, 1999,(7):232-239.
Application of the improved BP neural networks in water-level forecasting for mainstream of Songhuajiang River
LIU Wen-Bin1,ZHAO Si-Yuan2,HAO Zhen-Chun2,*,WANG Mao-Mei3,MA Xi-Rong4,NIMA Dan-Zeng5
(1.Hydrological Bureau of Heilongjiang Province, Harbin 150001, China;2.State Key Laboratory of Hydrology-Water Resources and Hydraulic Engineering,Hohai University, Nanjing 210098, China;3.Jiangsu Hydraulic Research Institute, Nanjing 210017, China;4.Pearl River Hydraulic Research Institute, Guangzhou 510611, China; 5.Shannan Branch of the Tibet Autonomous Region Hydrology Bureau,Shannan 856000,Tibet,China)
Water-level of mainstream of Songhuajiang River has a nonlinear response to the upper river discharges and the regulation and storage capacity of reservoir, the three-layer back propagation neural network has the ability to simulate water level for 5 representative hydrological observation stations in the mainstream of Songhuajiang Rvier, including Zhaoyuan Station, Harbin Station, Tonghe Station, Jiamusi Station, and Fujin Station. Based on slow convergence of learning, difficulty selecting of parameters and liability of dropping into local minimum for BP neural networks, the outcomes of these models is analyzed and compared, by establishing water-level forecasting models based on the Levenberg-Marquart algorithm and the genetic algorithm respectively. It shows both algorithms all have the fast convergence and excellent performance in forecasting water-level. Especially for that the paper join the genetic algorithm which is good in global searching and BP algorithm which is effective on accurate local searching together and supplementing mutually, the method has a good application prospects.in water-level forecasting field.
BP neural network; Levenberg-Marquart algorithm; genetic algorithm; water-level forecasting
10.13524/j.2095-008x.2015.04.055
2015-09-16
國家自然科學(xué)基金資助項(xiàng)目(41371047);中國科學(xué)院戰(zhàn)略性先導(dǎo)科技專項(xiàng)(XDA05110102);水文水資源與水利工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室專項(xiàng)經(jīng)費(fèi)(1069-514031112)
劉文斌(1975-),男,黑龍江鶴崗人,工程師,研究方向:水文預(yù)報(bào),E-mail:hljlwb@eyou.com;*通訊作者:郝振純(1958-),男,山西翼城人,教授,博士研究生導(dǎo)師,研究方向:水文水資源和氣候變化影響,E-mail: hzchun@hhu.edu.cn。
P338
A
2095-008X(2015)04-0006-06