李思宇, 李 玥
(1.甘肅農業大學理學院,甘肅 蘭州 730070;2.甘肅農業大學信息科學技術學院,甘肅 蘭州 730070)
中國是世界農業大國,但近幾十年來農業氣象災害頻繁發生,嚴重影響農業發展[1]。不利的氣象條件引起的農作物減產被稱為農業氣象災害[2]。據統計分析,中國農業受各種氣象災害影響的面積約為601.8 hm2,受災人口約6×108[3],其中受災面積較大的省份為山東省、河南省和黑龍江省[4]。農業氣象災害的準確預測可以為及時采取抗災減災措施提供科學依據,保證農業生產穩定發展,所以對農業氣象災害進行預測意義重大。
近年來神經網絡被廣泛應用于各個領域,一些學者也提出了利用神經網絡預測農業氣象災害的方法。黃慧等[5]基于反向傳播(BP)神經網絡模型,根據氣象資料與自然災害統計數據,對湖南省洪災、旱災受災率進行了預測,結果表明多元回歸模型的預測精度低于BP神經網絡模型。Li等[6]運用灰色關聯分析方法,分析河南省主要農業氣象災害因子與糧食作物產量的關聯度,基于灰色BP神經網絡模型,對各種自然災害覆蓋率和影響率進行了模擬和預測,模擬預測結果較好。史風梅等[7]利用累加預測模型對黑龍江省的農業氣象災害進行了預測,模型是根據黑龍江省的農業洪澇、干旱資料建立的,其預測結果較好。李博等[8]以廣東省臺風災害為例,在氣象災害發生后,利用GA-BP神經網絡模型對廣東省受災引起的經濟損失進行了預測,預測效果較好。楊雪雪等[9]采用核主成分分析(KPCA)對數據進行降維優化,通過RBF模型對優化后的數據進行訓練,結果表明,KPCA-RBF預測模型的學習收斂速度較快,預測精度較高。Luan[10]采用基于主成分分析構建的BP神經網絡預測方法和基于MM5數值模型的地質災害預測方法,建立地質災害分類短期客觀預測模型,結果表明,這2種預測方法的擬合效果較好。
現有研究大多集中在農業氣象災害風險評估模型方面[11-13],分析農業氣象災害帶來的影響。預測農業氣象災害的模型比較少,雖然前人研究結果為農業氣象災害預測提供了理論指導,但由于各地區地勢的不同以及天氣的波動性變化,所以不同地區的農業氣象災害預測模型存在差異性和不穩定性。已有的灰色預測模型對數據的光滑度要求很高,在數據光滑度較差的情況下灰色預測模型的精度不高,甚至通不過檢驗。農業氣象災害數據較為復雜,數據光滑度很差,不適合用灰色預測模型進行預測。BP神經網絡適合數據較為復雜的預測模型,但BP神經網絡收斂速度緩慢,容易陷于局部極小值,需要進一步優化。為了科學有效地提高山東省農業氣象災害的預測精度,本研究擬在前人研究的基礎上,分析農業氣象災害致災因子,提出BP神經網絡預測模型,考慮到BP神經網絡的不足,采用麻雀搜索算法(SSA)對BP神經網絡進行優化,并與粒子群算法(PSO)和遺傳算法(GA)優化的BP神經網絡預測模型進行比較,以期為優化農業氣象災害預測模型提供理論依據。
山東省地處中國東部沿海,黃河下游,是中國重要的農業大省。但農作物產量受氣候條件的影響較大,惡劣天氣是制約農業發展的一個重要因素[14]。旱災和澇災是最主要的農業氣象災害。本研究選取山東省1978-2018年受災(洪澇、干旱)的農作物種植面積以及山東省內17個氣象站點1978-2018年的逐年氣象數據。本研究所用的數據資料主要來自《新中國60年農業統計資料》[15]、山東省統計年鑒官網、NOAA官網,其中部分缺失值采用插值法進行補充。
農作物產量比正常年份減少10%以上的播種面積被稱為受災面積,減少30%以上的播種面積為成災面積,農作物受災面積和成災面積與總播種面積之比被定義為受災率和成災率[16]。受災率可避免受往年播種面積變化的影響,客觀地反映出洪澇和干旱災情的輕重[17]。選取山東省1978-2018年受災總面積、旱災受災面積和洪災受災面積作為本研究的樣本因子。對樣本因子進行處理,把旱災受災率、洪災受災率作為評價因子。
氣象要素偏離平均氣象,就會形成氣象異常,影響農業生產,成為氣象災害的致災因子[18]。農業氣象災害按致災因子可分為單因子和綜合因子2大類。根據農業氣象災害致災因子和年氣象站含有的數據,本研究選取最低氣溫(℃)、最高氣溫(℃)、平均最低氣溫(℃)、平均最高氣溫(℃)、平均氣溫(℃)、最大日降水量(mm)、日降水量≥0.1 mm日數、20-20時降水量(mm)、年累計降水量(mm)、平均相對濕度(%)、平均水氣壓(hPa)、日照時數共12個影響因子。
本研究的試驗環境為Window 64位系統,使用Matlab2018b軟件對原始數據進行預處理,建立BP、SSA-BP、PSO-BP、GA-BP神經網絡模型。
1.4.1 核主成分分析法 核主成分分析(KPCA)是Sch?lkopf等[19]提出的將核函數引入主成分分析(PCA)的方法,是對PCA的擴展。KPCA主要使用核函數,即對于當前非線性不可分的數據,將其映射到更高維的空間進行線性可分,然后進行降維,提高了原始數據的質量,降低了計算成本。本研究首先利用KPCA對原始數據進行降維。
核主成分分析的具體步驟如下:
步驟一:用核函數表示特征空間中重構變量的內積。
(1)
式中:Xi是第i個樣本的所有列;Xj是第j個樣本的所有列;n表示矩陣的維度;α是核函數的寬度函數。
步驟二:對核矩陣K中心化,得到中心化的核矩陣K′:
K′=K-Ln×K-K×Ln+Ln×K×Ln
(2)
式中:Ln是N×N的矩陣。
步驟三:計算核矩陣的特征值,將特征向量和特征值從大到小排序。
步驟四:計算各特征值的累計貢獻率r,給定貢獻率閾值p,若r大于p,則選取前t個分量作為降維后的數據。
1.4.2 麻雀搜索算法優化BP(SSA-BP)神經網絡模型 麻雀搜索算法是由Xue等[20]在2020年提出的一種新型優化算法,該算法具有更高的搜索能力。在覓食時,麻雀被分為2部分:發現者和接受者,分別負責提供方向和跟隨它們尋找食物。當麻雀感覺到危險時,就會產生反撲食的行為,并更新它們的種群狀態。
麻雀搜索算法實現步驟如下:
第一步:初始化參數值。
第二步:開始循環
第三步:對種群進行排序,得到最佳適應度值和最優麻雀個體位置。
第四步:食物搜索,根據公式3更新發現者位置。

(3)

第五步:按公式4更新加入者位置。
(4)

第六步:反捕食行為,重新定位麻雀種群。
(5)

第七步:更新歷史最優適應度。
第八步:執行第二步到第七步,到達最大迭代次數時,結束循環。得到最優個體的位置和適應度值。
1.4.3 神經網絡模型的參數選擇 根據隱含層節點數k=m+n+a的經驗公式,其中a∈[1,10],m表示輸入層個數,n表示輸出層個數,利用遍歷選優的原則,選出適應度值最小時對應的隱含層節點數值[21]。所以本研究的BP神經網絡結構為6-10-2,即輸入層、隱含層、輸出層分別輸入6、10、2。為了證明SSA-BP算法的優越性,利用粒子群算法、遺傳算法改進BP神經網絡模型,將結果進行對比,為保證公平,同一參數設置相同,關鍵參數如表1所示。設置好參數,把數據分別帶入傳統BP神經網絡模型、SSA-BP模型、GA-BP模型和PSO-BP模型中進行分析。

表1 參數選擇
1.4.4 模型訓練與精度驗證 基于山東省1978-2018年17個氣象站點的逐年氣象數據,各影響因子數據求平均值作為山東省的逐年氣象數據,利用KPCA降維后的影響因子作為模型輸入數據,旱災受災率和洪災受災率為輸出數據。將研究時段分為1978-2012年和2013-2018年2個時段,第一時段數據用于模型訓練,第二時段數據用于模型驗證。以平均絕對誤差(MAE)、均方誤差(MSE)和均方根誤差(RMSE)3個指標形成評價指標體系,用于評判不同模型的精度[22]。MAE用來衡量預測值與真實值之間的平均絕對誤差,MAE越小表示模型越好;MSE的值越小說明預測模型有更好的精確度;RMSE可以反映數據的離散程度,做非線性擬合時,RMSE越小越好。計算式分別為:
(6)
(7)
(8)
式中,i表示逐年數據個數;m表示年數;Xi和Yi分別表示預測值、實測值。
首先對農業氣象災害數據進行核主成分降維處理,降低訓練時間,保留原始變量的大部分信息,從而可以提高模型性能。主成分累計方差貢獻率見表2。將主成分累計方差貢獻率設定為90.00%。表2顯示,前6個主成分的累計方差貢獻率達到92.09%,即前6個主成分包含了所有指標的大部分信息。

表2 主成分累計方差貢獻率
利用訓練好的神經網絡模型進行預測。圖1顯示,SSA-BP神經網絡模型的適應度值最小且最快趨于平穩,說明SSA-BP神經網絡模型的迭代精度和趨于平穩的速度要大于PSO-BP神經網絡模型和GA-BP神經網絡模型。

BP、PSO-BP、GA-BP、SSA-BP見表1注。
表3是不同模型對旱災受災率的預測值及其實測值,表4是不同模型對洪災受災率的預測值及其實測值。我們發現,與傳統BP神經網絡模型相比,總體上SSA-BP神經網絡模型對旱災受災率的預測值更接近實測值,說明將SSA與傳統BP神經網絡模型相結合產生了更好的預測效果。此外,我們還比較了不同優化算法的性能。為了進一步提高預測結果的可靠性,將SSA-BP模型、GA-BP模型、PSO-BP模型、傳統BP神經網絡模型的MAE、MSE、RMSE進行比較,具體數值見表5和表6。

表3 不同模型對旱災受災率的預測結果

表4 不同模型對洪災受災率的預測結果

表5 旱災受災率的模型評價指標對比

表6 洪災受災率的模型評價指標對比
表5顯示,對旱災受災率的預測中,SSA-BP神經網絡模型的MAE最小,與傳統BP神經網絡模型相比,SSA-BP神經網絡模型、PSO-BP神經網絡模型、GA-BP神經網絡模型的MAE分別下降40.91%、18.96%和25.92%。同樣,SSA-BP神經網絡模型產生的MSE最小,與傳統BP神經網絡模型相比,SSA-BP神經網絡模型、PSO-BP神經網絡模型、GA-BP神經網絡模型的MSE分別降低了41.47%、23.06%和32.36%;與傳統BP神經網絡模型相比,SSA-BP神經網絡模型、PSO-BP神經網絡模型、GA-BP神經網絡模型的RMSE分別下降23.55%、12.28%和17.74%。
表6顯示,對洪災受災率的預測中,與傳統BP神經網絡模型相比,SSA-BP神經網絡模型、PSO-BP神經網絡模型、GA-BP神經網絡模型的MAE分別下降了29.48%、24.45%和23.03%,MSE分別下降了50.87%、17.96%和25.69%;RMSE分別下降了29.96%、9.49%和13.88%。
從模型的RMSE數值中可以看出,SSA-BP神經網絡模型的預測結果比較好。結果表明,與GA相比,SSA更好地提高了BP神經網絡模型的預測精度。雖然個別預測值出現偏離,但農業氣象災害本身就具有突發性和隨機性,所以不會影響模型的有效性。通過RMSE的比較可以看出,SSA-BP模型的預測精度得到了提高,預測值整體更接近實測值。
對于農業氣象災害的預測,現有研究大多集中在農業氣象災害影響因子的灰色關聯,分析其主要影響因子,再進行BP神經網絡模擬。可是BP神經網絡初始的閾值和權值是隨機的,不同初始值對預測結果影響較大。PSO、GA、SSA都可以對傳統BP神經網絡模型進行優化。GA中染色體之間的信息相互共享,種群是相對均勻地移動到最佳區域;PSO中的粒子是對當前搜索的最佳點進行共享,是遵循當前最優解的一個搜索迭代過程。SSA將種群中的所有因素考慮在內,使麻雀移動到整體最優值,并在最優值附近快速收斂[23]。單曉英等[24]將SSA與PSO的性能進行了比較,結果表明,SSA具有很好的探索全局最優潛在區域的能力,從而有效避免了局部最優問題。胡建華等[25]、Wang等[26]采用SSA-BP模型進行學習與訓練,將得到的結果與傳統BP神經網絡模型、GA-BP神經網絡模型的預測結果進行對比,結果表明,SSA-BP神經網絡模型具有較高的準確性與穩定性。本研究為了提高傳統BP神經網絡模型的預測精度,采用SSA、PSO、GA優化傳統BP神經網絡模型,SSA優化的傳統BP神經網絡模型在搜索精度、收斂速度方面優于PSO、GA優化的傳統BP神經網絡模型。
本研究根據農業氣象災害的成災特點建立了旱災預測模型和洪災預測模型,通過核主成分分析,保留原始數據的絕大部分信息,從而提高數據質量,減少網絡訓練時間,提高模型性能。用傳統BP神經網絡模型進行預測,BP神經網絡收斂速度緩慢,且易陷于局部極小值,利用SSA優化傳統BP神經網絡模型,提高預測精度,同時使用PSO、GA優化傳統BP神經網絡模型,并對模型精度進行對比。結果表明,SSA優化的傳統BP神經網絡模型具有較好的效果。