李選彧
(遼寧省遼陽水文局,遼寧 遼陽 111000)
參考作物騰發(fā)量(ET0)的精確預(yù)測將直接影響著灌溉方案的設(shè)計和植物的生長,對促進區(qū)域農(nóng)業(yè)發(fā)展發(fā)揮著關(guān)鍵作用。對此,國內(nèi)外學(xué)者從不同角度開展了大量研究,如常用的灰色系統(tǒng)、時間序列和回歸分析等定量預(yù)測方法。其中,所需資料較少的灰色系統(tǒng)法,實際應(yīng)用時其預(yù)測精度較低;時間序列法預(yù)測未來變化趨勢的主要依據(jù)為已有的ET0數(shù)據(jù),其預(yù)測精度差且無法反映預(yù)測結(jié)果受外部因素的影響;回歸分析法的建模比較困難且運算量大,一般不適用于非線性系統(tǒng)。目前,普遍采用的計算方法是經(jīng)典Peman-Monteith公式,然而該方法的運算過程十分復(fù)雜,加之準(zhǔn)確獲取相關(guān)氣象數(shù)據(jù)的難度較大,使得其實用性不高[1]。
近年來,計算機模擬技術(shù)的快速發(fā)展推動了神經(jīng)網(wǎng)絡(luò)理論的研究,形成的BP神經(jīng)網(wǎng)絡(luò)模型現(xiàn)已廣泛應(yīng)用于ET0的預(yù)測分析。然而,實際應(yīng)用過程中該算法存在閾值和初始權(quán)重過于敏感的現(xiàn)象,并且收斂速度較為緩慢的情況比較常見。相對而言,對于全局的尋優(yōu)PSO算法表現(xiàn)出明顯的優(yōu)勢,其計算過程簡單且無需過多的參數(shù)設(shè)置。為更好的優(yōu)化BP網(wǎng)絡(luò)的初始連接權(quán)重諸多學(xué)者引入了PSO算法,從而增強網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)能力和泛化能力。例如,吳復(fù)昌等以灌區(qū)輸水調(diào)度為例,提出了能夠快速獲取全局最優(yōu)解的PSO算法,通過模型預(yù)測保證灌溉效率的提升;張志政等以西安地區(qū)數(shù)據(jù)為例,構(gòu)建了預(yù)測參考作物騰發(fā)量的PSO-BP神經(jīng)網(wǎng)絡(luò)模型,通過排列不同的影響因素,探究了預(yù)測精度與多種因素組合方式的相互關(guān)系。然而,傳統(tǒng)的PSO算法受其自身條件限制,通常存在過早收斂和預(yù)測結(jié)果精度偏低的情況[2-4]。
為降低PSO算法易陷入局部極值的概率提出一種非線性權(quán)重遞減策略,并以遼陽地區(qū)為例驗證了改進PSO-BP算法的實用性,結(jié)果顯示與PSO-BP模型、BP模型相比ADAPPSO-BP模型具有更高的ET0預(yù)測精度。
一般條件下,在迭代運算過程中PSO算法的每個粒子均會不斷聚集于整個群體及其自身紀(jì)錄的最優(yōu)歷史位置,從而快速出現(xiàn)粒子群趨同效應(yīng)。該條件下,極易發(fā)生停滯、過早收斂和局部極值的現(xiàn)象。針對此類問題,標(biāo)準(zhǔn)PSO算法可利用線性遞減的慣性權(quán)重有效應(yīng)對這種情況,選用以下公式反映隨迭代次數(shù)W的變化,即:
(1)
式中:Wmin、Wmax為慣性權(quán)重最小和最大值;t、tmax為PSO算法的實際次數(shù)和最大運行次數(shù)。
通常情況下,在Wmin取0.4、Wmax取0.9時能夠達到效果最優(yōu)。實際上,對于自身收斂能力的調(diào)節(jié)線性遞減PSO算法發(fā)揮著一定成效,若該算法在計算初期未能確定最佳點,則其局部收斂能力隨著W值的持續(xù)下降不斷增強,很容易產(chǎn)生局部最優(yōu)的現(xiàn)象[5-7]。此外,若可以準(zhǔn)確的探測次好點,并且算法初期的W值取小,則其最佳點也能快速的確定,然而算法的收斂速度會隨W長期的線性遞減趨勢而延緩。所以,考慮利用非線性遞減函數(shù)自適應(yīng)動態(tài)調(diào)整W,從而解決易陷入早熟收斂的全局尋優(yōu)問題,對此利用公式(2)求解慣性權(quán)重,即:
W=Wmax-(t/tmax)2×0.3
(2)
由上式可知,在一定程度上非線性遞減函數(shù)可以減緩慣性權(quán)重于算法初期持續(xù)減小的概率,以此維持較長時間內(nèi)慣性權(quán)重取較大值,從而實現(xiàn)更廣區(qū)域的探索,最大程度的降低出現(xiàn)局部極值的概率。W值在算法后期也會快速下降,并顯著增強粒子的搜索能力,全局最優(yōu)值的尋優(yōu)概率也會進一步的提升[8-10]。
為解決傳統(tǒng)PSO算法存在的局限性問題以及增強BP網(wǎng)絡(luò)的預(yù)測精度,結(jié)合改進的PSO算法建立ADAPPSO-BP模型,并預(yù)測分析區(qū)域ET0變化特征,其實現(xiàn)流程為:
步驟1:粒子群維數(shù)的初始化。結(jié)合BP網(wǎng)絡(luò)的自身結(jié)構(gòu)確定PSO粒子群的待優(yōu)化維數(shù),即:
D=(m+1)n+(n+1)p
(3)
式中:m、n、p為BP神經(jīng)網(wǎng)絡(luò)的輸入層、隱含層和輸出層所含節(jié)點數(shù)。
步驟2:初始化粒子群有關(guān)參數(shù)。設(shè)定粒子數(shù)N取20,將BP網(wǎng)絡(luò)的權(quán)閾值上、下浮動50%確定粒子的位置范圍,并以位置的限制區(qū)域作為粒子速度的約束條件;此外,設(shè)定學(xué)習(xí)因子Wmax取0.7、tmax取100,c1=c2=2,設(shè)W的取值區(qū)間0.4-0.7。
(4)
步驟4:粒子速度與位置的更新。采用適應(yīng)度函數(shù)對比個體極值與粒子值,若粒子自身的預(yù)測值更小則作為新的極值;然后比較全局極值與個體極值,若小于該極值則視為全局新的極值。粒子的位置與速度更新利用下式實現(xiàn),其表達式為:
Xt+1=Xt+Vt+1
(5)
Vt+1=WVt+c1r1(pbest-Xt)+c2r2(gbest-Xt)
(6)
式中:Vt、Xt代表粒子的速度與實際位置;r1=r2代表區(qū)間[0,1]內(nèi)的隨機數(shù),其它字母含義同上。
步驟5:終止條件的判斷。若算法滿足判別條件,則所求的全局最優(yōu)解位置就是BP網(wǎng)絡(luò)的最佳權(quán)重及其閾值。最終,在BP神經(jīng)網(wǎng)絡(luò)中輸入最佳權(quán)重及其閾值,完成網(wǎng)絡(luò)的預(yù)測模擬并搭建優(yōu)化的APAPPSO-BP模型,其整體實現(xiàn)流程見圖1。
圖1 模型的運算流程
文章實驗數(shù)據(jù)包括平均相對濕度、日照時長、逐日風(fēng)速、最低、最高和平均氣溫6個氣象資料,數(shù)據(jù)來源于2016.01.01-2018.06.16遼陽站地面氣候資料日值數(shù)據(jù),中國氣象數(shù)據(jù)網(wǎng)提供初始數(shù)據(jù),并對參考作物騰發(fā)量(ET0)利用修正的Peman-Monteith公式確定,數(shù)據(jù)資料如表1。
表1 遼陽地區(qū)氣象數(shù)據(jù)與參考作物騰發(fā)量(ET0)
對ET0利用修正的Peman-Monteith公式計算時涉及的參數(shù)較多,且不同參數(shù)之間具有彼此相關(guān)的信息,且獨立性較差,BP網(wǎng)絡(luò)模型不宜直接模擬預(yù)測。文章考慮將BP神經(jīng)網(wǎng)絡(luò)與平均影響值(MIV)相耦合,建模時選擇能夠顯著影響ET0的參數(shù)[11-13]。
觀察不同變量在網(wǎng)絡(luò)模型訓(xùn)練中發(fā)生的改變,這也是MIV確定預(yù)測結(jié)果受參數(shù)影響程度的主要依據(jù),其主要流程為:①采用訓(xùn)練好的BP網(wǎng)絡(luò)輸入全部的變量,并以減少10%和增加10%調(diào)整每個變量,由此獲取2個新變量A1、A2。②向訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸入新的數(shù)據(jù)A1、A2,并生成B1、B2兩組預(yù)測值,二者之和、之差即為平均影響值(MIV)與影響變化值(IV)。其中,MIV的正負(fù)代表影響的方向,絕對值大小代表較因變量各類參數(shù)實際產(chǎn)生的影響程度,該條件下的建模參數(shù)應(yīng)具有較大的MIV絕對值,由此完成自變量的合理選擇[14-16]。根據(jù)MIV變量篩選流程對6個影響ET0的變量進行分析,如表2所示。
表2 變量的MIV特征值
參數(shù)變量對網(wǎng)絡(luò)實際輸出的影響程度隨MIV絕對值的增大而增加,從表2看出平均相對濕度、平均氣溫、風(fēng)速對ET0預(yù)測結(jié)果的影響顯著,這3項參數(shù)的貢獻率達到91.26%。因此,網(wǎng)絡(luò)模型的輸入變量選擇此3個參數(shù),并將網(wǎng)絡(luò)輸出變量設(shè)定為ET0。
根據(jù)以上分析結(jié)果BP網(wǎng)絡(luò)的輸入和輸出變量有3個、1個,而隱含層節(jié)點數(shù)的確定迄今尚未形成明確的方法。一般地,采用經(jīng)驗公式粗略的劃分隱層節(jié)點數(shù),并逐一驗證網(wǎng)絡(luò)模型的適用性,選擇的隱含層節(jié)點數(shù)應(yīng)具有最小的預(yù)測誤差,經(jīng)驗公式如下:
(1)
式中:m、n為隱含層節(jié)點數(shù)和輸入變量的個數(shù);a取值范圍為[0,1]。將隱含層階段數(shù)m利用公式(7)確定,其取值區(qū)間為[2,12],通過實驗逐一驗證此區(qū)間的整數(shù)值,其誤差輸出見圖2。研究表明,隱含層節(jié)點數(shù)取6時BP神經(jīng)網(wǎng)絡(luò)的誤差最小,從而構(gòu)造3-6-1的BP網(wǎng)絡(luò)結(jié)構(gòu)[17]。
圖2 模擬預(yù)測誤差分析
充分考慮區(qū)域?qū)嶋H情況,對參考作物騰發(fā)量(ET0)利用ADAPPSO-BP、PSO-BP和BP模型預(yù)測。其中,BP模型的隱含層和輸出層傳遞函數(shù)選用tansig、purelin函數(shù),網(wǎng)絡(luò)結(jié)構(gòu)為3-6-1,設(shè)定迭代運算次數(shù)1000次,學(xué)習(xí)速率0.01。模型的訓(xùn)練樣本和檢驗樣本選擇前675組、后225組實驗數(shù)據(jù),由此驗證模型預(yù)測情況。參考作物騰發(fā)量(ET0)實際結(jié)果與3種模型預(yù)測結(jié)果,其對比圖如圖3。另外,為更好的突出不同模型的預(yù)測效果,采用均方誤差(MSE)、平均絕對誤差(MAE)、平均相對誤差(MRE)、決定系數(shù)(R2)4項指標(biāo)作為模型評價標(biāo)準(zhǔn),其表達式為:
(8)
(9)
(10)
(11)
參考作物騰發(fā)量(ET0)預(yù)測曲線,見圖3。
從圖3可知,整體上最接近參考作物騰發(fā)量(ET0)真實值的為ADAPPSO-BP模型預(yù)測值,預(yù)測結(jié)果最差的為BP模型,PSO-BP模型的精準(zhǔn)度居中??梢?,對于提高BP模型預(yù)測精度PSO算法發(fā)揮著明顯成效,但受其自身條件限制,使得真實值與預(yù)測的突變結(jié)果存在很大的偏差,對于此類問題ADAPPSO-BP算法能夠較好的解決。
圖3 參考作物騰發(fā)量(ET0)預(yù)測曲線
不同模型的評價指標(biāo)對比,見表3。
表3 不同模型的評價指標(biāo)對比
由表3可知,PSO-BP模型、BP模型的MRE、MAE、MSE均大于ADAPPSO-BP模型的0.1107、0.2064、2.2715,并且PSO-BP模型、BP模型的R2均值小于ADAPPSO-BP模型的0.9618,可見這3種模型中ADAPPSO-BP模型具有最小的預(yù)測誤差和最高的擬合度。與PSO-BP算法相比ADAPPSO-BP模型的MRE、MAE、MSE減少了12.14%、14.60%、8.15%,由此表明較傳統(tǒng)的PSO算法改進的算法能夠顯著提升預(yù)測精度。
對于實際應(yīng)用過程中標(biāo)準(zhǔn)PSO算法易陷入局部極值的問題,結(jié)合相關(guān)資料提出了一種能夠減少陷入局部極值概率的非線性遞減權(quán)重策略(ADAPPSO),并對影響ET0的主要因素利用平均影響值法篩選,并構(gòu)建能夠準(zhǔn)確預(yù)測ET0的ADAPPSO-BP模型。結(jié)果表明,較PSO-BP算法ADAPPSO-BP模型可進一步提高ET0預(yù)測精度,在ET0預(yù)測過程中能夠克服BP神經(jīng)網(wǎng)絡(luò)精度較低的缺陷,可為新型、高效、節(jié)能灌溉技術(shù)的開發(fā)提供科學(xué)指導(dǎo)。