鄧 皓,李文竹,劉婧然,劉 心
(河北工程大學 信息與電氣工程學院,河北 邯鄲 056038)
我國的核桃種植面積和產(chǎn)量在世界處于領先地位[1]。對其需水量大小進行精確的判斷對制定合理的灌溉用水計劃有著深遠的影響。影響核桃需水的因素具有高維、非線性等特點,模型中不考慮或考慮的因素過少都難以詮釋核桃生長需水的規(guī)律,導致預測結果通常會缺乏合理性,所以對影響因素進行有效的篩選具有很大的必要。核桃果實迅速膨大的時間段是核桃需水的重要時期[2],建立一個合理的預測模型對該時期進行需水量預測十分重要。
國內外關于農(nóng)作物需水量的預測和農(nóng)業(yè)灌溉的研究很多種,比較常見的有:李志新等[3]把日序數(shù)等因素作為模型的輸入,通過遺傳算法對Elman神經(jīng)網(wǎng)絡的優(yōu)化,針對參考作物的需水量構建了GA-Elman預測模型。夏澤豪等[4]結合神經(jīng)網(wǎng)絡和灰色理論,考慮到了多種氣象因素的影響,確立了模型拓撲結構。趙桂生等[5]構建了GM(1,1)模型對我國農(nóng)業(yè)灌溉方面的用水量進行預測。江顯群等[6]用彭曼公式得出玉米的需水量數(shù)據(jù),將此作為預測模型的基礎,得出此模型在玉米需水量預測中的優(yōu)勢。而關于影響因素篩選的方面,董健衛(wèi)等[7]通過幾種方法進行了分析比較,分析了各個指標間的關系和對PM2.5的影響程度。關于復雜的非線性問題用神經(jīng)網(wǎng)絡模型進行預測有一定的局限性,徐朗等[8]利用思維進化算法的全局尋優(yōu)能力建立MEA-BP預測模型,結果表明此模型的預測精度有所提升。
本文利用核桃果實膨大期的數(shù)據(jù),以核桃的日平均需水量做出準確的預測為目標,提出MIV-MEA-Elman模型。MIV算法可以有效地消除影響因素的信息重疊,篩選出較優(yōu)的指標,找到對核桃需水量有較大影響的因素,然后利用思維進化算法具有良好的全局搜索性能,解決了單純的人工神經(jīng)網(wǎng)絡受制于初始權值和閾值的隨機選擇問題,提升模型的預測精度。
核桃灌水的關鍵時期在7月份,需要充分考慮這段時間內核桃的需水情況。本次實驗對象為河北省邯鄲市河北工程大學試驗田中的核桃作物。自動氣象站設在實驗田中,氣象數(shù)據(jù)均是由離地面2 h處測得,數(shù)據(jù)自動記錄在數(shù)據(jù)采集器中,以天為單位采集了河北省邯鄲市2015-2017年每年7月1日-31日的氣象數(shù)據(jù)資料,其中包括:平均氣溫(℃)、平均氣壓(hPa)、相對濕度(%)、日照時數(shù)(h)和風速(m/s)。
該核桃試驗田在邯鄲西部,土壤pH值為7. 25。實驗過程中分別測出了1.0 m以上的各層土壤干容重及田間持水量,田間持水量(占干土質量)為26.3%。土層厚度在1.0 m以上,其中核桃樹根系在1.1 m以上。
根據(jù)氣象資料以及逐日核桃作物需水量數(shù)據(jù),建立了MIV-MEA-Elman神經(jīng)網(wǎng)絡的核桃果實膨大期需水量預測模型。在得到的93組數(shù)據(jù)中,前62組數(shù)據(jù)作為訓練集訓練模型,其余31組數(shù)據(jù)作為測試集用于測試與驗證。
本模型所考慮的輸入變量由MIV算法篩選出來,對各影響因素計算出平均影響值,進行變量篩選,找到影響核桃需水量的主要因素,將其作為輸入層,輸入到經(jīng)過思維進化算法優(yōu)化后的神經(jīng)網(wǎng)絡模型中,進行核桃的需水量預測。
1.2.1 MIV(平均影響值)算法篩選影響核桃需水量因素
氣象條件對核桃的生長發(fā)育和對水分需求大小影響很大,與核桃需水量之間的聯(lián)系錯綜復雜,因此要對各因素進行一個篩選,找到對核桃需水量有較大影響的輸入變量。MIV算法可以分析各個指標對輸出變量的重要性,可對影響核桃需水的因素進行合理有效的篩選。
對于n個影響因素,設為n維向量x,進行次觀測,得到向量空間X=[x1,x2,…,xm]T,其所對應的核桃需水向量空間Y寫為Y=[y1,y2,…,ym]T。X作為網(wǎng)絡模型的輸入指標,而Y作為神經(jīng)網(wǎng)絡的輸出。將X中每一列分別進行如下變換[9]:
(1)
(2)
重新將式(1)和(2)作為神經(jīng)網(wǎng)絡模型輸入,其輸出為樣本點中第i(i=1,2,…,n)個影響因素指標改變時所對應的輸出向量:
(3)
(4)
(5)
式中:IVi(j)代表向量IVi中第j(j=1,2,…,m)個元素;MIVi為核桃數(shù)據(jù)樣本中第i(i=1,2,…,n)個影響因素指標對核桃需水量輸出結果的平均影響值,它的符號代表該影響因素與核桃需水量相關的方向,絕對值大小代表該影響因素對核桃需水量影響的重要程度。
1.2.2 Elman神經(jīng)網(wǎng)絡對核桃需水量的預測
核桃需水存在不確定和多輸入等復雜的非線性特性,每個影響因素和核桃需水量之間存在非常復雜的非線性關系。神經(jīng)網(wǎng)絡本身具有的具有非線性、高維性等一系列特點,可以解決線性模型受限制的問題,有效地針對核桃需水這種錯綜復雜的情況。
Elman神經(jīng)網(wǎng)絡具有訓練速度快和動態(tài)記憶性強等突出優(yōu)點[10,11]。四層結構如圖1所示。輸入層的神經(jīng)元個數(shù)根據(jù)影響核桃需水的因素來決定,隱含層單元用線性或非線性激活函數(shù)表示,承接層和輸出層分別起到提高處理動態(tài)信息和線性加權輸出的作用,將核桃需水的影響因素作為輸入,經(jīng)過四層結構,各層神經(jīng)元對影響因素的數(shù)值作用后,生成核桃需水量的預測結果。
圖1 Elman神經(jīng)網(wǎng)絡結構圖
該網(wǎng)絡狀態(tài)空間的表達式如下:
v(k)=g[w3r(k)]
(6)
r(k)=f{w1re(k)+w2[o(k-1)]}
(7)
re(k)=r(k-1)
(8)
式中:k為目前狀態(tài)的時刻;v為輸出節(jié)點向量;r為隱含層節(jié)點單元向量;o為輸入的節(jié)點向量;re為反饋狀態(tài)向量;w3、w2、w1分別為承接層至隱含層、輸入層至隱含層和隱含層至輸出層的連接權值;g代表輸出層節(jié)點激活函數(shù);f為隱含層節(jié)點激活函數(shù)。
1.2.3 MEA(思維進化算法)對神經(jīng)網(wǎng)絡的優(yōu)化
神經(jīng)網(wǎng)絡進行求解時會存在早熟和陷入局部極小值等問題,思維進化算法具有良好的全局搜索性,在解決這些問題上反映出了明顯的優(yōu)勢[13,14]。其過程首先在解空間得到得分高的優(yōu)勝和臨時個體,以這些個體為中心生成新的個體形成優(yōu)勝和臨時子種群,子群體內的趨同操作使其成熟,將成熟后的得分在公告板上張貼,子群體間再進行異化操作找出全局最優(yōu)個體,經(jīng)過不斷迭代后最優(yōu)個體的得分不變或者迭代結束,輸出最優(yōu)個體,其系統(tǒng)框架圖如圖2所示。
圖2 MEA系統(tǒng)框架圖
經(jīng)過MIV算法篩選出影響核桃需水量的主要因素,然后將其作為建立好的MEA-Elman神經(jīng)網(wǎng)絡模型的輸入層,可以得出預測核桃需水量的結果,流程如圖3所示。
圖3 核桃需水預測流程圖
具體流程如下:
(1)將核桃需水量和采集到的氣象等因素樣本輸入模型中進行訓練。
(2)樣本中的每一個影響因素根據(jù)MIV算法的計算規(guī)則,得出對應的平均影響值。
(3)按照各影響因素平均影響值的絕對值大小排序,進行變量篩選,篩選出影響核桃需水量的主要因素。
(4)篩選后的數(shù)據(jù)重新組成新的樣本,根據(jù)Elman神經(jīng)網(wǎng)絡的拓撲結構, 將解空間映射到編碼空間,每個編碼對應問題的一個解,形成初始種群、優(yōu)勝子子種群和臨時子種群。
(5)通過思維進化算法中的趨同、異化等操作,不斷進行迭代逼近最優(yōu)路徑,滿足成熟準則時全局的最優(yōu)解搜索過程結束,輸出最優(yōu)個體,作為Elman神經(jīng)網(wǎng)絡最優(yōu)的初始權值和閾值。
(6)計算網(wǎng)絡誤差反饋給網(wǎng)絡,判斷是否完成訓練。
(7)完成訓練,進行仿真預測,輸出預測結果,得到核桃需水量預測數(shù)值。
圖4為2015和2016兩年7月份1號至31號的核桃需水量變化規(guī)律折線圖。
根據(jù)此圖我們很容易看出前十天核桃需水量變化較為平穩(wěn),從第十天開始上升,此時核桃需水量變大,待達到了峰值后開始迅速下降,總體來看在7月份核桃需水量呈周期規(guī)律性變化。
圖4 核桃需水變化規(guī)律
在進行仿真試驗中,數(shù)據(jù)本身存在的某些問題可能會對預測結果的精度產(chǎn)生影響,例如數(shù)據(jù)丟失或者數(shù)據(jù)異常等。因此,我們要對其中異常數(shù)據(jù)和殘缺數(shù)據(jù)進行處理,得到一組滿足預測算法輸入要求的完善數(shù)據(jù)。
對原始數(shù)據(jù)的缺失值進行處理的方法有很多種(極大似然估計和多重插補)等,但存在的問題是這些方法相對來說比較單一,很少或者是沒有考慮到其他變量對所缺變量的影響,而EM(期望最大化)方法和回歸分析方法可以很好的反應各變量之間的關系,是兩種嚴謹?shù)姆椒ā@肧PSS軟件中的回歸分析方法分析出各因素之間的相關性,得出完整的實驗數(shù)據(jù)。
各種影響因素對核桃需水量的重要程度如表1所示。
表1 MIV算法篩選影響值結果
表中符號(+、-)代表影響因素對核桃需水的影響方向,將得到的平均影響值進行標準化處理可以更直觀地看出影響因素對核桃需水的重要程度。由表中可得出以下結論:
(1)對核桃需水量具有正影響的為風速、平均氣溫、日照時數(shù)這3個因素,具有負影響為平均氣壓和相對濕度兩個因素。
(2)依據(jù)影響程度高低進行排序:平均氣溫的影響程度最大,排在第一位,其余依次為平均氣壓、相對濕度、日照時數(shù)和風速。其中風速對核桃成長過程中的需水量影響最小。
經(jīng)多次實驗比較,模型最佳的參數(shù)如表2、3所示。
表2 Elman神經(jīng)網(wǎng)絡參數(shù)設置
表3 思維進化算法參數(shù)設置
Elman神經(jīng)網(wǎng)絡最優(yōu)的初始權值和閾值由思維進化算法中優(yōu)勝和臨時子種群趨同異化操作后確定,其過程如圖5圖6所示。
圖5 臨時子種群趨同過程
圖6 優(yōu)勝子種群趨同過程
根據(jù)圖5和6可知, 經(jīng)過多次的趨同操作,各個子種群的得分也就不再產(chǎn)生變化,表明此時它們都已經(jīng)成熟。種群成熟后可能會出現(xiàn)一種情況----某個臨時子種群的子種群得分可能會比優(yōu)勝子種群中的某個子種群的得分高,這時候就需要執(zhí)行異化操作。經(jīng)過趨同和異化過程,才最終完成對神經(jīng)網(wǎng)絡初始權值和閾值的優(yōu)化。
加入GA-Elman模型和Elman網(wǎng)絡預測結果以便比較,預測結果如圖7所示。
圖7 預測結果和真實值曲線
為了更好分析模型對核桃需水量進行預測時的性能,分別對思維進化算法、遺傳算法優(yōu)化后的以及未經(jīng)優(yōu)化的Elman神經(jīng)網(wǎng)絡進行分析。選用MAE(平均絕對誤差)和RMSE(均方根誤差)兩種分析指標,MAE能很好地反映預測值誤差的實際情況,其值越小,預測值產(chǎn)生的誤差越小,RMSE用來衡量預測值與真實值之間的偏差,能夠很好地反映出預測的準確度,其值越小,表示預測值與真實值的偏差越低,預測準確度越高。
式中:N為測試樣本數(shù);Pi為核桃需水預測值;P為核桃需水真實值。
MEA-Elman神經(jīng)網(wǎng)絡:MAE為0.075,RMSE為0.317
GA-Elman神經(jīng)網(wǎng)絡:MAE為0.094,RMSE為0.352
Elman神經(jīng)網(wǎng)絡:MAE為0.139,RMSE為0.517
由結果可以得出,優(yōu)化后的神經(jīng)網(wǎng)絡模型比普通的Elman神經(jīng)網(wǎng)絡模型預測的結果更靠近核桃需水的實測值。而經(jīng)過遺傳算法優(yōu)化過的神經(jīng)網(wǎng)絡模型,相比經(jīng)過思維進化算法優(yōu)化后的模型,預測值同真值之間的偏差偏大,能看出思維進化算法在核桃作物需水預測中的準確度和預測效果更好。
基于MIV-MEA-Elman神經(jīng)網(wǎng)絡的需水量預測模型,分析了核桃需水量和氣象影響因素與之間的關系,找到對核桃需水量有較大影響的輸入變量,思維進化算法解決了Elman神經(jīng)網(wǎng)絡求解存在的早熟和局部極小值等問題,獲取了模型的最優(yōu)初始權值和閾值。仿真結果驗證了此模型的優(yōu)勢, 可以有效地進行了核桃作物需水量預測預報工作,及時合理地調整灌溉制度,有助于實現(xiàn)核桃作物的精準灌溉。