龍訓建 錢 鞠 梁 川
水資源是人類社會生存與發(fā)展中不可替代的重要自然資源及生態(tài)環(huán)境系統(tǒng)的基本要素[1]。隨著人口增長和工農(nóng)業(yè)生產(chǎn)的發(fā)展,水資源供需矛盾日益加劇,所面臨的水危機日益嚴重;加上社會經(jīng)濟用水擠占了生態(tài)用水,使得天然河湖萎縮、消失,土地荒漠化等,造成生態(tài)環(huán)境失調(diào),嚴重阻礙了經(jīng)濟社會的持續(xù)發(fā)展[2~4]。用水量的高速增長和水資源的短缺使得水資源規(guī)劃和用水系統(tǒng)的優(yōu)化調(diào)度越來越重要,進行需水量預測則成為了實現(xiàn)水資源規(guī)劃和管理的有效手段之一[5]。作為全國首批節(jié)水型社會試驗縣之一,近年來,甘肅省瓜州縣經(jīng)濟建設快速發(fā)展,產(chǎn)業(yè)結(jié)構(gòu)戰(zhàn)略性調(diào)整,對水資源需求、開發(fā)和利用提出了新要求,因此,確保水資源的高效利用成為了經(jīng)濟和社會可持續(xù)發(fā)展的重要保證。
國內(nèi)外關(guān)于需水預測研究歷史悠久,但由于近年來水資源與經(jīng)濟社會之間的矛盾愈加突出,對于水資源需求的研究方式也呈現(xiàn)多樣化發(fā)展趨勢[6]。各種計算模型、模擬程序(如定額預測、回歸分析預測、指數(shù)法預測、灰色模型預測、神經(jīng)網(wǎng)絡模型等)都嘗試應用于需水預測方面的研究[7~9]。選擇合理的需水預測方法,不僅可以增加水資源配置研究工作的實際操作性,還可得到更符合社會經(jīng)濟發(fā)展趨勢的結(jié)果。無論采用何種需水預測模型,都需要對影響因子進行篩選。因子選擇過少,必然會影響預測結(jié)果的準確性;因子過多,會使網(wǎng)絡訓練復雜化,可能陷入局部優(yōu)化問題,難以得到全局優(yōu)化解。人工神經(jīng)網(wǎng)絡是當前國際學術(shù)界十分活躍的前沿研究領(lǐng)域,具有廣泛的應用領(lǐng)域。本文首先應用主成分分析法確定影響總需水量的主要因子,然后以此構(gòu)造BP神經(jīng)網(wǎng)絡的輸入樣本,進行BP神經(jīng)網(wǎng)絡的訓練與預測,以提高模型的學習和泛化能力。
在相關(guān)影響因子分析中,主成分分析是將多個指標化為少數(shù)相互無關(guān)的綜合指標的統(tǒng)計方法。其基本思想是通過變量的相關(guān)系數(shù)矩陣內(nèi)部結(jié)構(gòu)的研究,找出能控制所有變量的少數(shù)幾個隨機變量去描述多個變量直接的相關(guān)關(guān)系[10]。從數(shù)學角度而言,這屬于降維處理技術(shù)。對于有n個樣本的p個變量的原始資料矩陣X(n×p),進行主成分分析過程為:
a.對原始數(shù)據(jù)矩陣 X(n×p)標準化處理,得到新的數(shù)據(jù)矩陣
b.建立標準化后的p個指標的相關(guān)系數(shù)矩陣R
d.計算貢獻率em和累計貢獻率Em。
e.計算主成分荷載zm。它表示主成分與變量之間的相關(guān)系數(shù)。
人工神經(jīng)網(wǎng)絡是通過數(shù)學方法對人腦若干基本特性進行的抽象和模擬,是一種模仿人腦結(jié)構(gòu)及其功能的非線性信息處理系統(tǒng)[11,12]。經(jīng)過半個多世紀的發(fā)展,由于各種網(wǎng)絡結(jié)構(gòu)和算法系統(tǒng)的產(chǎn)生,已逐漸發(fā)展成較為完善的人工神經(jīng)網(wǎng)絡理論體系。BP神經(jīng)網(wǎng)絡是該技術(shù)中應用最為廣泛的一種,其特點有[11,13~15]:自適應、自組織、自學習的能力、非局域性和非凸性的突出優(yōu)點。正是這些特點使得該方法已經(jīng)解決了許多實際問題,其生命力也恰恰在于廣泛的實用價值[11]。為了能夠更好地泛化全局最優(yōu)問題,許多學者提出了很多針對性的辦法,主要包括以下三方面的改進[11]:一是提高網(wǎng)絡的訓練速度;二是提高訓練精度;三是避免落入局部極小點。
通常情況下,需水預測BP神經(jīng)網(wǎng)絡模型包括輸入層、隱含層和輸出層3部分。3層BP神經(jīng)網(wǎng)絡模型的理論計算步驟大致為:
第1步,將樣本的輸入、輸出變量歸一化處理,即將所有數(shù)據(jù)轉(zhuǎn)化至[0,1]之間。給每個連接權(quán)值wij,vjt,閾值與賦予區(qū)間(-1,1)內(nèi)的隨機值。
第2步,用輸入樣本 xk=(x1k,x2k,…,xnk)、連接權(quán)值和閾值θj計算隱層各單元的輸入,然后用通過傳遞函數(shù)計算隱層各單元的輸出bj。
第3步,利用隱層的輸出bj、權(quán)值 vj和閾值γt計算輸出層各單元的輸出Lt,然后通過傳遞函數(shù)計算輸出層各單元的實際輸出Ct。
第4步,利用網(wǎng)絡目標向量 Tk=(y1k,y2k,…,yqk)與網(wǎng)絡的實際輸出Ct,計算輸出層的各單元訓練誤差dtk。
第5步,利用連接權(quán)值vjt、輸出層的訓練誤差dt和中間層的輸出bj計算隱層各單元的訓練誤差ejk。
第6步,利用輸出層各單元的訓練誤差dtk與隱層各單元的輸出來修正連接權(quán)值閾值。
選取瓜州縣1988~2007年總需水量序列資料和區(qū)域社會經(jīng)濟資料作為基礎數(shù)據(jù)(部分統(tǒng)計結(jié)果見表1),將總需水量作為主成分回歸分析的因變量,國內(nèi)生產(chǎn)總值、工業(yè)產(chǎn)值、農(nóng)業(yè)總產(chǎn)值、人口總數(shù)、耕地面積、播種面積和大牲口數(shù)量7個因子作為自變量,應用SPSS分析軟件的主成分分析功能,求得相關(guān)系數(shù)矩陣R,結(jié)果見表2。從表2可知,7個因子存在不同程度的相關(guān)性。其中,國內(nèi)生產(chǎn)總值與農(nóng)業(yè)總產(chǎn)值的相關(guān)系數(shù)為0.981,國內(nèi)生產(chǎn)總值與人口總數(shù)、人口總數(shù)與農(nóng)業(yè)生產(chǎn)總值的相關(guān)系數(shù)均為0.965。由此可提取出彼此獨立的變量,篩選有代表性的因子構(gòu)造BP神經(jīng)網(wǎng)絡的輸入樣本。
根據(jù)表2的相關(guān)系數(shù)矩陣和主成分分析步驟b~d,得到所篩選7個因子的相關(guān)系數(shù)矩陣R的特征值和貢獻率計算結(jié)果,列于表3。從表3可以看出,第1個因子的貢獻率為80.987%,前2個因子的累計貢獻率達到93.193%,由此表明這2個因子基本上代表了原來7個因子93.193%的信息。由于通常情況下,因子累計貢獻率達到90%以上時就可以反映相關(guān)因子的影響,因此,可確定所選7個因子中的前2個因子代替原變量。
由式(6)計算表3中前2個因子的荷載矩陣,結(jié)果見表4。由表4可看出,國內(nèi)生產(chǎn)總值、工業(yè)產(chǎn)值和農(nóng)業(yè)總產(chǎn)值對第一主成分的相關(guān)系數(shù)都超過了0.95,相對其他因子貢獻最大;大牲口數(shù)對第二主成分貢獻最大。因此,選用國內(nèi)生產(chǎn)總值、工業(yè)總產(chǎn)值、農(nóng)業(yè)總產(chǎn)值和大牲口數(shù)4個因子作為主成分,并以此構(gòu)造BP神經(jīng)網(wǎng)絡輸入樣本。
2.2.1 模型的建立
建立BP神經(jīng)網(wǎng)絡需水預測模型,首先要確定輸入層、隱含層和輸出層的節(jié)點數(shù)。輸入層的節(jié)點數(shù)為影響水資源需求量的因子數(shù)。通過主成分分析法,與瓜州縣年總需水量有顯著關(guān)系的主要影響因子包括:國內(nèi)生產(chǎn)總值、工業(yè)總產(chǎn)值、農(nóng)業(yè)總產(chǎn)值、大牲口數(shù),由此可得出輸入層為4個節(jié)點。各因子1988~2007年的統(tǒng)計結(jié)果見圖1。預測對象為年總需水量,因此輸出層為1個節(jié)點。隱含層節(jié)點數(shù)的確定采用試算法,選取訓練與測試結(jié)果誤差最小所對應的隱含層神經(jīng)元數(shù)作為最后確定的隱含層節(jié)點數(shù)。
表1 瓜州縣典型年需水量及社會經(jīng)濟統(tǒng)計表Table 1 Water demand&social economy statistics of Guazhou,Gansu
表2 各自變量的相關(guān)系數(shù)矩陣Table 2 Correlation coefficients matrix of variables
表3 主成分特征值和貢獻率Table 3 Eigenvalues and contribution rates of principle constituents
表4 主要因子的荷載矩陣Table 4 Load matrix of main indices
圖1 四個主成分因子年際變化序列Fig.1 Variation of annual distribution of the four main indices
2.2.2 模型求解
通常情況下,為了加快訓練過程中的收斂速度,需對原始數(shù)據(jù)進行歸一化處理,具體計算公式為:
從樣本數(shù)據(jù)中選取1988~2004年樣本進行網(wǎng)絡訓練,2005~2007年的已知樣本對網(wǎng)絡進行檢驗。同時,選取適當初始學習率η=0.9,運算次數(shù)10 000,允許精度E=0.05,訓練函數(shù)采用Polak-Ribiere共軛梯度法的Purelin函數(shù)。經(jīng)試算,在隱含層神經(jīng)元數(shù)為8時,訓練效果最佳,預測值與實際值對比結(jié)果見圖2。采用此次訓練結(jié)果進行樣本檢驗,檢驗結(jié)果及檢驗誤差見表5。
從圖2可知,各年需水量預測值與實際值擬合精度較高,曲線基本重合。表5中檢驗結(jié)果表明,絕對誤差小于±0.05×109m3,在允許誤差范圍內(nèi)。顯然,這種基于主成分分析法構(gòu)造BP神經(jīng)網(wǎng)絡的輸入矩陣的訓練過程誤差較小,取得的預測結(jié)果也令人滿意。
圖2 BP神經(jīng)網(wǎng)絡預測結(jié)果Fig.2 Prediction outcome of BP neutral networks
表5 總需水量預測檢驗結(jié)果Table 5 Testing outcome of total water demand prediction
a.通過主成分分析,確定了影響瓜州縣需水量的主要因子,包括國內(nèi)生產(chǎn)總值、工業(yè)總產(chǎn)值、農(nóng)業(yè)總產(chǎn)值、大牲口數(shù)。這4個因子的累計貢獻率達到93.193%。
b.由于神經(jīng)網(wǎng)絡模型具有局部逼近的特征和較強的非線性映射能力,因此它能夠較好地模擬具有較強非線性變化特點的需水預測問題。基于主成分分析的BP神經(jīng)網(wǎng)絡簡化了網(wǎng)絡輸入樣本,消除了網(wǎng)絡輸入之間的相關(guān)性,降低了網(wǎng)絡的輸入層數(shù),改善了程序執(zhí)行效率,從整體上提高了網(wǎng)絡的性能。最終取得了良好的預測結(jié)果。
[1]王浩.我國水資源合理配置的現(xiàn)狀和未來[J].水利水電技術(shù),2006,37(2):7-14.
[2]鄭度.中國西北干旱區(qū)土地退化與生態(tài)建設問題[J].自然雜志,2007,29(1):7-12.
[3]朱丹果,上官智鋒.西北地區(qū)水資源可持續(xù)發(fā)展的障礙及解決策略[J].環(huán)境科學與管理,2007,32(6):51-53.
[4]沈福新,耿雷華,曹霞莉,等.中國水資源長期需求展望[J].水科學進展,2005,16(4):522-525.
[5]呂智,陳文貴,丁宏偉.干旱區(qū)內(nèi)陸盆地水資源的合理配置——以甘肅省高臺縣為例[J].水資源保護,2005,21(6):45-48.
[6]王浩,游進軍.水資源合理配置研究歷程與進展[J].水利學報,2008,39(10):1168-1175.
[7]和剛,吳澤寧,胡彩虹.基于定額定量分析的工業(yè)需水預測模型[J].水資源與水工程學報,2008,19(2):60-63.
[8]劉俊萍,暢明琦.徑向基函數(shù)神經(jīng)網(wǎng)絡需水預測研究[J].水文,2007,27(5):12-16.
[9]甘治國,蔣云鐘,魯帆,等.北京市水資源配置模擬模型研究[J].水利學報,2008,39(1):91-95.
[10]張妍,尚金城,于相毅.主成分-聚類復合模型在水環(huán)境管理中的應用——以松花江吉林段為例[J].水科學進展,2005,16(4):592-595.
[11]苑希民,李鴻雁,劉樹坤,等.神經(jīng)網(wǎng)絡和遺傳算法在水科學領(lǐng)域的應用[M].北京:中國水利水電出版社,2002.
[12]高雋.人工神經(jīng)網(wǎng)絡原理及仿真實例[M].北京:機械工業(yè)出版社,2007.
[13]凌和良,桂發(fā)亮,樓明珠.BP神經(jīng)網(wǎng)絡算法在需水預測與評價中的應用[J].數(shù)學的實踐與認識,2007,37(22):42-47.
[14]張雪飛,郭秀銳,程水源,等.BP神經(jīng)網(wǎng)絡法預測唐山市需水量[J].安全與環(huán)境學報,2005,5(5):95-98.
[15]董長虹.Matlab神經(jīng)網(wǎng)絡與應用[M].北京:國防工業(yè)出版社,2007.