李國強,金建新
(1.甘肅省水利水電工程局有限責(zé)任公司,甘肅 蘭州 730000;2.寧夏農(nóng)林科學(xué)院農(nóng)業(yè)資源與環(huán)境研究所,寧夏 銀川 750000)
參考作物騰發(fā)量ET0作為確定作物需水量的重要依據(jù),在農(nóng)業(yè)生產(chǎn)中得到了廣泛的應(yīng)用,傳統(tǒng)的ET0獲取手段為利用Penman-Monteith 公式借助氣象參數(shù)進行計算,該方法已被廣泛驗證,是ET0計算的科學(xué)可靠的計算方法,但該方法所需要的氣象參數(shù)較多,需要專業(yè)氣象站獲取[1]。近年來隨著機器學(xué)習(xí)、深度學(xué)習(xí)等算法的興起,黑箱模型在預(yù)測區(qū)域ET0方面已被廣泛驗證。目前在ET0預(yù)測上使用較多的黑箱模型分別為BP 神經(jīng)網(wǎng)絡(luò)、遺傳算法、小波神經(jīng)網(wǎng)絡(luò)、粒子群算法、支持向量機等[2-8],均取得較好的預(yù)測效果,但是不同的算法往往也表現(xiàn)出較大的差異,而且在全年氣候變化劇烈、海拔較高等區(qū)域,現(xiàn)存的黑箱模型還需要進一步改進[9-10],而線性方程作為經(jīng)驗性模型,雖然結(jié)構(gòu)簡單,但存在較大的區(qū)域波動性,需要根據(jù)地域氣象特征進行參數(shù)校核,在使用過程中存在一定的制約[11]。本文通過比較隨機森林、BP 神經(jīng)網(wǎng)絡(luò)等黑箱方法以及線性方程,篩選出和P-M 法計算結(jié)果最為接近的預(yù)測模型,建立適合彭陽縣ET0的預(yù)報模型,為該區(qū)域制定適宜的作物灌水方案,實現(xiàn)水資源集約節(jié)約使用提供技術(shù)支撐。
氣象數(shù)據(jù)來自寧夏回族自治區(qū)氣象局與國家氣象信息中心,選用彭陽縣氣象站點2010年~2019 年共10年的氣象資料,主要包括地表氣象站的逐日平均最高和最低氣溫、平均風(fēng)速、平均相對濕度、日照時數(shù)等。所有的氣象參數(shù)都經(jīng)過了嚴(yán)格的極值和時間一致性檢驗。
(1)Penman-Monteith 公式法
采用標(biāo)準(zhǔn)彭曼56 法來計算ET0,該方法通過將高度為12 cm,反照率為0.23 以及表面阻力為70 s/m 的草類作為參考作物,該假設(shè)準(zhǔn)確地模擬了相同生長高度、充足水分和足夠營養(yǎng)條件下開闊草地表面的騰發(fā)量。其公式為:
式中:ET0是草類的參考騰發(fā)量,mm/d;Rn是作物頂層的凈輻射量,MJ/(m2?d);G 是土壤熱通量密度,MJ/(m2?d);T 是2 m 高度處的逐日平均氣溫,℃;es是飽和水汽壓,kPa;ea是實際水汽壓,kPa;es-ea代表的是水汽壓缺失值,kPa;Δ是水汽壓曲線斜率,kPa/℃;γ是濕溫計常數(shù),kPa/℃。
(2)隨機森林
隨機森林(RF)算法是Breiman 提出的基于多棵決策樹對樣本進行訓(xùn)練,并根據(jù)訓(xùn)練得到的模型對待測樣本類別進行預(yù)測的一種監(jiān)督學(xué)習(xí)分類算法。該方法泛化能力強、速度快、穩(wěn)定性好、精度高等優(yōu)勢。擬合步驟一般分為采用bootstrap 采樣、構(gòu)造決策樹、生成隨機森林、獲取模擬結(jié)果等四個步驟,本文中隨機森林樹的數(shù)量選擇為300,節(jié)點處隨機抽取的變量數(shù)為3,變量為氣象因子,分別為最高溫度、最低溫度、平均相對濕度、風(fēng)速、日照時數(shù),在模擬過程中由3 個逐漸增加至5 個分別計算。
(3)BP 神經(jīng)網(wǎng)絡(luò)
BP 神經(jīng)網(wǎng)絡(luò) 是1986 年由Rumelhart 和McClelland 為首的科學(xué)家提出的概念,主要由輸入層、隱藏層、輸出層以及層級之間連接的網(wǎng)絡(luò)構(gòu)成。本文中輸入層神經(jīng)元節(jié)點個數(shù)分別選擇3 個、4 個、5 個,即和引入的氣象因子個數(shù)一致。輸出層神經(jīng)元個數(shù)和目標(biāo)變量數(shù)一致,即始終選擇1,隱含層節(jié)點個數(shù)按照經(jīng)驗選取,這里模擬選擇輸入層節(jié)點數(shù)的75%,分別選擇2 個、3 個和4 個,即分別構(gòu)成3-2-1、4-3-1 和5-4-1等3 種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),最小訓(xùn)練速率選擇0.1,動態(tài)參數(shù)取0.6,參數(shù)Sigmoid 取0.9,允許誤差取0.0001,最大迭代次數(shù)取1000,對輸入節(jié)點的數(shù)據(jù)進行標(biāo)準(zhǔn)化轉(zhuǎn)換。
(4)線性方程
偏最小二乘回歸(PLS 回歸)是一種統(tǒng)計學(xué)方法,是通過投影分別將預(yù)測變量和觀測變量投影到一個新空間,來尋找一個線性回歸模型。因為數(shù)據(jù)X 和Y 都會投影到新空間,PLS系列的方法都被稱為雙線性因子模型。集多元線性回歸分析、典型相關(guān)分析、主因子分析等方法于一體的偏最小二乘回歸方法(PLS)更適用于FM 分析,可以避免數(shù)據(jù)非正態(tài)分布、因子結(jié)構(gòu)不確定性和模型不能識別等潛在問題。使用偏最小二乘回歸建立最高氣溫(x1)、最低氣溫(x2)、平均相對濕度(x3)、平均風(fēng)速(x4)和日照時數(shù)(x5)與ET0(y)的線性關(guān)系,不考慮兩因素互作和二次項。
圖1 為利用隨機森林算法對彭陽縣2010 年~2019 年月累計ET0的預(yù)測結(jié)果。分析可知,在不同氣象因子個數(shù)條件下,1 月~3 月和9 月~12 月預(yù)測值均較Penman-Monteith公式計算結(jié)果偏大,在4 月~8 月份則預(yù)測值較Penman-Monteith公式計算結(jié)果偏小。引入3因子(最高溫度、最低溫度、平均相對濕度)、4 因子(最高溫度、最低溫度、平均相對濕度、風(fēng)速)和5 因子(最高溫度、最低溫度、平均相對濕度、風(fēng)速、日照時數(shù))時模擬得到的2010 年~2019 年年平均累計ET0值為1023.6 mm、1030.81 mm 和1001.13 mm,分別較Penman-Monteith 法計算結(jié)果小3.2%、2.4%和5.3%。
圖1 彭陽縣2010 年~2019 年月累計ET0 預(yù)測值和實測值
當(dāng)引入的氣象因子逐漸增多時,模擬精度(RMSE)略有改善,但是效果不顯著,甚至在增加日照時數(shù)因子時模擬精度低于4 因子條件。圖2 (a)中當(dāng)引入最高溫度、最低溫度、平均相對濕度3 個氣象因子時,均方根誤差RMSE 為22.85 mm,當(dāng)引入最高溫度、最低溫度、平均相對濕度、風(fēng)速4 個氣象因子時,均方根誤差RMSE 為22.33 mm(圖2 (b)),以及當(dāng)引入最高溫度、最低溫度、平均相對濕度、風(fēng)速、日照時數(shù)5 個氣象因子時,均方根誤差RMSE 為23.15 mm(圖2 (c))。可見當(dāng)氣象因子為3 個~5 個時,利用隨機森林(RF)對彭陽月累計ET0的預(yù)測精度相差不大,整體表現(xiàn)精度較低。
圖2 過濾器流量—水頭損失關(guān)系曲線
圖2 彭陽縣2010 年~2019 年ET0 預(yù)測精度
圖3 為引進3~5 個氣象因子利用BP 神經(jīng)網(wǎng)絡(luò)對彭陽縣2010 年~2019 年月累計ET0預(yù)測結(jié)果,可以看出基本和Penman-Monteith 法計算結(jié)果較為接近,其中3 因子結(jié)果較P-M 法均偏小,4 因子模擬結(jié)果為1 月、2 月和10 月較P-M法偏小,7 月份較P-M 法偏大,5 因子模擬結(jié)果均較P-M 法偏大。引入3 因子、4 因子和5 因子時模擬得到的2010 年~2019 年 年 平 均 累 計ET0值 為995.56 mm、1052.68 mm 和1095.63 mm,前2 個結(jié)果分別較Penman-Monteith 法(年均ET0 為1057.44 mm)小5.85%、0.45%,引入5 因子的模擬值較P-M 法大3.6%。
圖3 彭陽縣2010 年~2019 年月累計ET0 預(yù)測值和實測值
圖4 為P-M 法和BP 神經(jīng)網(wǎng)絡(luò)引入不同氣象因子個數(shù)條件下模擬得到的月累計ET0,可見當(dāng)引入3個氣象因子時,RMSE為9.80 mm,當(dāng)引入4 個氣象因子時,RMSE 為6.48 mm,當(dāng)引入5 個氣象因子時,均方根誤差RMSE 為6.77 mm,可見引入4個以上氣象因子時,月累計ET0的模擬效果明顯改進。總之當(dāng)氣象因子為3 個~5 個時,利用BP 神經(jīng)網(wǎng)絡(luò)對彭陽縣月累計ET0的預(yù)測精度均較高,特別是引入4 個以上氣象因子時,模擬精度進一步提高。
圖4 彭陽縣2010 年~2019 年ET0 預(yù)測比較
彭陽縣2010 年~2019 年月累計ET0與不同氣象因子的線性回歸方程見表1,可以看出氣象因子為3~5 個時建立的線性方程其RMSE 介于10.88 mm~19.04 mm 之間,決定系數(shù)R2介于0.82~0.94 之間,表現(xiàn)為顯著相關(guān)。
表1 不同氣象因子下ET0 線性回歸方程
圖5 為分別引入3~5 個氣象因子利用線回歸方程對彭陽縣2010 年~2019 年月累計ET0預(yù)測結(jié)果,從圖上可以看出各因子下1 月份的模擬結(jié)果較Penman-Monteith 法計算結(jié)果嚴(yán)重偏小,6 月~7 月份模擬結(jié)果較P-M 法偏大。引入3 因子、4 因子和5 因子時模擬得到的2010 年~2019 年年平均累計ET0 值為1060.4 mm、1057.4 mm 和1057.5 mm,其中3 因子模擬結(jié)果較P-M 法略大(僅大0.28%),而引入4 因子和5 因子的模擬得到的年平均累計ET0和P-M 法基本一致。
圖5 彭陽縣2010 年~2019 年月累計ET0 預(yù)測值和實測值
圖6 為引入不同氣象因子個數(shù)條件下月累計ET0P-M 法和線性回歸模擬值, 可見隨著引進因子的增加, 模擬精度逐步提高, 特別是引入5 個氣象因子時, 模擬精度顯著提高。
圖6 彭陽縣2010 年~2019 年ET0 預(yù)測比較
(1)利用Penman-Monteith 法計算得到彭陽縣2010 年~2019 年年平均參考作物騰發(fā)量ET0為1057.44 mm,隨機森林(RF)黑箱模型在引入3 個、4 個和5 個氣象因子的條件下,模擬得到的平均年ET0分別為1023.6 mm、1030.81 mm和1001.13 mm,分別較Penman-Monteith 法計算結(jié)果小3.2%、2.4% 和5.3%, 均 方 根 誤 差RMSE 分 別 為22.85、22.33、23.15。
(2)利用BP 神經(jīng)網(wǎng)絡(luò)模擬得到彭陽縣2010 年~2019 年年平均累計ET0值為995.56 mm、1052.68 mm 和1095.63 mm,分別較Penman-Monteith 法小5.85%、0.45%和大3.6%,RMSE分別為9.80 mm、6.48 mm 和6.77 mm。
(3)利用線性方程模擬得到的彭陽縣2010 年~2019 年年平均累計ET0值為1060.4 mm、1057.4 mm 和1057.5 mm,其中3 因子模擬結(jié)果較P-M 法大0.28%,而引入4 因子和5因子的模擬得到的年平均累計ET0和P-M 法基本一致。
(4)表明BP 神經(jīng)網(wǎng)絡(luò)模型在模擬彭陽縣年ET0方面誤差最小,精度最高,結(jié)果基本和Penman-Monteith 法一致,能較為準(zhǔn)確反映ET0的累計值和變化過程。而氣象因子從3 個增加到4 個時,預(yù)測值顯著改善,但當(dāng)繼續(xù)增加氣象因子時模擬效果提高不顯著,甚至?xí)霈F(xiàn)降低。