呂松林
(潛山市國有天柱山林場,安徽潛山 246300)
馬尾松毛蟲(Dendrolimus punctatus Walker)是我國主要森林害蟲之一,開展氣溫對馬尾松毛蟲發生量的影響的研究,可以探索建立更加精準的預測預報模型,選擇防治關鍵期,為防治提供科學依據。
本研究的馬尾松毛蟲發生防治數據來源于1983年~2014年安徽省潛山市歷年監測數據,氣象數據來源于國家氣象信息中心《中國地面國際交換站氣候資料日值數據》,數據如表1所示。
用于本研究的數據包括發生面積(hm2)、上一代防治面積(hm2)、上一代防治效果(蟲口減退比率)、卵期極低氣溫(℃)、卵期平均氣溫(℃)、卵期積溫(10℃以上日度)。由于潛山馬尾松毛蟲以幼蟲越冬,第二代與翌年越冬代屬于同一世代,因此將第二代與越冬代數據合并。同時,為了便于分析,將第一代數據與第二代數據分開,左側為第一代數據,右側為第二代數據。
本研究采用EXCEL2016進行線性相關性分析,采用美國MathWorks公司出品的商業數學軟件MATLAB R2016a進行非線性數據分析。
對表1所示數據,使用EXCEL2016進行線性相關性分析,結果如表2所示。表2數據表明,發生面積(hm2)與上一代防治面積(hm2)、上一代防治效果(蟲口減退比率)、卵期極低氣溫(℃)、卵期平均氣溫(℃)、卵期積溫(10℃以上日度)等因子線性相關性太低,進行進一步線性分析和線性擬合意義不大,不具備線性建模分析基本條件。

表2 線性相關性分析
基于以上線性分析結果,并考慮到馬尾松毛蟲是生態系統的一部分,生態系統是一個復雜系統,馬尾松毛蟲的發生演變因此也具有復雜系統的基本特征,其卵期氣溫對馬尾松毛蟲發生量影響是復雜的、非線性的。所以,筆者選擇MATLAB R2016a中神經網絡工具,對其進行非線性分析。分析代碼如下:
function importfile(fileToRead1)
newData1=load('-mat',fileToRead1);
vars=fieldnames(newData1);
for i=1:length(vars)

表1 研究數據

圖1 擬合分析(左圖)與誤差直方圖(右圖)

圖2 擬合度分析
assignin('base',vars{i},newData1.(vars{i}));
end
function[y1]=myNeuralNetworkFunction(x1)
b1=[-16.567749187968658;-5.5931050374793063;3.6185211 506444284;-4.0666287250013013;-1.499701885543489;0.073570 152838927455;-2.8339971179972436;.3672059869452386;8.4144084564603361;12.070406128109463];W1_1=12.118435140696723;6.6851778717561334;-6.9821807716971609;10.482224467100231;12.836202616001502;-12.556885182668433;-7.3148977118678129;7.6947558243696825;9.7115477384412454;12.196496466827616];
b2=-0.84428053546185011;LW2_1=[-0.712367721046 71808 0.72470932040837488 0.81622125891886721-0.188935867 94896775 0.090500715363232523-0.051972894434546529 0.1134 4805651106561-0.21844966554696987 0.31931478388444912 0.4 1655015294667036];
y1_step1.ymin=-1;
y1_step1.gain=0.2;
y1_step1.xoffset=0;
Q=size(x1,2);%samples
xp1=mapminmax_apply(x1,x1_step1);
a1=tansig_apply(repmat(b1,1,Q)+IW1_1?xp1);
a2=repmat(b2,1,Q)+LW2_1?a1;
y1=mapminmax_reverse(a2,y1_step1);
end
unction y=mapminmax_apply(x,settings)
y=bsxfun(@minus,x,settings.xoffset);
y=bsxfun(@times,y,settings.gain);
y=bsxfun(@plus,y,settings.ymin);end
function a=tansig_apply(n,~)
a=2./(1+exp(-2?n))-1;end
function x=mapminmax_reverse(y,settings)
x=bsxfun(@minus,y,settings.ymin);
x=bsxfun(@rdivide,x,settings.gain);
x=bsxfun(@plus,x,settings.xoffset);end
選擇70%的數據作為訓練樣本,15%的數據作為驗證樣本,15%的數據作為測試樣本,神經元數量選擇為10,分析結果如圖1、圖2所示。
從圖1可以看出,訓練、驗證、測試的目標與輸出高度契合(如左圖所示),且三者誤差基本集中在-0.01265~0.01647之間,完全達到分析精度要求。圖2訓練結果表明,訓練、驗證、測試、綜合4個擬合度相關性R值分別為0.99999、1、0.99998和0.99999,均大于0.99,高度相關。即基于神經網絡的非線性分析結果表明,發生面積(hm2)與上一代防治面積(hm2)、上一代防治效果(蟲口減退比率)、卵期極低氣溫(℃)、卵期平均氣溫(℃)、卵期積溫(日度)等因子具有高度非線性相關性。
綜上分析表明,利用發生面積(hm2)與上一代防治面積(hm2)、上一代防治效果(蟲口減退比率)、卵期極低氣溫(℃)、卵期平均氣溫(℃)、卵期積溫(日度)的高度非線性相關性特點,可以開展馬尾松毛蟲臨災預警,并可以作為馬尾松毛蟲中長期預報非線性參考因子,進行馬尾松毛蟲中長期預報,或者短期預報、臨災預報,為防治提供科學依據。