張 麗,吳金亮,楊國范
(1.吉林師范大學(xué) 旅游與地理科學(xué)學(xué)院,吉林 四平136000;2沈陽農(nóng)業(yè)大學(xué) 水利學(xué)院,沈陽110866)
參考作物蒸散量(Reference Evapotranspiration,ET0)是一種假想的參考作物冠層的蒸騰速率,它非常類似于表面開闊、高度一致、生長旺盛、完全遮蓋地面而不缺水的綠色草地的蒸騰量[1-2]。ET0的研究與估算,一直是灌溉和排水領(lǐng)域的重要研究課題之一,它的準(zhǔn)確計算直接影響作物需水預(yù)報的精度,進而影響到區(qū)域水資源的優(yōu)化配置。作物需水量的研究是節(jié)水農(nóng)業(yè)的重要內(nèi)容,對水資源規(guī)劃和陸地水文學(xué)的研究具有重要意義[3]。傳統(tǒng)方法計算ET0時需要對風(fēng)速等氣象資料進行修正或需要一些不易測得的氣象資料,這給一些條件相對較差地區(qū)的農(nóng)業(yè)用水計算預(yù)報和調(diào)度帶來很大困難,在一些氣象資料缺測時具有明顯的局限和不足[4]。隨著我國水資源的日趨緊張,有必要對參考作物蒸散量的計算預(yù)報模型進行簡化,使其具有一定精度,方便農(nóng)業(yè)生產(chǎn)的需要。正確估算作物需水量不僅僅是節(jié)約用水、計劃用水、工程建設(shè)與規(guī)劃等需要解決的重要問題,也是農(nóng)業(yè)經(jīng)濟用水、作物生長模擬、水資源平衡分析與評價研究中的一個重要因素[5]。
20世紀(jì)80年代迅速發(fā)展起來的人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks),是模擬生物神經(jīng)網(wǎng)絡(luò)進行信息處理的一種數(shù)學(xué)模型。它以對大腦的生理研究成果為基礎(chǔ),模擬大腦的某些機理和機制,實現(xiàn)一些特定的功能[6]。由于其獨特的分布并行處理、非線性映射、自適應(yīng)學(xué)習(xí)能力等已經(jīng)在諸多領(lǐng)域得到廣泛應(yīng)用,并取得了較好的成果[7]。目前常用的神經(jīng)網(wǎng)絡(luò)模型包括前饋神經(jīng)網(wǎng)絡(luò)、反饋神經(jīng)網(wǎng)絡(luò)和隨機神經(jīng)網(wǎng)絡(luò)等,其中應(yīng)用較多的模型包括多層反向傳播網(wǎng)絡(luò)(BP網(wǎng)絡(luò))、自組織特征映像網(wǎng)絡(luò)(SOFM網(wǎng)絡(luò))、徑向基函數(shù)網(wǎng)絡(luò)(RBFN網(wǎng)絡(luò))和自適應(yīng)共振網(wǎng)絡(luò)(ARTNN網(wǎng)絡(luò))等[4,8]。其中BP神經(jīng)網(wǎng)絡(luò)是較為成熟也是應(yīng)用最多的一種非線性函數(shù)逼近方法[9],在預(yù)測預(yù)報和分類評價中較為適用[10]。而ET0與各影響因素之間可以看作是一種復(fù)雜的非線性關(guān)系。在對ET0的原有成果基礎(chǔ)上加以改進并將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于ET0的預(yù)測,具有較廣泛的應(yīng)用價值。
本研究利用BP神經(jīng)網(wǎng)絡(luò)強大的非線性函數(shù)逼近功能,建立基于BP神經(jīng)網(wǎng)絡(luò)方法的參考作物蒸散量的計算模型(簡稱BP-ET0模型),用以指導(dǎo)當(dāng)?shù)氐霓r(nóng)業(yè)用水宏觀調(diào)控。
東港灌區(qū)位于遼寧省東港市管轄范圍,地處鴨綠江和大洋河下游,東經(jīng)123°38′30″—124°21′25″,北緯39°47′24″—40°9′49″,東西長65km,南北寬約 40 km,總控制面積1 352km2。灌區(qū)由鐵甲分區(qū)和友誼分區(qū)組成,包括東港市的21個鄉(xiāng)、鎮(zhèn)、農(nóng)場,202個行政村,總耕地面積6.996萬hm2。灌區(qū)設(shè)計灌溉面積4.992萬hm2,實際灌溉水田面積3.707萬hm2,是遼寧省大型灌區(qū)之一,也是丹東市的主要水稻產(chǎn)區(qū)。
對數(shù)據(jù)的規(guī)范化處理(數(shù)據(jù)單位轉(zhuǎn)化及歸一化處理)。其中,歸一化處理采用的公式如下:
式中:xnorm——樣本歸一化的值;xi——樣本初始值;xmax——樣本最大值;xmin——樣本最小值。
利用Matlab軟件提供的工具箱編制BP網(wǎng)絡(luò)程序解決非線性問題是一種便捷、有效的途徑,在使用時要注意以下幾個關(guān)鍵環(huán)節(jié):
訓(xùn)練樣本必須滿足兩個條件:一是樣本要足夠多,能反映事物的復(fù)雜程度;二是樣本要具有代表性,盡可能包含能代表各類特征的模式,不能沒有其中的任何一種[11]。網(wǎng)絡(luò)的輸入因子的確定目前無定量指標(biāo),一般可依據(jù)經(jīng)驗和需要來確定。在ET0的預(yù)測中,要把握其影響因子的輕重程度,作出合理的輸入因子的選擇。以關(guān)鍵因子作為輸入項[12]。同樣,網(wǎng)絡(luò)的輸出因子也需根據(jù)網(wǎng)絡(luò)的需要來確定。
BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層和輸出層及各層神經(jīng)元之間連接組成[13]。在模型樣本相對較少的情況下,較少的隱層數(shù)可以實現(xiàn)模型樣本空間的超平面劃分。此時,三層BP即可行;當(dāng)模式樣本數(shù)很多時,增加一個隱層是必要的,但BP網(wǎng)絡(luò)隱層數(shù)一般不超過兩層。
隱層節(jié)點數(shù)的選擇是一個十分復(fù)雜的問題,往往需要根據(jù)設(shè)計者的經(jīng)驗和多次實驗來確定。如果隱含層神經(jīng)元數(shù)目過少,網(wǎng)絡(luò)很難識別樣本,難以完成訓(xùn)練,并且網(wǎng)絡(luò)的容錯性也會降低;如果數(shù)目過多,則會增加網(wǎng)絡(luò)的迭代次數(shù),從而延長網(wǎng)絡(luò)的訓(xùn)練時間,同時也會降低網(wǎng)絡(luò)的泛化能力,導(dǎo)致預(yù)測能力下降。隱層節(jié)點數(shù)的選擇至今沒有統(tǒng)一的規(guī)范,可以用錯試法來確定,即:首先給定較小的隱層節(jié)點數(shù),構(gòu)成一個較小的BP網(wǎng)絡(luò),進行訓(xùn)練,如果訓(xùn)練很多次或在規(guī)定的訓(xùn)練次數(shù)內(nèi)沒有滿足收斂條件,停止訓(xùn)練。當(dāng)訓(xùn)練次數(shù)驟然減少,以后再增加隱層節(jié)點數(shù)時,對訓(xùn)練次數(shù)影響不大,并且誤差最小,此時的隱層節(jié)點數(shù)即是要求的隱層節(jié)點數(shù)。
結(jié)合研究內(nèi)容建立如下BP—ET0模型,解決相應(yīng)的問題。
3.1.1 訓(xùn)練、檢驗樣本及輸入、輸出因子的確定 應(yīng)用BP神經(jīng)網(wǎng)絡(luò)建模進行ET0預(yù)測時,需先確定訓(xùn)練和檢驗樣本集。為了能夠指導(dǎo)東港地區(qū)的農(nóng)業(yè)生產(chǎn),選擇1999年5—9月水稻生育期的逐日氣象資料作為訓(xùn)練樣本,2000年同期的逐日氣象資料作為檢驗樣本。根據(jù)研究的需要,用FAO推薦的Penman—Montieth方法計算ET0[14],作為輸出因子。為了確定輸入因子,將氣溫、凈輻射、相對濕度、風(fēng)速、氣壓等主要氣象因子進行ET0回歸分析,選擇與ET0相關(guān)系數(shù)高的氣象因子作為輸入因子,如圖1所示。
各氣象要素與ET0的相關(guān)系數(shù)由高到低依次是凈輻射、相對濕度、風(fēng)速、氣溫、水氣壓和氣壓。因此,選擇日凈輻射量、日平均相對濕度和日平均風(fēng)速3個氣象因子作為模型的輸入因子。
圖1 1999年水稻生育期ET0與各氣象因子的關(guān)系圖
3.1.2 網(wǎng)絡(luò)層數(shù)和隱層節(jié)點數(shù)的確定 數(shù)學(xué)上己經(jīng)證明多層前饋網(wǎng)絡(luò)具有很強的函數(shù)映射功能,一個三層前饋人工神經(jīng)網(wǎng)絡(luò)足以解決一般函數(shù)的擬合逼近問題。ET0的預(yù)測問題實際上是函數(shù)映射或擬合的問題,因此選擇三層的BP網(wǎng)絡(luò)。
對于給定的訓(xùn)練樣本數(shù),存在一個最佳BP網(wǎng)絡(luò)結(jié)構(gòu),即最少隱層節(jié)點數(shù),使網(wǎng)絡(luò)訓(xùn)練次數(shù)最少且具有最廣泛的預(yù)測能力。確定模型的隱層節(jié)點數(shù)分別從模型的訓(xùn)練次數(shù)與隱層節(jié)點數(shù)兩方面考慮,如圖2、表1所示。
圖2 訓(xùn)練次數(shù)與隱層節(jié)點數(shù)關(guān)系圖(goal=0.0001)
圖2顯示,當(dāng)隱層節(jié)點數(shù)為8時,訓(xùn)練次數(shù)驟然減少且趨于穩(wěn)定;以后再增加隱層單元數(shù),對訓(xùn)練次數(shù)影響不大;當(dāng)隱層節(jié)點數(shù)小于8時,訓(xùn)練次數(shù)增加且不能滿足收斂條件,當(dāng)隱層節(jié)點數(shù)為8~11時,訓(xùn)練次數(shù)出現(xiàn)一些波動,但是相對穩(wěn)定。由此,初步確定隱層節(jié)點數(shù)為8,9,10,11。
表1 不同隱層節(jié)點數(shù)時網(wǎng)絡(luò)預(yù)測的相對誤差
由表1可知,以平均相對誤差為主要參考對象,以最大、最小相對誤差為次要參考對象,當(dāng)隱層節(jié)點數(shù)為11時,預(yù)測效果較好,確定11為隱層節(jié)點數(shù)。
3.1.3 傳遞函數(shù)的確定 網(wǎng)絡(luò)中間層的神經(jīng)元傳遞函數(shù)采用S型正切函數(shù)tansig,輸出層神經(jīng)元傳遞函數(shù)采用S型對數(shù)函數(shù)logsig。函數(shù)的輸出位于區(qū)間(0—1),滿足網(wǎng)絡(luò)輸出的要求。
3.1.4 訓(xùn)練函數(shù)的確定 不同的訓(xùn)練函數(shù)對網(wǎng)絡(luò)的收斂速度、性能、網(wǎng)絡(luò)訓(xùn)練及預(yù)測結(jié)果等均有重要的影響,經(jīng)比較確定網(wǎng)絡(luò)的訓(xùn)練函數(shù)如表2所示。
由表2可知,當(dāng)訓(xùn)練函數(shù)為trainlm函數(shù)時,網(wǎng)絡(luò)的訓(xùn)練次數(shù)最少,預(yù)測效果最好。當(dāng)訓(xùn)練函數(shù)為其他函數(shù)時,網(wǎng)絡(luò)的訓(xùn)練次數(shù)較多,預(yù)測效果也相對較差。
3.1.5 網(wǎng)絡(luò)參數(shù)的最終確定 根據(jù)以上研究,確定優(yōu)化的BP—ET0網(wǎng)絡(luò)模型的具體參數(shù)為:網(wǎng)絡(luò)結(jié)構(gòu):3-11-1;輸入因子:日凈輻射、日平均相對濕度和日平均風(fēng)速;輸出因子:FAO56Penman—Montieth計算出的ET0值;傳遞函數(shù):輸入、輸出隱層均為tansig函數(shù);訓(xùn)練函數(shù):trainlm函數(shù)。
表2 不同訓(xùn)練函數(shù)的結(jié)果比較
3.2.1 ET0的預(yù)測結(jié)果與趨勢分析 通過對比BP—ET0模型的預(yù)測值及由FAO56Penman—Montieth計算出的ET0目標(biāo)值的變化趨勢,分析模型的趨勢預(yù)測效果,結(jié)果如圖3所示。
圖3 ET0目標(biāo)值與預(yù)測值變化趨勢圖
由圖3可知,BP-ET0模型的預(yù)測值與目標(biāo)值變化趨勢基本一致,可作ET0的變化趨勢預(yù)測。
3.2.2 絕對誤差分析 通過分析ET0的預(yù)測值與目標(biāo)值的絕對誤差,分析模型的模擬預(yù)測效果,如圖4所示。
由圖4可知,BP模型的最小絕對誤差為0,最大絕對誤差為1.30mm,絕對誤差絕對值的平均值為0.39mm,并由絕對誤差大多為正值可以看出用BP—ET0模型預(yù)測,其預(yù)測值較目標(biāo)值偏大。
3.2.3 相對誤差分析 通過對比ET0的預(yù)測值與目標(biāo)值的相對誤差,分析模型的模擬預(yù)測效果,如圖5所示。
由預(yù)測的相對誤差可知,BP模型的最小相對誤差為0,最大相對誤差為30.5%,相對誤差絕對值的平均值為9%。
3.2.4 均方誤差及根均方誤差分析 通過分析ET0的預(yù)測值與目標(biāo)值的均方誤差(MSE)和根均方誤差(RMSE),分析模型的模擬預(yù)測效果,計算公式如下:
式中:n——樣本數(shù);yi——預(yù)測值;zi——目標(biāo)值。由計算可得,預(yù)測值與目標(biāo)值的均方誤差為0.23,根均方差為0.48。
圖4 ET0預(yù)測值與目標(biāo)值絕對誤差
圖5 ET0預(yù)測值與目標(biāo)值相對誤差
從多個氣象因子的ET0回歸分析出發(fā),確定模型的輸入因子。通過對選擇不同隱層節(jié)點數(shù)和選用不同的傳遞函數(shù)及訓(xùn)練函數(shù)的預(yù)測值與目標(biāo)值的相對誤差分析,得到了預(yù)測ET0的最優(yōu)BP—ET0神經(jīng)網(wǎng)絡(luò)模型。通過檢驗結(jié)果分析,得到如下結(jié)論:
(1)通過訓(xùn)練建立了BP—ET0的預(yù)測模型,網(wǎng)絡(luò)訓(xùn)練時具體參數(shù)是:網(wǎng)絡(luò)結(jié)構(gòu)為3-11-1;輸入因子分別為日凈輻射量、日平均相對濕度和日平均風(fēng)速;輸出因子為用Penman—Monteith公式計算得到的同期ET0值;傳遞函數(shù)為tansig函數(shù);訓(xùn)練函數(shù)為trainlm函數(shù)。
(2)用BP—ET0模型預(yù)測出的ET0與用Penman—Monteith公式計算出的ET0隨時間變化的趨勢基本一致,即,可以用此模型對ET0的變化趨勢進行預(yù)測。
(3)用BP—ET0模型預(yù)測出的ET0與用Penman—Monteith公式計算出的ET0平均絕對誤差為0.39mm;平均相對誤差為9%;均方差為0.23,根均方差為0.48mm。預(yù)測值和目標(biāo)值的絕對誤差和相對誤差大多為正值,BP—ET0模型預(yù)測值較目標(biāo)值偏大。
[1] 劉鈺,Pereira L S.氣象數(shù)據(jù)缺測條件下參照騰發(fā)量的計算方法[J].水利學(xué)報,2001(3):11-17.
[2] 李榮超.水稻覆膜旱作節(jié)水高產(chǎn)灌溉模式研究[D].南京:河海大學(xué),2000.
[3] 王志良,黃軍學(xué).基于MATLAB神經(jīng)網(wǎng)絡(luò)工具箱的作物需水量預(yù)測[J].華北水利水電學(xué)院學(xué)報,2009,30(1):5-6.
[4] 徐俊增,彭世彰.BP神經(jīng)網(wǎng)絡(luò)在農(nóng)田水利學(xué)科的應(yīng)用[J].灌溉排水學(xué)報,2003(專):41-33.
[5] 尚虎君,馬孝義,高建恩,等.趙西寧作物需水量計算模型組件研究與應(yīng)用[J].節(jié)水灌溉,2011(8):66-72.
[6] 尹京川,馬孝義,孫永勝,等.基于BP神經(jīng)網(wǎng)絡(luò)與GIS可視化的作物需水量預(yù)測[J].中國農(nóng)村水利水電,2012(2):13-15,18.
[7] 苑希民,李鴻雁.神經(jīng)網(wǎng)絡(luò)和遺傳算法在水科學(xué)領(lǐng)域的應(yīng)用[M].北京:水利水電出版社,2002.
[8] 王旭,王宏,王文輝.人工神經(jīng)元網(wǎng)絡(luò)原理與應(yīng)用[M].沈陽:東北大學(xué)出版社,2002.
[9] 武開福.基于灰色關(guān)聯(lián)度與BP神經(jīng)網(wǎng)絡(luò)模型的日參考作物騰發(fā)量預(yù)測[J].水土保持研究,2011,18(2):237-240.
[10] 王麗霞,任志遠(yuǎn),孔金玲.基于BP模型的延河流域社會經(jīng)濟需水預(yù)測[J].干旱區(qū)資源與環(huán)境,2011,25(4):106-110.
[11] 余世明.作物需水量的灰色拓?fù)漕A(yù)測[J].四川水利,1996(2):18-21.
[12] 馬黎華,康紹忠,粟曉玲,等.農(nóng)作區(qū)凈灌溉需水量模擬及不確定性分析[J].農(nóng)業(yè)工程學(xué)報,2012,28(8):11-18.
[13] 張兵,袁壽其,成立,等.基于L—M優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)的作物需水量預(yù)測模型[J].農(nóng)業(yè)工程學(xué)報,2004,20(6):73-76.
[14] 賈德彬,劉艷偉,張永平,等.內(nèi)蒙古河套灌區(qū)春小麥高效用水灌溉制度研究[J].干旱區(qū)資源與環(huán)境,2008,22(5):174-177.