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