吳 麟,馮利華
(浙江師范大學(xué)地理與環(huán)境科學(xué)學(xué)院,浙江 金華 321004)
隨著人工神經(jīng)網(wǎng)絡(luò)自身技術(shù)的不斷完善,應(yīng)用人工神經(jīng)網(wǎng)絡(luò)成功解決各類地學(xué)問題的案例大量出現(xiàn)。在地學(xué)分析中使用的各類人工神經(jīng)網(wǎng)絡(luò)類型中,在水文、地質(zhì)、大氣、遙感等領(lǐng)域應(yīng)用較為廣泛[1]。在水文領(lǐng)域,神經(jīng)網(wǎng)絡(luò)技術(shù)的應(yīng)用包括了降雨預(yù)報、徑流預(yù)報、水質(zhì)與水量預(yù)測、水庫優(yōu)化調(diào)度、地下水管理、水土資源利用規(guī)劃等方面的研究,并且BP模型應(yīng)用最廣,占到85%以上[2]。
由于大氣遙相關(guān)的存在,厄爾尼諾所形成的熱帶海洋熱狀況變化所造成的大氣環(huán)流和氣候變化將傳播到中高緯度[3]。而NINO-3區(qū)涵蓋了赤道東太平洋的大部分海域,其海溫變化在厄爾尼諾和拉尼娜事件中具有很好的代表性。有研究表明NINO-3區(qū)水溫的變化可導(dǎo)致次年春季副高和東亞大槽強(qiáng)度產(chǎn)生變化,進(jìn)而影響我國氣候[4]。
鑒于此,在經(jīng)濟(jì)快速發(fā)展與水荒矛盾日益激化的今天,擬用BP神經(jīng)網(wǎng)絡(luò)的方法,用NINO-3區(qū)海表溫度作為預(yù)測因子對義烏市大氣降水進(jìn)行預(yù)測。以期為義烏市的開源節(jié)流工作提供參考,包括水庫蓄水、人工增雨等。同時,也為其它地區(qū)的水資源預(yù)測提供方法上的借鑒。
BP神經(jīng)網(wǎng)絡(luò)基于誤差反向傳遞算法(Back-Propagation),其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)見圖1[5]。
圖1 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖
在BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建中,所選用的傳遞函數(shù)是反映下層輸入對上層節(jié)點(diǎn)刺激脈沖強(qiáng)度的函數(shù),一般取(0,1)內(nèi)連續(xù)取值的Sigmoid函數(shù):
BP網(wǎng)絡(luò)的輸入層一般沒有閾值和激活函數(shù),即輸入層神經(jīng)元的輸出等于輸入神經(jīng)元的輸入,而隱含層和輸出層神經(jīng)元的輸出則須經(jīng)過權(quán)重和閾值的處理。設(shè)網(wǎng)絡(luò)具有層,設(shè)輸入層為第0層,令ymj表示第m層中第j個結(jié)點(diǎn)的輸出,而yj0就等于xj,即第j個輸入,令Wmij表示從第m-1層i節(jié)點(diǎn)到m層j節(jié)點(diǎn)的連接權(quán),θmj表示第m層第j結(jié)點(diǎn)的閾值,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟如下[6]:
(1)將各權(quán)值和閾值賦予間的隨機(jī)數(shù);
(2)從訓(xùn)練數(shù)據(jù)組中選一數(shù)據(jù)對(Xk,Tk),將輸入變量加到輸入層(m=0)使
式中:k表示訓(xùn)練圖形號,即訓(xùn)練模式的序號。
(3)信號通過網(wǎng)絡(luò)向前傳播,即利用關(guān)系式:
計算從第1層開始的各層內(nèi)每個結(jié)點(diǎn)j的輸出ymi,直至全部完畢。其中F(x)取Sigmiod函數(shù);
(4)計算輸出層每個結(jié)點(diǎn)的誤差變化率:
這個誤差由實際輸出值和目標(biāo)要求值之差獲得。
(5)計算前面各層每個結(jié)點(diǎn)的誤差變化率:
由逐層反傳誤差算得(m=m,m-1,…,1)。
(6)反向逐層修正權(quán)值和閾值:
式中:t為迭代次數(shù);η為學(xué)習(xí)速率[η∈(0,1)];α為動量因子[α∈(0,1)]。η較大時,收斂快,但不穩(wěn)定;η較小時,收斂慢;α正好與η相反。
(7)返回至步驟(2),轉(zhuǎn)入下一個圖形,重復(fù)步驟(2)~(7),直至網(wǎng)絡(luò)全局誤差:
E達(dá)到預(yù)設(shè)的精度E0為止,即E≤E0。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練好后,相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)設(shè)置(權(quán)值和閾值等)就已確定,此時學(xué)習(xí)過程將自動結(jié)束,構(gòu)建好的BP模型即可進(jìn)行預(yù)報分析。
降水量預(yù)測是非線性問題,許多因變量與自變量之間的關(guān)系無法用具體的函數(shù)來描述,而BP神經(jīng)網(wǎng)絡(luò)技術(shù)模擬大腦的思維過程,具有非線性適應(yīng)性信息處理能力,恰好避開這一難題[7]。通過神經(jīng)元之間的相互作用完成整個網(wǎng)絡(luò)的信息處理,根據(jù)對非線性函數(shù)的復(fù)合逼近輸入和輸出之間的映射,具有自學(xué)習(xí)、自組織和容錯性等一系列優(yōu)點(diǎn),用它來進(jìn)行降水量預(yù)測是可行的。
義烏市全年降水時間分配不均,該區(qū)多年平均降水量為1406mm,其中主要集中在5—6月,2個月的降水占全年降水的31%。因此,本文中的預(yù)測對象采用5—6月的降水總量,原始數(shù)據(jù)來源于中國氣象局國家氣候中心。
使用前一年的11月、12月以及次年的1月、2月、3月、4月的任一單月NINO-3區(qū)月平均溫度以及這6個月的任意組合,來預(yù)測義烏市次年5—6月的總降水量。經(jīng)過多次的試預(yù)測,最終選出了誤差最小的預(yù)測方法,即用前一年12月的NINO-3區(qū)海表平均溫度來預(yù)測義烏市次年5—6月的總降水量預(yù)測效果最佳。因此,選用NINO-3區(qū)12月的海表平均溫度作為預(yù)測因子(見表1)。
表1 12月NINO-3區(qū)海表平均溫度以及義烏市5—6月降水總量及其預(yù)報結(jié)果表
1989 年 Robert Hecht和Nielson證明:在任何閉區(qū)間內(nèi)一個連續(xù)函數(shù)都可以用一層隱含層的BP網(wǎng)絡(luò)逼近,因而一個3層的BP網(wǎng)絡(luò)可以完成任意的n維到m維的映射。為此本案例采用單隱含層的3層網(wǎng)絡(luò)結(jié)構(gòu)。1947年,Kolmogorov闡述了一個涉及隱含層節(jié)點(diǎn)數(shù)的內(nèi)容,人們稱之為Kolmogorov定理。此定理提及隱含層的節(jié)點(diǎn)數(shù)為2n+1個單元。由于輸入層的節(jié)點(diǎn)數(shù)n=1,根據(jù)Kolmogorov定理,隱含層的節(jié)點(diǎn)數(shù)2n+1=3。由此得到用于降水預(yù)報的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為 (1,3,1)。
將1981—1999年12月NINO-3區(qū)海表平均溫度的數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練樣本,將數(shù)據(jù)加載到BP網(wǎng)絡(luò)后,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練和學(xué)習(xí)。選取學(xué)習(xí)率η=0.2,動量因子α=0.6,誤差容限E0≤0.4,即預(yù)設(shè)精度為40%,訓(xùn)練次數(shù)為50萬次。
將表1中2000—2002年義烏市5—6月降水量作為測試樣本,對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行預(yù)報。由于訓(xùn)練過的網(wǎng)絡(luò)已“模擬”并“記憶”了輸入變量和輸出變量之間的 “函數(shù)關(guān)系”,因而可以用它來進(jìn)行義烏市5—6月降水總量的預(yù)報。網(wǎng)絡(luò)測報結(jié)果列于表1,訓(xùn)練樣本的平均誤差為21.22%,預(yù)測樣本的平均誤差為15.90%,預(yù)報情況良好。
水資源已經(jīng)極大地制約了義烏市的經(jīng)濟(jì)發(fā)展,降水量預(yù)測對義烏市的意義十分重大。然而,雖然在自然界許多因變量y與自變量x之間存在著密切的關(guān)系y=f(x),但這種關(guān)系無法用一個具體的函數(shù)來描述。正如NINO-3區(qū)海表溫度以及義烏市降水量之間,無法建立具體的函數(shù)關(guān)系。而BP神經(jīng)網(wǎng)絡(luò)的最大優(yōu)點(diǎn)在于它不需要設(shè)計任何數(shù)學(xué)模型,只要通過對歷史數(shù)據(jù)的訓(xùn)練和學(xué)習(xí),網(wǎng)絡(luò)就能夠“模擬”并“記憶”輸入變量和輸出變量之間的任何復(fù)雜的“函數(shù)”關(guān)系。
經(jīng)過多次試預(yù)測,選出12月NINO-3區(qū)海表平均溫度作為預(yù)測因子,義烏市5—6月的降水總量為預(yù)測對象。將1981—1999年12月NINO-3區(qū)海表平均溫度的數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練樣本,2000—2002年義烏市5—6月的降水總量作為測試樣本。網(wǎng)絡(luò)測報結(jié)果平均誤差為15.90%,預(yù)報情況良好。將神經(jīng)網(wǎng)絡(luò)預(yù)測方法用于降水量預(yù)測,不僅可以為義烏市的開源節(jié)流工作提供參考,也為其它地區(qū)的水資源預(yù)測提供借鑒。
[1]李雙成,鄭度.人工神經(jīng)網(wǎng)絡(luò)模型在地學(xué)研究中的應(yīng)用進(jìn)展[J].地球科學(xué)進(jìn)展,2003(01):68-76.
[2]胡鐵松,袁鵬,丁晶.人工神經(jīng)網(wǎng)絡(luò)在水文水資源中的應(yīng)用[J].水科學(xué)進(jìn)展,1995(01):76-82.
[3]王遠(yuǎn)超,陳明璐,黎玲,等.2009年盛夏廣西大范圍干旱成因初探 [J].安徽農(nóng)業(yè)科學(xué),2010,38(12):42-44.
[4]胡桂芳,鄒瑾,張璇.下半年Nino3區(qū)海表升溫對東亞春季大氣環(huán)流及山東春季降水的影響 [J].應(yīng)用氣象學(xué)報,2005,16(6):773-778.
[5]HaganMT,Demuth HB,Beale M.Neural network design[M].New York:PWS Publishing Company,2002:6-14.
[6]馮利華.基于神經(jīng)網(wǎng)絡(luò)的洪水預(yù)報研究[J].自然災(zāi)害學(xué)報,2000(02):45-48.
[7]付東王,王超,張倩,等.基于 BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測區(qū)域需水量 [J].城市道橋與防洪,2011(04):93-97.