王仲英,劉秋菊
(1.河南省智慧農(nóng)業(yè)遠(yuǎn)程環(huán)境監(jiān)測(cè)控制工程技術(shù)研究中心 應(yīng)用技術(shù)研究院,河南 鄭州 450018; 2.鄭州工程技術(shù)學(xué)院 信息工程學(xué)院,河南 鄭州 450000)
常規(guī)土壤含水量預(yù)測(cè)法包括:經(jīng)驗(yàn)法、烘焙法、電容法、時(shí)域反映法、水量平衡法、時(shí)序法、回歸分析法以及神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法和支持向量機(jī)SVM預(yù)測(cè)法。經(jīng)驗(yàn)法完全依賴(lài)人為主觀意識(shí)測(cè)定,準(zhǔn)確性較差。烘焙法、電容法、時(shí)域反映法、水量平衡法、時(shí)序法則與具體物理參量相關(guān),通用性、穩(wěn)定性比較受限。如:文獻(xiàn)[1]利用經(jīng)驗(yàn)?zāi)P蜏y(cè)定土壤含水量與其貯水量的關(guān)系,文獻(xiàn)[2]利用水量平衡模型對(duì)土壤含水量進(jìn)行預(yù)測(cè),模型精度有一定提升。水量平衡法所需要測(cè)量數(shù)據(jù)太多,計(jì)算代價(jià)過(guò)高,且復(fù)雜。文獻(xiàn)[3]利用時(shí)序法預(yù)測(cè)土壤含水量,并結(jié)合回歸預(yù)測(cè)實(shí)現(xiàn)了較好的預(yù)測(cè)效果。文獻(xiàn)[4]結(jié)合偏最小二乘回歸模型和主成分分析法研究氣象因子與土壤含水量的預(yù)報(bào)模型,預(yù)報(bào)精度有所提升。文獻(xiàn)[5]利用灰色理論與BP神經(jīng)網(wǎng)絡(luò)的結(jié)合,測(cè)量各數(shù)據(jù)特征與土壤含水量的關(guān)聯(lián)性,在殘差分析和關(guān)聯(lián)度檢驗(yàn)上驗(yàn)證了預(yù)測(cè)準(zhǔn)度。文獻(xiàn)[6]利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行土壤含水量預(yù)測(cè),通過(guò)學(xué)習(xí)速率自適應(yīng)調(diào)整提高預(yù)測(cè)精度。文獻(xiàn)[7]為了提高BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度,先利用改進(jìn)樽海鞘算法對(duì)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,再利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行土壤含水量預(yù)測(cè),訓(xùn)練時(shí)間能夠有效縮短。文獻(xiàn)[8]利用改進(jìn)灰狼優(yōu)化算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),并建立土壤墑情預(yù)測(cè)系統(tǒng),與標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)相比,相對(duì)誤差下降了4%。由于BP神經(jīng)網(wǎng)絡(luò)在收斂精度、泛化能力存在不足,導(dǎo)致該方法依然易于陷入局部最優(yōu)。SVM則需要對(duì)相關(guān)參數(shù)和核函數(shù)選取做出優(yōu)化,才可進(jìn)一步提升預(yù)測(cè)精度。
蝴蝶優(yōu)化算法BOA[9]是一種新型群體智能優(yōu)化算法,其原理簡(jiǎn)單,依賴(lài)參數(shù)少,在尋優(yōu)精度和收斂效率上已超過(guò)粒子群優(yōu)化PSO、差分進(jìn)化DE、蜂群優(yōu)化ABC及引力搜索GSA算法等。然而,基本BOA算法依然存在尋優(yōu)精度低、收斂速度慢的不足,其尋優(yōu)穩(wěn)定性、跳離局部最優(yōu)能力依然還具有很大的改進(jìn)空間。為了進(jìn)一步提升BOA算法的尋優(yōu)性能,本文將設(shè)計(jì)一種改進(jìn)蝴蝶優(yōu)化算法LGBOA,利用Levy飛行和高斯變異、混沌Logistic映射個(gè)體擾動(dòng)機(jī)制,改進(jìn)算法的尋優(yōu)能力,并利用LGBOA算法對(duì)SVM模型的懲罰因子C和核函數(shù)參數(shù)γ尋優(yōu),構(gòu)建土壤含水量預(yù)測(cè)模型LGBOA-SVM。結(jié)果驗(yàn)證LGBOA-SVM可以有效提高土壤含水量預(yù)測(cè)精度和效率。
蝴蝶飛行過(guò)程中,會(huì)產(chǎn)生一種香味并在空氣中擴(kuò)散,其它蝴蝶可以聞到該香味,并根據(jù)香味濃度被其吸引。當(dāng)一只蝴蝶嗅到最佳香味時(shí),會(huì)向其靠近,該過(guò)程稱(chēng)為全局搜索過(guò)程。而當(dāng)個(gè)體無(wú)法嗅到任何蝴蝶香味時(shí),該個(gè)體將在搜索空間內(nèi)隨機(jī)選取移動(dòng)位置,該過(guò)程稱(chēng)為局部搜索。
蝴蝶飛行過(guò)程中會(huì)散發(fā)一種香味,香味濃度公式為
f=cIa
(1)
式中:I為刺激強(qiáng)度,c為感知形態(tài),a為激勵(lì)指數(shù)。
蝴蝶的運(yùn)動(dòng)模式分為兩個(gè)階段:
(1)全局搜索階段:每只蝴蝶會(huì)在飛行過(guò)程中散發(fā)香味,其它蝴蝶會(huì)根據(jù)嗅到的香味濃度尋找目標(biāo)。該模型定義為
(2)
其中,xi(t)為迭代t時(shí)蝴蝶個(gè)體i位置,g*為全局最優(yōu)解,r1為[0,1]間的隨機(jī)量,fi為蝴蝶個(gè)體i的香味濃度。
(2)局部搜索階段:若蝴蝶個(gè)體無(wú)法感知其它蝴蝶的香味,它將在搜索空間內(nèi)隨機(jī)移動(dòng)。該模型定義為
(3)
其中,xj(t)、xk(t) 為隨機(jī)選擇的個(gè)體,r2為[0,1]間隨機(jī)量。
BOA算法進(jìn)行全局搜索或局部搜索由概率閾值P決定,算法每次迭代中會(huì)生成隨機(jī)數(shù)r3,并與P比較,具體模型為
(4)
由式(3)可知,蝴蝶個(gè)體在進(jìn)行局部搜索時(shí),其移動(dòng)步長(zhǎng)主要由隨機(jī)參數(shù)r2決定。隨機(jī)變量盡管具有很好的等概率隨機(jī)性,但搜索行為盲目,效率較低。為此,LGBOA算法引入Levy飛行策略改進(jìn)BOA算法的位置更新方式。Levy飛行具備高頻率的短步長(zhǎng)搜索和低頻率的長(zhǎng)步長(zhǎng)搜索模型,可以有效實(shí)現(xiàn)未知區(qū)域的隨機(jī)搜索。
作為一種隨機(jī)游走策略,Levy飛行結(jié)合了高頻短步長(zhǎng)的跳躍式搜索和低頻長(zhǎng)步長(zhǎng)的行走策略,不僅可以有效地進(jìn)行局部范圍內(nèi)的精細(xì)搜索,還可以確定一定比例的遠(yuǎn)距離區(qū)域內(nèi)的有效勘探。Levy飛行服從Levy分布,定義為
Levy~u=t-λ, 1<λ≤3
(5)
Levy飛行是一種擁有重尾翼的概率分布。具體計(jì)算搜索路徑的萊維因子Levy(λ)時(shí),通常利用Mantegna的模擬Levy飛行路徑公式,具體為
s=μ/|v|1/β
(6)
式中:0<β<2,通常取值1.5,μ、v服從正態(tài)分布
(7)
(8)
且
(9)
σv=1
(10)
得到Levy飛行路徑Levy(λ)后,通過(guò)Levy(λ)取代BOA算法中局部搜索時(shí)個(gè)體位置更新的隨機(jī)值r2,即可得到改進(jìn)位置更新公式
xi(t+1)=xi(t)+(Levy(λ)2×xj(t)-xk(t))×f,
r3>P
(11)
式(2)表明,種群的全局搜索主要由當(dāng)前最優(yōu)個(gè)體g*引領(lǐng),該方式可以充分發(fā)揮精英個(gè)體的導(dǎo)向作用。然而,處理多峰函數(shù)優(yōu)化問(wèn)題時(shí),精英個(gè)體若已成為局部最優(yōu)解,則會(huì)導(dǎo)致后期搜索因缺乏多樣性而陷入早熟收斂。為此,LGBOA算法利用混合高斯和混沌變異機(jī)制對(duì)最優(yōu)解g*進(jìn)行擾動(dòng),以此擴(kuò)展搜索空間,避免局部最優(yōu)。
首先,引入一種早熟收斂、局部最優(yōu)的判定方法[12]。令迭代t時(shí)的種群個(gè)體適應(yīng)度方差SD(t)為
(12)
式中:N為種群規(guī)模,fi(t)為迭代t時(shí)個(gè)體i的適應(yīng)度,由測(cè)試中的目標(biāo)函數(shù)計(jì)算,favg(t)為迭代t時(shí)整個(gè)種群的平均適應(yīng)度,fμ(t)為方差SD(t)的限定參數(shù),定義為
(13)
迭代t時(shí)種群個(gè)體的平均間距dis(t)定義為
(14)
式中:L為種群在搜索區(qū)域中的最大對(duì)角步長(zhǎng),dim為空間維度,xi,d(t) 為迭代t時(shí)個(gè)體i的d維位置,xavg(t) 為迭代t時(shí)d維位置的均值。
種群搜索趨于收斂時(shí),種群位置趨于集中,此時(shí)適應(yīng)度方差SD(t)和個(gè)體間距dis(t)逐步趨近于0。為了區(qū)分早熟收斂和全局收斂,定義SD(t)<10-5且dis(t)<10-2時(shí),算法為局部收斂狀態(tài)。
若判定為局部收斂狀態(tài),則精英個(gè)體的變異方式為
(15)
式中:δ為高斯變異算子, [lmin,umax] 為種群個(gè)體的搜索范圍,r4為(0,1)內(nèi)的隨機(jī)值,φ為L(zhǎng)ogistic混沌值,定義為
φ(t+1)=c×φ(t)×(1-φ(t))
(16)
式中:c為混沌參數(shù),c=4。
高斯變異算子服從以下高斯分布
(17)
式中:σ2為對(duì)應(yīng)每個(gè)候選解的方差,φ為L(zhǎng)ogistic混沌值。通過(guò)該式,可以生成均值為0,標(biāo)準(zhǔn)差為1,服從高斯分布的隨機(jī)量。
LGBOA算法流程如圖1所示。
圖1 LGBOA算法流程
LGBOA算法時(shí)間復(fù)雜度。令蝴蝶的種群規(guī)模為N,迭代最大次數(shù)為T(mén)max,搜索空間的位置維度為d。根據(jù)LGBOA算法的執(zhí)行流程,種群初始化時(shí)間復(fù)雜度為O(N×d), 計(jì)算所有種群個(gè)體適應(yīng)度的時(shí)間復(fù)雜度為O(N×d), 確定當(dāng)前最優(yōu)解g*的時(shí)間復(fù)雜度為O(N×d), 計(jì)算所有個(gè)體香味濃度的時(shí)間復(fù)雜度為O(N×d)。 經(jīng)過(guò)最大Tmax次迭代過(guò)程后,早熟收斂判斷過(guò)程的時(shí)間復(fù)雜度為O(N×d×Tmax), 高斯變異或混沌變異的最差時(shí)間復(fù)雜度為O(N×d×Tmax)。 綜上,LGBOA算法的時(shí)間復(fù)雜度為O(N×d×Tmax)。 該時(shí)間復(fù)雜度與傳統(tǒng)BOA算法的時(shí)間復(fù)雜度相同,說(shuō)明改進(jìn)算法在尋優(yōu)性能提升的同時(shí)并沒(méi)有增加計(jì)算代價(jià)。
首先通過(guò)基準(zhǔn)函數(shù)尋優(yōu)測(cè)試驗(yàn)證LGBOA算法在求解優(yōu)化問(wèn)題上的可行性和有效性,利用表1中8種基準(zhǔn)函數(shù)(代表智能算法中的適應(yīng)度函數(shù))進(jìn)行尋優(yōu)測(cè)試。前5種是單峰值函數(shù),其分布特征是整個(gè)搜索區(qū)域內(nèi)僅有一個(gè)最優(yōu)值(最小),即全局最優(yōu)解,該類(lèi)函數(shù)可以測(cè)試智能算法尋優(yōu)過(guò)程中的搜索和收斂能力。后3種函數(shù)為多峰值函數(shù),其分布特征是搜索區(qū)域內(nèi)擁有多個(gè)局部最優(yōu)值,該類(lèi)型函數(shù)可以測(cè)試智能算法尋優(yōu)過(guò)程中是否具有甄別局部最優(yōu)、跳離局部最優(yōu),進(jìn)行全局勘探的能力。實(shí)驗(yàn)的軟硬件環(huán)境配置為:操作系統(tǒng)Microsoft Window 10,CPU為Intel Core I7,主頻率為2.3 GHz,內(nèi)存為8 GB,算法在MATLAB R2017平臺(tái)上實(shí)現(xiàn)。選擇CBOA算法[10]、ALBOA算法[11]和SIBOA算法[12]進(jìn)行性能對(duì)比。CBOA算法利用混沌映射機(jī)制提升了BOA算法的全局搜索性能。ALBOA算法利用自適應(yīng)學(xué)習(xí)機(jī)制改進(jìn)蝴蝶優(yōu)化算法,可以有效均衡全局搜索與局部開(kāi)發(fā)的比例。SIBOA算法融合正余弦算子和混沌映射改進(jìn)蝴蝶優(yōu)化算法,通過(guò)ICMIC映射的種群初始化機(jī)制和飛行認(rèn)知部分的正余弦尋優(yōu)機(jī)制,有效提升了算法的尋優(yōu)精度。每種算法獨(dú)立運(yùn)行20次,取平均值結(jié)果進(jìn)行對(duì)比。相關(guān)參數(shù)中,種群規(guī)模設(shè)為30,最大迭代次數(shù)設(shè)為400。
表1 基準(zhǔn)函數(shù)特征
實(shí)驗(yàn)1統(tǒng)計(jì)了CBOA算法、ALBOA算法和SIBOA算法以及本文的LGBOA算法在維度為30時(shí),在8種基準(zhǔn)函數(shù)下進(jìn)行20次獨(dú)立尋優(yōu)時(shí),得到的平均精度、標(biāo)準(zhǔn)差、最優(yōu)解的對(duì)比結(jié)果,結(jié)果見(jiàn)表2。LGBOA算法在f1(x)、f2(x)、f5(x)、f6(x)、f7(x)和f8(x)上得到了理論最優(yōu)解,在f3(x)和f4(x)上雖然沒(méi)有得到理論最優(yōu)解,但也是所有算法中尋精度最高的。在標(biāo)準(zhǔn)差指標(biāo)上,LGBOA算法是所有算法中最低的,這充分說(shuō)明算法的穩(wěn)定性也是較好的。無(wú)論是處理單峰函數(shù)和多峰函數(shù)的尋優(yōu),都具有較好適應(yīng)性。從尋優(yōu)平均精度所提升的數(shù)量級(jí)上來(lái)講,LGBOA算法平均可以提升20~65個(gè)數(shù)量級(jí),充分說(shuō)明LGBOA算法在基本BOA算法上所做的改進(jìn)是更全面的,在提升收斂速度、全局尋優(yōu)能力和避免局部最優(yōu)等綜合性能上是有效可行的。
表2 算法的尋優(yōu)結(jié)果對(duì)比
實(shí)驗(yàn)2展示了CBOA、ALBOA和SIBOA及LGBOA算法的平均收斂曲線,結(jié)果如圖2所示。從400次算法迭代后的尋優(yōu)精度看,LGBOA算法在8個(gè)基準(zhǔn)函數(shù)上都得到了最高的收斂精度,說(shuō)明在單峰函數(shù)和多峰函數(shù)中,算法的適應(yīng)性還是較好的,沒(méi)有因?yàn)閷?yōu)峰值點(diǎn)的變化而發(fā)生變化。再對(duì)比收斂速度,LGBOA算法的曲線走勢(shì)明顯下降速度更快,說(shuō)明算法的拓展空間能力更強(qiáng),能夠快速找到更好的解。同時(shí),LGBOA算法在迭代前后階段都保持有更好的尋優(yōu)能力,尤其針對(duì)多峰值函數(shù)而言,沒(méi)有出現(xiàn)局部極值點(diǎn)處的停滯現(xiàn)象。對(duì)于CBOA算法和ALBOA算法而言,尋優(yōu)曲線在經(jīng)過(guò)若干次迭代后,就已經(jīng)趨于局部收斂狀態(tài),說(shuō)明算法沒(méi)有能力拓展新的空間,尋優(yōu)精度無(wú)法提升。SIBOA算法的性能略要優(yōu)于以上兩種算法,但在迭代晚期尋優(yōu)精度也基本停滯。LGBOA算法在多峰基準(zhǔn)函數(shù)上的收斂曲線具有明顯的局部停留后的下墜現(xiàn)象,說(shuō)明該算法能夠通過(guò)局部收斂狀態(tài)判定,利用變異機(jī)制跳離局部最優(yōu)解,從而進(jìn)一步靠近理論最優(yōu)值。
圖2 尋優(yōu)收斂曲線
實(shí)驗(yàn)3統(tǒng)計(jì)LGBOA算法相對(duì)其它3種算法的Wilcoxon秩和檢驗(yàn)p值,結(jié)果見(jiàn)表3。該指標(biāo)將LGBOA算法假設(shè)為最優(yōu)算法,然后計(jì)算LGBOA/CBOA、LGBOA/ALBOA和LGBOA/SIBOA的秩和檢驗(yàn)p值。研究表明,若p<0.05,則認(rèn)為假設(shè)無(wú)法拒絕??梢钥吹剑玫降膒值均小于0.05,表明LGBOA算法的優(yōu)越性在統(tǒng)計(jì)上是顯著的。
表3 Wilcoxon秩和檢驗(yàn)p值
SVM(支持向量機(jī))是一種基于統(tǒng)計(jì)理論的機(jī)器學(xué)習(xí)方法,其目標(biāo)是通過(guò)非線性映射將模型輸入映射至高維空間,構(gòu)造超平面的決策曲面,以進(jìn)行線性回歸。SVM為了保證稀疏性,利用結(jié)構(gòu)風(fēng)險(xiǎn)替代經(jīng)驗(yàn)風(fēng)險(xiǎn)作為期望風(fēng)險(xiǎn)。具體過(guò)程如下:令數(shù)據(jù)樣本D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈R。 模型學(xué)習(xí)目標(biāo)為f(x)=wTx+b, 使f(x) 盡可能接近于y,而w和b為待定模型參數(shù)。令ε為支持向量回歸SVR模型可接受的偏差。若 |f(x)-y|>ε, 需要計(jì)算SVR的預(yù)測(cè)損失。令ξi、ξ′i為兩個(gè)松馳變量,則SVR可轉(zhuǎn)換為二次規(guī)劃問(wèn)題,定義為
(18)
約束條件為
f(xi)-yi≤ε+ξi
(19)
yi-f(xi)≤ε+ξ′i
(20)
ξi≥0,ξ′i≥0,i=1,2,…,m
(21)
式中:C為控制誤差的懲罰因子。SVR的對(duì)偶問(wèn)題為
(22)
式中:αi、α′i為拉格朗日乘子。令K(x,xi) 為核函數(shù),則決策函數(shù)為
(23)
選擇徑向基核函數(shù)作為模型的核函數(shù),即
(24)
式中:γ為核函數(shù)參數(shù)。由上述過(guò)程可知,懲罰因子C和核函數(shù)參數(shù)γ為影響SVM性能的主要因子,需要對(duì)其尋優(yōu)后再確定SVM的最優(yōu)模型,利用最優(yōu)SVM模型對(duì)土壤含水量進(jìn)行預(yù)測(cè)。
利用LGBOA算法對(duì)SVM模型的懲罰因子C和核函數(shù)參數(shù)γ進(jìn)行尋優(yōu),以確定最優(yōu)的SVM預(yù)測(cè)模型,進(jìn)而對(duì)土壤含水量進(jìn)行預(yù)測(cè)。LGBOA-SVM算法的過(guò)程如下:
步驟1 根據(jù)MIV方法,確定影響土壤含水量變化的氣象因素,從而確定SVM的輸入矢量;
步驟2 初始化LGBOA算法的初始參數(shù),包括:種群規(guī)模N、激勵(lì)指數(shù)a、感知形態(tài)c、概率閾值P、最大迭代次數(shù)Tmax、懲罰因子C和核函數(shù)參數(shù)γ的上下界;
步驟3 將原始數(shù)據(jù)集根據(jù)85%/15%的比例劃分為訓(xùn)練樣本集和測(cè)試樣本集,并對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化預(yù)處理;
步驟4 根據(jù)SVM模型的結(jié)構(gòu)對(duì)蝴蝶個(gè)體位置進(jìn)行編碼。以均方誤差函數(shù)MSE定義評(píng)估個(gè)體位置優(yōu)劣的適應(yīng)度函數(shù),具體為
(25)
步驟5 初始化種群 {Xi,i=1,2,…,N}, 將蝴蝶個(gè)體位置編碼為(C,γ);
步驟6 根據(jù)均方誤差函數(shù)MSE計(jì)算個(gè)體適應(yīng)度,確定當(dāng)前最優(yōu)解,并計(jì)算個(gè)體香味濃度;
步驟7 若r3>P, 根據(jù)Levy飛行機(jī)制進(jìn)行局部搜索位置更新,即式(11);否則,轉(zhuǎn)步驟8;
步驟8 進(jìn)行早熟收斂條件判斷,若滿足局部收斂狀態(tài),轉(zhuǎn)步驟9;
步驟9 若r4>0.5,根據(jù)式(15)對(duì)當(dāng)前最優(yōu)解進(jìn)行混沌變異;否則,根據(jù)式(15)對(duì)當(dāng)前最優(yōu)解進(jìn)行高斯變異;
步驟10 根據(jù)式(2)進(jìn)行全局搜索,并更新個(gè)體位置及其適應(yīng)度;
步驟11 判斷個(gè)體位置是否超過(guò)(C,γ)的邊界上下限,若出現(xiàn)越界,則以相應(yīng)位置上下限修正個(gè)體位置;
步驟12 判斷終止條件,若滿足,返回至步驟7;否則,停止算法迭代,輸出最優(yōu)解X*=(C*,γ*);
步驟13 以X*=(C*,γ*) 對(duì)SVM模型初始化,并利用訓(xùn)練樣本和測(cè)試樣本檢測(cè)預(yù)測(cè)精度,得到土壤含水量預(yù)測(cè)值。
影響土壤含水量的因素主要包括氣象因素、土壤特征、植被狀況以及人為活動(dòng)因素等,其中,土壤特征和植被狀況與具體區(qū)域和生物化學(xué)領(lǐng)域相關(guān),本文主要探討氣象因素對(duì)土壤含水量的影響。氣象因素主要有土壤含水量、降水量、空氣濕度、氣溫、土壤溫度、風(fēng)速、光照等因素。為了對(duì)SVM的輸入變量進(jìn)行篩選,引入平均影響值MIV法評(píng)價(jià)氣象因素的相關(guān)性,以此確定SVM的輸入矢量。選取以上氣象因素作為原始數(shù)據(jù),基于MIV法進(jìn)行輸入矢量篩選的具體過(guò)程為:首先,輸入以上變量至SVM模型訓(xùn)練,以原值為基礎(chǔ)將相應(yīng)變量分別增加和減少10%,形成兩個(gè)新樣本數(shù)據(jù);然后,利用原始數(shù)據(jù)訓(xùn)練過(guò)的SVM對(duì)兩個(gè)新樣本數(shù)據(jù)進(jìn)行測(cè)試,得出測(cè)試結(jié)果;最后,對(duì)于兩次訓(xùn)練結(jié)果的差值,得出該變量的影響變化值IV,并求取在所有樣本數(shù)據(jù)上的均值結(jié)果,即為一個(gè)影響因素所對(duì)應(yīng)的MIV。選取MIV累計(jì)值在85%以上的變量作為篩選的變量數(shù)量。選取相關(guān)氣象數(shù)據(jù)經(jīng)過(guò)訓(xùn)練分析后,以MIV累計(jì)值85%為臨界點(diǎn),最終選取土壤含水量、降水量、空氣濕度、氣溫、土壤溫度、光照作為SVM的輸入矢量,即預(yù)測(cè)因子。
此外,由于相關(guān)預(yù)測(cè)因子量綱不同,衡量單位不一,首先需要對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理,將所有數(shù)據(jù)映射至統(tǒng)一區(qū)間[0,1]。利用max-min映射函數(shù)進(jìn)行數(shù)據(jù)歸一化處理,函數(shù)形式如下
(26)
式中:A′i表示預(yù)測(cè)因子歸一化處理后的數(shù)值,Ai表示原始數(shù)值,minA表示每個(gè)預(yù)測(cè)因子的最小值,maxA表示每個(gè)預(yù)測(cè)因子的最大值。
基于LGBOA-SVM模型的土壤含水量預(yù)測(cè)過(guò)程如圖3所示。
圖3 基于LGBOA-SVM模型的土壤含水量預(yù)測(cè)流程
選取國(guó)家氣象科學(xué)數(shù)據(jù)網(wǎng)提供的各項(xiàng)氣象數(shù)據(jù)來(lái)驗(yàn)證算法的可行性,具體選擇中西部某縣在2020年8月1日至2020年8月31日間的數(shù)據(jù)進(jìn)行測(cè)試。以1 h為步長(zhǎng),每天選取24組數(shù)據(jù),則8月整月的選取數(shù)據(jù)樣本數(shù)為744組。利用max-min映射函數(shù)將數(shù)據(jù)樣本標(biāo)準(zhǔn)化預(yù)處理后,將樣本數(shù)據(jù)劃分為訓(xùn)練樣本集和測(cè)試樣本集,隨機(jī)選取644組數(shù)據(jù)為訓(xùn)練樣本,剩余100組數(shù)據(jù)為測(cè)試樣本。選取土壤含水量、降水量、空氣濕度、氣溫、土壤溫度、光照作為SVM模型的輸入矢量。某一時(shí)刻的數(shù)據(jù)簡(jiǎn)況見(jiàn)表4。
表4 部分原始數(shù)據(jù)樣本
選擇ISSA算法[7]、IGWO算法[8]和SIBOA算法[12]進(jìn)行性能對(duì)比,將其與BP神經(jīng)網(wǎng)絡(luò)和SVM進(jìn)行融合,利用ISSA-BP[7]、IGWO-BP[8]、SIBOA-SVM[12]以及本文的LGBOA-SVM這4種模型對(duì)土壤含水量進(jìn)行預(yù)測(cè)。前兩種算法ISSA、IGWO實(shí)現(xiàn)了對(duì)BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值的尋優(yōu),SIBOA則實(shí)現(xiàn)對(duì)SVM的懲罰因子和核函數(shù)參數(shù)的尋優(yōu)。相關(guān)參數(shù)中,支持向量機(jī)SVM的核函數(shù)為徑向基函數(shù),設(shè)置懲罰因子和核函數(shù)參數(shù)的上下限為[2-7,27]。BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型均為默認(rèn)參數(shù),訓(xùn)練目標(biāo)誤差為10-4,訓(xùn)練次數(shù)為1000,學(xué)習(xí)率為0.1。
如圖4所示的4張圖是4種預(yù)測(cè)模型與土壤含水量的實(shí)際值在測(cè)試樣本上的對(duì)比結(jié)果,實(shí)線表示實(shí)際值,虛線表示模型預(yù)測(cè)值。對(duì)比圖4(a)、圖4(b),IGWO-BP預(yù)測(cè)模型的結(jié)果更靠近實(shí)際值,且有個(gè)別樣本點(diǎn)是基本重合的,說(shuō)明IGWO-BP的預(yù)測(cè)精度高于ISSA-BP。對(duì)比圖4(b)、圖4(c),在使用了不同的預(yù)測(cè)模型后,SIBOA-SVM預(yù)測(cè)模型則更加接近實(shí)際值,虛線趨勢(shì)基本保持著與實(shí)線一致,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)性能還有待提高。再對(duì)比圖4(d),可以看到,LGBOA-SVM模型所預(yù)測(cè)的土壤含水量是所有算法中最接近于實(shí)際值的,虛線、實(shí)線之間的重合度明顯提高,多數(shù)樣本點(diǎn)的預(yù)測(cè)值與實(shí)際值基本重合,其預(yù)測(cè)精度通過(guò)改進(jìn)的蝴蝶優(yōu)化算法的尋優(yōu)性能得到了有效的提升。
圖4 預(yù)測(cè)結(jié)果對(duì)比
為了更清楚分辨預(yù)測(cè)模型在100個(gè)測(cè)試樣本數(shù)據(jù)上預(yù)測(cè)值與實(shí)際值間的差距,本部分將統(tǒng)計(jì)出每種預(yù)測(cè)模型所求的預(yù)測(cè)值與實(shí)際值的比值大小,并統(tǒng)計(jì)出在不同的比值區(qū)間內(nèi)4種預(yù)測(cè)模型在100個(gè)測(cè)試樣本數(shù)據(jù)上的數(shù)量分布情況,并繪制柱形圖,結(jié)果如圖5所示??梢钥吹?,本文的LGBOA-SVM模型的預(yù)測(cè)值與實(shí)際值的差值比值小于10%的樣本點(diǎn)個(gè)數(shù)接近于總測(cè)試樣本的三分之二,是所有算法中最高的。在小于10%這個(gè)區(qū)間內(nèi),優(yōu)化后的SVM預(yù)測(cè)模型較優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型略有優(yōu)勢(shì),也從側(cè)面驗(yàn)證BP在泛化能力上略有不足。10%~20%區(qū)間內(nèi),LGBOA-SVM和SIBOA-SVM基本保持持平,ISSA-BP和IGWO-BP則在該區(qū)間內(nèi)的樣本點(diǎn)分布明顯更多。20%~30%區(qū)間內(nèi),4種模型的樣本點(diǎn)分布差異較大。30%~40%區(qū)間內(nèi),4種模型基本接近,IGWO-BP略高。大于40%的區(qū)間內(nèi),本文的LGBOA-SVM的樣本點(diǎn)分布依然是最少的,說(shuō)明LGBOA-SVM模型的具有更高的預(yù)測(cè)準(zhǔn)確率。
圖5 不同預(yù)測(cè)模型的差值分布
進(jìn)一步引入平均相對(duì)誤差MAPE、平均絕對(duì)誤差MAE和均方根誤差RMSE定量分析模型預(yù)測(cè)精度,定義如下
(27)
(28)
(29)
表5是測(cè)試指標(biāo)10次實(shí)驗(yàn)的均值結(jié)果。從MAPE看,僅有LGBOA-SVM和SIBOA-SVM的平均相對(duì)誤差在10%以內(nèi),該誤差范圍驗(yàn)證預(yù)測(cè)精度較為可觀,若高于15%~20%,則預(yù)測(cè)值的誤差就較大,已無(wú)參考意義。具體地,在100組測(cè)試樣本數(shù)據(jù)中,LGBOA-SVM模型的測(cè)試中有86組數(shù)據(jù)得到了低于10%的平均相對(duì)誤差,剩下14組數(shù)據(jù)均高于10%,精準(zhǔn)預(yù)測(cè)率占測(cè)試樣本的86%,這是4種算法中最多的。而MAE和RMSE的計(jì)算結(jié)果也輔證了LGBOA-SVM的優(yōu)越性。
表5 性能表現(xiàn)
進(jìn)一步通過(guò)算法尋優(yōu)適應(yīng)度的變化觀察模型收斂速度,以驗(yàn)證算法的效率提升情況,結(jié)果如圖6。根據(jù)式(25)所定義的適應(yīng)度,適應(yīng)度值越小,表明預(yù)測(cè)模型計(jì)算的土壤含水量預(yù)測(cè)值誤差越小,模型性能越好。圖6表明,在400次迭代過(guò)程中,LGBOA-SVM的適應(yīng)度均值是最小的,且可以在約100次迭代時(shí)收斂到最優(yōu)解,說(shuō)明此時(shí)求得了SVM預(yù)測(cè)模型的最優(yōu)懲罰因子C和核函數(shù)參數(shù)γ。ISSA-BP模型、IGWO-BP模型、SIBOA-SVM模型分別迭代至約300次、250次和180次時(shí)發(fā)生收斂。綜合來(lái)看,利用Levy飛行和高斯混沌變異后的蝴蝶優(yōu)化算法對(duì)于支持向量機(jī)SVM的優(yōu)化效果還是很可觀的,有效提升了算法尋優(yōu)精度和收斂速度,進(jìn)而在融入SVM后能夠更準(zhǔn)確對(duì)土壤含水量做出預(yù)測(cè)。
圖6 不同模型的適應(yīng)度均值
針對(duì)傳統(tǒng)土壤含水量預(yù)測(cè)方法精度低、效率差的不足,提出改進(jìn)蝴蝶算法優(yōu)化支持向量機(jī)SVM的土壤含水量預(yù)測(cè)算法。首先引入Levy飛行策略和高斯混沌變異機(jī)制對(duì)傳統(tǒng)蝴蝶優(yōu)化算法的尋優(yōu)能力進(jìn)行了優(yōu)化。然后利用改進(jìn)蝴蝶優(yōu)化算法優(yōu)化支持向量機(jī)SVM模型,并構(gòu)建土壤含水量預(yù)測(cè)模型?;鶞?zhǔn)函數(shù)測(cè)試驗(yàn)證改進(jìn)蝴蝶優(yōu)化算法可以有效提升收斂速度和尋優(yōu)精度,而土壤氣象樣本數(shù)據(jù)集也驗(yàn)證改進(jìn)模型可以有效提高土壤含水量預(yù)測(cè)精度和效率。未來(lái)的研究方向可集中在除考慮氣象因素以外,將土壤物理、化學(xué)特征考慮進(jìn)來(lái),利用成分分析法建構(gòu)更全面的預(yù)測(cè)模型,同時(shí)進(jìn)一步改進(jìn)智能算法的尋優(yōu)效率,以提升土壤含水量預(yù)測(cè)精準(zhǔn)度。