張芳群,包曉敏
(浙江理工大學(xué)信息學(xué)院,浙江杭州 310000)
基于PLS-GA-Elman算法的病蟲害預(yù)測
張芳群,包曉敏
(浙江理工大學(xué)信息學(xué)院,浙江杭州 310000)
針對農(nóng)業(yè)中蟲害受多種復(fù)雜因素的影響及發(fā)生量預(yù)測問題非線性、樣本少、特征變量多的特點(diǎn),結(jié)合偏最小二乘回歸(PLS)、遺傳算法(GA)與Elman神經(jīng)網(wǎng)絡(luò),建立了蟲害發(fā)生量的PLS-GA-Elman預(yù)測模型。通過PLS回歸算法對影響因素進(jìn)行特征提取后,將降維變量輸入Elman模型,并運(yùn)用GA對Elman建模中的權(quán)值和閥值進(jìn)行優(yōu)化。通過實(shí)例分析表明該模型預(yù)測準(zhǔn)確性高,能有效地預(yù)測蟲害的發(fā)生量。同時(shí)為驗(yàn)證算法的有效性,與PLS算法、Elman神經(jīng)網(wǎng)絡(luò)算法、基于GA的Elman神經(jīng)網(wǎng)絡(luò)算法(GA-Elman)、基于GA的BP神經(jīng)網(wǎng)絡(luò)算法(GA-BP)進(jìn)行比較。
Elman神經(jīng)網(wǎng)絡(luò);偏最小二乘法;遺傳算法;PLS-GA-Elman算法
病蟲害對農(nóng)作物的產(chǎn)量有重要影響[1]。作為農(nóng)業(yè)大國,如果病蟲害大面積發(fā)生,會(huì)給社會(huì)帶來嚴(yán)重的影響,做好病蟲害防治工作對促進(jìn)我國農(nóng)業(yè)的可持續(xù)發(fā)展意義重大[2]。病蟲害防治的一個(gè)重要工作就是做好預(yù)測,病蟲害的發(fā)生受到多種復(fù)雜因素的影響,例如環(huán)境因素、天敵數(shù)量、氣象因素等[3],因此,病蟲害的預(yù)測實(shí)際上是一個(gè)多輸入、單輸出或多輸出、輸入量之間相互影響的非線性問題[4]。
隨著現(xiàn)代科技的發(fā)展,為提高病蟲害發(fā)生量的預(yù)測精度,傳統(tǒng)的預(yù)測理論方法、灰色系統(tǒng)理論、神經(jīng)網(wǎng)絡(luò)理論等被引入到病蟲害發(fā)生量預(yù)測中,并在提高蟲害發(fā)生量預(yù)測精度上取得了一定的效果。其中,神經(jīng)網(wǎng)絡(luò)在處理非線性問題和大規(guī)模計(jì)算時(shí)有比較強(qiáng)大的功能[5]。Elman神經(jīng)網(wǎng)絡(luò)是一種動(dòng)態(tài)網(wǎng)絡(luò),具有適應(yīng)時(shí)變特性的能力[6],但是Elman網(wǎng)絡(luò)是以BP為基礎(chǔ)進(jìn)行的改進(jìn)[7],與BP網(wǎng)絡(luò)一樣,Elman網(wǎng)絡(luò)存在學(xué)習(xí)速度慢、易陷入局部極小的問題[8]。同時(shí)神經(jīng)網(wǎng)絡(luò)有太多的特征變量輸入時(shí),會(huì)妨礙網(wǎng)絡(luò)的收斂,甚至最終影響預(yù)測精度[9],因此,需要從大量的特征變量中提取最有用的特征[10]。由于影響病蟲害的因素之間存在著相互作用,變量的提取要在不影響樣本間相關(guān)性的情況下進(jìn)行。偏最小二乘回歸(PLS)在對輸入變量多、數(shù)據(jù)量又較少的樣本進(jìn)行主成分提取時(shí),能盡可能多的攜帶原始數(shù)據(jù)的變異信息和保證變量之間的相關(guān)性[11-12]。遺傳算法(GA)是一種自適應(yīng)全局優(yōu)化概率搜索算法,可歸納為遺傳運(yùn)算(交叉與變異)和進(jìn)化運(yùn)算(選擇)2種運(yùn)算過程。用遺傳算法(GA)的全局尋優(yōu)能力對Elman網(wǎng)絡(luò)進(jìn)行優(yōu)化,能克服尋優(yōu)中的盲目性,避免局部收斂的發(fā)生,使網(wǎng)絡(luò)性能得到極大的改善。為此,本研究選用偏最小二乘回歸(PLS)進(jìn)行特征提取、遺傳算法(GA)優(yōu)化權(quán)值和閥值后的Elman網(wǎng)絡(luò),建立了PLS-GA-Elman多元變量蟲害發(fā)生量預(yù)測模型。以實(shí)例進(jìn)行分析,并與PLS、Elman、GAElman、GA-BP預(yù)測模型進(jìn)行比較,為提高蟲害發(fā)生量預(yù)測精度提供了有效途徑和方法。
以陜西地區(qū)1988—2013年玉米螟蟲害為例,表1中數(shù)據(jù)為玉米螟蟲與氣象因子的發(fā)生程度關(guān)系,其中x1為5月份的平均氣溫,x2為5月份的平均降水量,x3為6月份的平均氣溫,x4為6月份的平均降水量,x5為7月份的平均氣溫,x6為7月份的平均降水量,x7為8月份的平均氣溫,x8為8月份的平均降水量,x9為9月份的平均氣溫,x10為9月份的平均降水量,y為玉米螟蟲發(fā)生量。將表1中數(shù)據(jù)分為訓(xùn)練集和測試集2個(gè)部分,以1988—2008年的數(shù)據(jù)作為訓(xùn)練集,以2009—2013年的數(shù)據(jù)作為測試集。其中x1、x2、x3、x4、x5、x6、x7、x8、x9、x10作為網(wǎng)絡(luò)輸入,y作為網(wǎng)絡(luò)輸出。
表1 玉米螟蟲與氣象因子關(guān)系
2.1 PLS回歸分析
由于選用的是年蟲害發(fā)生量的有關(guān)數(shù)據(jù),預(yù)測模型的輸入變量是10個(gè),且存在相關(guān)性,用于實(shí)驗(yàn)的樣本數(shù)據(jù)不多,所以用PLS對樣本數(shù)據(jù)進(jìn)行主成分提取,PLS模型的建模步驟如下:
1)對自變量組x和因變量組y進(jìn)行標(biāo)準(zhǔn)化,分別為E0、F0。
2)從E0中提取第1個(gè)成分t1,t1=E0w1,殘差矩陣E1,E1=E0-t1a1T。其中,w1為矩陣最大特征值所對應(yīng)的特征向量,a1為E0對 t1的回歸系數(shù),a1=E0Tt1/||t1||2。
3)以E1代替E0重復(fù)步驟2),得到w2、t2、a2;E2依次類推。
4)用交叉有效性來確定提取成分個(gè)數(shù)。一般認(rèn)為如果在第h步,若有Qh2<0.097 5,則可停止成分的提取;若Qh2≥0.097 5,表示第h步提取的第th成分的邊際貢獻(xiàn)顯著,繼續(xù)第h+1步計(jì)算。
根據(jù)上面的步驟,在E0中提取第2成分t2,交叉有效性Q?2=0.395 1>0.097 5,提取第3成分t3,交叉有效性Q?2=-0.270 4<0.097 5;故提取3個(gè)成分即可滿足。通過數(shù)據(jù)標(biāo)準(zhǔn)化的逆過程,可得到原始因變量y對自變量x的偏最小二乘回歸方程:
y=593.590 9+3.361 3x1-0.371 2x2-0.377 70x3+ 0.383 8x4-6.310 4x5+0.353 7x6-16.323 1x7-0.208 9x8+2.951 8x9-0.453 4x10。
2.2 基于GA的Elman神經(jīng)網(wǎng)絡(luò)模型
本文中的Elman網(wǎng)絡(luò)的反饋層采用tansig函數(shù),輸出層采用線性函數(shù)purelin,Elman神經(jīng)網(wǎng)絡(luò)模型如圖1所示。其中:
a1(k)=tansig(IW1.1×p+LW1.1×a1(k-1)+b1);
a2(k)=purelin(LW2.1×a1(k)+b2。
圖1 Elman神經(jīng)網(wǎng)絡(luò)模型
GA-Elman算法的具體實(shí)現(xiàn)步驟:
2)由網(wǎng)絡(luò)結(jié)構(gòu)確定遺傳算法的個(gè)體長度,所有權(quán)值和閥值組成一個(gè)個(gè)體,多個(gè)個(gè)體組成種群。
3)由個(gè)體得到初始的權(quán)值和閥值,選取測試集數(shù)據(jù)的預(yù)測輸出和期望輸出之間的誤差絕對值和的倒數(shù)作為適應(yīng)度函數(shù):
式中,yi是期望輸出值,ti是預(yù)測輸出值,n是測試集樣本數(shù)目。
4)采用輪盤賭法,即依據(jù)每個(gè)個(gè)體的相對適應(yīng)度來確定個(gè)體被選中的概率,每個(gè)個(gè)體的選擇概率:
式中,f(xi)為第i個(gè)個(gè)體適應(yīng)度值,n為種群個(gè)體數(shù)目。
5)采用實(shí)數(shù)交叉法,以交叉概率pc對個(gè)體ak和al進(jìn)行交叉操作,產(chǎn)生新個(gè)體ak’和a1’,即在第k個(gè)染色體ak和第l個(gè)染色體al在j位以雜交概率pc進(jìn)行雜交,其中pc為[0,1]間的隨機(jī)數(shù),公式如下:
6)對第i個(gè)個(gè)體的第j個(gè)基因aij進(jìn)行變異,變異操作方法如下:
式中,amax為基因aij的上界,amin為基因aij的下界,r2為一個(gè)隨機(jī)數(shù),g為當(dāng)前迭代次數(shù),Gmax為最大進(jìn)化次數(shù),r是[0,1]間的隨機(jī)數(shù)。
7)產(chǎn)生新一代種群。
8)重復(fù)3)到7),直到設(shè)定最大代數(shù)。
9)通過遺傳算法得到的最優(yōu)值優(yōu)化Elman神經(jīng)網(wǎng)絡(luò)的權(quán)值和閥值,訓(xùn)練達(dá)到精度或訓(xùn)練次數(shù)則結(jié)束。
2.3 蟲害發(fā)生量預(yù)測模型建立與結(jié)果
偏最小二乘回歸能在樣本個(gè)數(shù)較少以及自變量存在嚴(yán)重相關(guān)性的條件下進(jìn)行建模,且模型對實(shí)際的解釋能力更強(qiáng)[13]。PLS通過提取主成分很好地解決了變量間的共線性[14],但PLS算法主要使用線性逼近得到結(jié)果,其預(yù)測精度往往不如GAElman模型,因而將2種方法有機(jī)地結(jié)合起來可以顯著提高GA-Elman模型對蟲害發(fā)生量預(yù)測模型的運(yùn)行效率和預(yù)測精度。PLS-GA-Elman模型先用PLS提取主成分,t1,t2,t3,…,th代替初始駛?cè)胱兞縳1,x2,x3,…,xn,然后利用GA改進(jìn)的Elman進(jìn)行學(xué)習(xí)和訓(xùn)練,建立蟲害發(fā)生量預(yù)測模型,模型流程如圖2所示。
圖2 PLS-GA-Elman蟲害發(fā)生量預(yù)測模型流程
對于訓(xùn)練樣本,將主成分t1、t2、t3及因變量y輸入到Elman中進(jìn)行擬合,采用GA算法對權(quán)值和閥值進(jìn)行優(yōu)化,初始種群為10,最大進(jìn)化次數(shù)100,交叉概率0.2,變異概率0.1。
將5組測試樣本輸入到建立的PLS-GA-ELMAN模型中得到預(yù)測結(jié)果見表2。為進(jìn)一步比較該模型的有效性,本文還運(yùn)用同樣的數(shù)據(jù)建立了蟲害發(fā)生量PLS模型、Elman模型、GA-Elman模型、GABP模型和PLS-GA-Elman模型,并對測試樣本進(jìn)行預(yù)測。由表2可以看出,幾種模型的預(yù)測結(jié)果均能較好地預(yù)測未來的發(fā)生趨勢??傮w來說,PLSGA-Elman預(yù)測模型能夠較好地接近實(shí)際值,并且平均相對誤差較其他模型小,表明該預(yù)測模型的精度能夠滿足實(shí)際需求。
在PLS算法的基礎(chǔ)上,結(jié)合GA優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)算法提出了PLS-GA-Elman組合神經(jīng)網(wǎng)絡(luò)模型。PLS在對數(shù)據(jù)信息進(jìn)行分解和篩選、提取對預(yù)測變量解釋性最強(qiáng)的綜合變量的同時(shí),顧及與因變量的相關(guān)程度[15],而神經(jīng)網(wǎng)絡(luò)又具有較強(qiáng)的非線性處理問題的能力,Elman神經(jīng)網(wǎng)絡(luò)在BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了反饋功能。GA-Elman模型能加快神經(jīng)網(wǎng)絡(luò)的收斂速度,避免其陷入極小點(diǎn)。所以將PLS與GA優(yōu)化后的Elman神經(jīng)網(wǎng)絡(luò)有機(jī)結(jié)合的模型,能夠較好地?cái)M合非線性預(yù)測問題。實(shí)例分析結(jié)果表明,PLS-GA-Elman模型精度較高,具有較好的泛化能力,為農(nóng)業(yè)蟲害發(fā)生量的預(yù)測提供了一個(gè)科學(xué)有效的方法。
表2 蟲害發(fā)生量預(yù)測結(jié)果與誤差分析
[1] 楊潔.基于本體的柑橘病蟲害知識建模及推理研究[D].武漢:華中師范大學(xué),2014.
[2] 劉紅皊.基于WebGIS與RS理論的農(nóng)業(yè)病蟲害預(yù)測預(yù)報(bào)[D].南昌:南昌大學(xué),2014.
[3] 張沙沙.稻麥主要病蟲的CBR預(yù)測模型參數(shù)優(yōu)化及知識庫構(gòu)建[D].合肥:安徽農(nóng)業(yè)大學(xué),2013.
[4] 馮慧敏,閆巍,李雪非.基于Choquet積分的非線性蟲害預(yù)測[J].湖北農(nóng)業(yè)科學(xué),2013,52(22):5485-5487.
[5] 梁燁妮.人工神經(jīng)網(wǎng)絡(luò)的發(fā)展及應(yīng)用[J].硅谷,2014(12):3.
[6] 吳澤志,傅佳.Elman神經(jīng)網(wǎng)絡(luò)改進(jìn)模型在腦膜炎診斷中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(3):221-226.
[7] 潘少偉,梁鴻軍,李良,等.改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)對儲(chǔ)層參數(shù)的動(dòng)態(tài)預(yù)測研究[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(10):52-56.
[8] 孫艷梅,苗鳳娟,陶佰睿.基于PSO的BP神經(jīng)網(wǎng)絡(luò)在壓力傳感器溫度補(bǔ)償中的應(yīng)用[J].傳感技術(shù)學(xué)報(bào),2014(3):342-346.
[9] 丁世飛,賈偉寬,許新征,等.基于PLS的Elman神經(jīng)網(wǎng)絡(luò)算法研究[J].電子學(xué)報(bào),2010,38(s1):71-75.
[10] 賈偉寬,丁世飛,許新征,等.基于Shannon熵的因子特征提取算法[J].模式識別與人工智能,2011,24(3):327-331.
[11] 尤艷麗,周敬宣,李湘梅.基于偏最小二乘法的武漢市生態(tài)足跡模型及驅(qū)動(dòng)力研究[J].湖北農(nóng)業(yè)科學(xué),2014,53(19):4751-4756.
[12] 葛彥鵬.基于偏最小二乘法的火電機(jī)組關(guān)鍵參數(shù)預(yù)測模型研究[D].北京:華北電力大學(xué),2013.
[13] 石琳,李志玲,崔桂梅.基于偏最小二乘回歸的高爐鐵水硅含量模型[J].內(nèi)蒙古大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,41(4):427-430.
[14] 陳高波.年用電量預(yù)測的PLS-LSSVM模型[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(25):223-225.
[15] 丁世飛,靳奉祥,史忠植.基于PLS的信息特征壓縮算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(2):368-371.
(責(zé)任編輯:侯春曉)
S431.9
:A
:0528-9017(2016)12-2082-04
文獻(xiàn)著錄格式:張芳群,包曉敏.基于PLS-GA-Elman算法的病蟲害預(yù)測[J].浙江農(nóng)業(yè)科學(xué),2016,57(12):2082-2085.
10.16178/j.issn.0528-9017.20161250
2016-06-06
公益性行業(yè)(農(nóng)業(yè))科研專項(xiàng)(201203036)
張芳群(1991-),女,河南周口人,碩士研究生,主要從事農(nóng)業(yè)蟲害預(yù)測研究,E-mail:896689196@qq.com。