任亞飛,田 帥,邵馨葉,2,邵建龍
(1.昆明理工大學信息工程與自動化學院,昆明 650500;2.佛羅里達理工學院科學與工程學院,美國 墨爾本 32901)
參考作物騰發量(ET0)的精確預測對農業的發展起著重要的作用,其預測結果將對植物的生長和灌溉方案的設計產生直接的影響。國內外的學者對此做了大量的研究工作。目前用于定量預測的方法主要有回歸分析、時間序列和灰色系統等。其中回歸分析的計算量大,且對非線性系統的建模比較困難;時間序列預測法主要利用ET0的已有數據對未來情況進行預測,并不能反映外部因素對結果的影響,預測精度差;灰色系統預測法所需的資料較少,導致其預測精度不高[1-3]。1998年由聯合國糧農組織提出的經典Peman-Monteith公式是目前最常用的計算方法[4]。然而,由于該方法計算所需的相關氣象數據的獲取難度較大,并存在計算復雜的缺陷,導致實用性不強。
近年來,隨著神經網絡理論的迅速發展,在此基礎上構建的BP神經網絡模型,在針對ET0的預測工作方面,已經獲得相對廣泛的實際應用。然而該算法在實際使用過程中通常具有對初始權重和閾值過分敏感的情況,并表現出較為緩慢的收斂速度。相比之下,PSO算法所含的全局尋優能力尤為顯著,此外無需設置過多的各項參數,計算過程簡單。正因如此,國內外許多學者選擇通過PSO算法對BP神經網絡所涉及的初始連接權重進行必要的優化,以此增強神經網絡所具備的泛化能力及其相應的學習能力。張志政[5]等以PSO-BP神經網絡為基礎,成功建立了西安地區參考作物騰發量的預測模型,并根據影響因素的多種排列方式,分析了不同組合因素對預測精度的影響。吳復昌[6]提出了基于PSO算法的中型灌區輸水調度模型,證明PSO算法能夠快速地獲得模型的全局最優解,并且提高了灌溉效率。這些都證明了PSO-BP算法在灌溉量預測上的應用是可行有效的。然而,由于存在自身的局限,過去所沿用的傳統PSO算法,一般會出現過早收斂的情況,影響預測結果的精度。
本文提出一種通過非線性權重遞減策略來降低算法陷入局部極值可能性的改進PSO-BP算法,并借助于商丘地區氣象站的數據進行驗證,結果表明ADAPPSO-BP模型在ET0預測方面具有比BP模型、PSO-BP模型具有更高的預測精度。
通常情況下,PSO算法在實際使用過程中,由于迭代時每一個粒子均會朝著自身及其整個群體記錄的歷史最優位置不斷聚集,使得粒子群出現快速趨同效應。在此情況下,極易導致局部極值、早熟收斂和停滯等現象的發生[7]。標準PSO算法,為有效應對這種情況,通常選擇借助于線性遞減的慣性權重來解決,此時W隨迭代次數變化的表達式為:
(1)
式中:Wmax為最大慣性權重;Wmin為最小慣性權重;t為算法運行的實際次數;tmax為算法所能運行次數的最大值。
一般情況下,當Wmax=0.9,Wmin=0.4時,可以取得較好的優化效果。
事實上,線性遞減PSO算法在某種程度上確實能夠有效調節自身的局部收斂能力,然而,如果在計算初期,該算法未找到自身的最佳點,則一旦W值持續下降,該算法的局部收斂能力將持續增強,導致極易出現局部最優的情況。值得一提的是,如果能夠在算法初期探測到次好點,則W值相對取小,就能盡快找出最佳點。但是,如果W一直表現為線性遞減的趨勢,將會延緩算法的收斂速度。故本文選擇借助于非線性遞減函數的特點,對W進行動態地自適應調整,來降低算法在全局最優解附近陷于早熟收斂的概率,此時慣性權重的表達式為:
W=Wmax-(t/tmax)20.3
(2)
基于公式(2)得知,非線性遞減能在一定程度上于算法初期延緩慣性權重持續降低的速率,從而使慣性權重得以維持較長時間的較大值,以此來探索更多的區域,盡可能地減少局部極值現象的發生。而在算法后期W值將會急劇降低,這將會促進粒子的局部搜索能力不斷增強,可以進一步提高發現全局最優值的概率[8]。
為切實增強BP神經網絡的預測精度,克服傳統PSO算法所含有的局限性,在上述改進算法的基礎上,提出了ADAPPSO-BP混合算法來進行ET0的預測。該算法的流程如下:
(1)初始化粒子群維數,基于BP神經網絡的自身結構,亟待優化的PSO粒子群維數為:
D=(m+1)n+(n+1)p
式中:m代表輸入層所含的節點數;n代表隱含層所含的節點數;p代表輸出層所含的節點數[9]。
(2)對粒子群的相關參數進行初始化。粒子數量設定為N=20,粒子的位置范圍在BP神經網絡所求的權閾值基礎上上下浮動50%,粒子的速度限制區域為位置限制的,同時,tmax=100,學習因子設定為c1=c2=2,Wmax=0.7,其范圍為[0.7,0.4]。
(3)確定適應度函數。其適應度函數為:
(3)

(4)基于公式(3)可求出粒子自身的適應度函數,隨后可將其與個體極值之間進行對比,如果更小則作為新的個體極值;然后將個體極值與全局極值進行比較,如果小于該極值,則將其視為新的全局極值。
(5)根據式(4)、式(5)更新粒子的速度和位置:
Vt+1=WVt+c1r1(pbest-Xt)+c2r2(gbest-Xt)
(4)
Xt+1=Xt+Vt+1
(5)
式中:Xt表示粒子的實際位置;Vt表示粒子的速度;r1=r2代表在[0,1]范圍內的隨機數;其余符號意義同前。
(6)判斷是否滿足算法終止條件,如果滿足,則BP神經網絡的最佳權重及其閾值,即為算法所求得的全局最優解位置。
(7)最后,將最佳權重及其相應的閾值傳遞至BP神經網絡,完成必要的網絡預測工作,構建改進后的APAPPSO-BP模型。
整個模型的算法實現流程如圖1所示。

圖1 ADAPPSO-BP算法流程
本文中的實驗數據來源于中國氣象數據網提供的中國地面氣候資料日值數據集(V3.0)中商丘站2014-01-01-2016-06-17共900 d的逐日風速、日照時長、平均氣溫、最高氣溫、最低氣溫和平均相對濕度6個氣象資料,并以此作為原始數據,采用修正后的Peman-Monteith公式計算ET0,具體數據見表1。

表1 2014-01-01-2016-06-17商丘地區逐日氣象數據與ET0
由上面的分析可知計算ET0時涉及到的參數較多,且彼此之間的獨立性較差,存在著彼此相關的信息,不宜直接使用BP神經網絡進行預測。本文將平均影響值(MIV)與BP神經網絡相結合,篩選出對ET0影響較大的參數進行建模。
MIV的主要原理是在網絡模型中訓練自變量,通過觀察不同變量的對應變化來確定參數對預測結果的影響。其具體計算過程是:首先將全部的變量輸入訓練好的一個BP神經網絡,然后將每個變量分別增加10%和減少10%,得到2個新的參數變量A1和A2。然后用新數據A1和A2分別使用已經訓練好的神經網絡進行預測得出2組預測值B1和B2,其差值即為影響變化值(IV),2者之和的平均即為平均影響值(MIV)。值得一提的是,MIV的絕對值大小代表各類參數相對于因變量產生的實際影響大小,正負值則代表相關的方向。此時可將MIV絕對值較大的參數挑選出來進行建模,從而實現對自變量的篩選[10]。對上文中提到的影響ET0的6個氣象因素進行MIV變量篩選,其結果見表2。

表2 各影響因素MIV特征值
MIV絕對值數值越大時,其相對于網絡實際輸出結果所產生的影響也越大。由表 2可知,對ET0預測結果產生顯著影響的參數為風速、平均氣溫和平均相對濕度,3者所占比例之和達到了91.63%。故本文選擇將這3個參數作為輸入變量,且將ET0設定為相應的輸出變量。
由上一節可知BP神經網絡的輸入和輸出變量個數分別為3和1,然而,至今尚未存在明確的理論方法來確定隱含層的節點數量。通常情況下,實驗者會先基于經驗公式劃分粗略的范圍,然后將其代入神經網絡進行逐一的驗證,從中選擇預測誤差最小的隱含層節點數[11],即:
(6)
式中:m為隱含層所含的節點數;n為輸入變量的數量;a∈[0,10]。
由式(6)可以確定隱含層節點數m的范圍為[2,12],取該區間的整數值依次進行實驗,其結果見圖2。

圖2 不同隱含層節點數的預測誤差對比
由圖 2可知,使BP神經網絡誤差最小的隱含層節點數為6,故BP神經網絡的結構為3-6-1。
根據以上分析,我們分別建立BP模型、PSO-BP模型和ADAPPSO-BP模型對ET0進行預測。其中BP模型主要基于3-6-1網絡結構,隱含層選用tansig傳遞函數,輸出層則選用purelin傳遞函數。該模型的學習速率為0.01,最大運行次數為1 000次。訓練樣本選擇實驗數據中的675組,剩余的225組作為模型的檢驗樣本,對模型進行預測效果驗證。圖3為3種模型的預測結果與實際結果的對比圖。同時為了更加明顯地說明3種模型的預測效果,本文選取以下指標作為評價模型的標準,其計算公式如下。
均方誤差(MSE):
(7)
平均絕對誤差(MAE):
(8)
平均相對誤差(MRE):
(9)
(4)決定系數:
(10)

由圖3可以看出,在3種預測模型中,ADAPPSO-BP模型的預測結果整體最接近真實值,其次是PSO-BP模型,BP模型的預測結果最差。這說明PSO可以很好地改善BP模型預測精度低的缺點,但同時由于自身的局限性,導致其在一些突變處的預測結果與真實值相比具有較大的誤差。而ADAPPSO-BP算法則很好地改善了這一缺陷。
由表3中可以看出,ADAPPSO-BP模型的MSE、MAE和MRE分別為2.273 2、0.205 6和0.113 8,均小于BP模型和PSO-BP模型,而ADAPPSO-BP模型的R2為0.960 6,高于BP模型和PSO-BP模型,表明ADAPPSO-BP模型在3種模型中具有最高的擬合度和最小的預測誤差。與PSO-BP相比,MSE、MAE和MRE分別降低了14.37%、10.60%和8.6%,進一步證明提出的算法與傳統PSO算法相比可以提高預測的精度。

圖3 不同模型預測曲線比較

表3 模型指標對比
針對標準PSO算法在應用時容易陷于局部極值的缺陷,本文提出了一種非線性遞減權重的策略(ADAPPSO)來減少其陷于局部極值的概率,同時利用平均影響值法篩選出影響ET0的主要因素,構建基于ADAPPSO-BP的ET0預測模型。計算結果表明,ADAPPSO-BP模型可以克服BP神經網絡在ET0預測中精度不高的缺點,同時與PSO-BP模型相比,ET0的預測精度得到了進一步的提高,對發展節能高效的新型灌溉技術具有一定的指導作用。