劉海姣 秦亮曦* 秦川 蘇永秀
(1.廣西大學計算機與電子信息學院 廣西壯族自治區南寧市 530000)
(2.廣西氣候中心 廣西壯族自治區南寧市 530000 3.廣西氣象科學研究所 廣西壯族自治區南寧市 530000)
我國熱帶果樹的水果產量約占世界熱帶果樹水果總產量的28%,種類繁多,品質優良。但是我國屬于熱帶果樹種植的北緣地帶,受氣候變化影響,每年產量的波動較大。
芒果產量信息對于我國芒果生產、加工、出口、消費等都有重要作用,對我國農業產業發展具有重要意義。科學、準確地預測芒果產量,可以為相關部門優化熱帶水果生產結構提供良好的參考與借鑒,具有較好的研究價值。
本研究旨在利用歷年廣西芒果產量及同期氣象數據,建立Bi-LSTM 芒果產量預測模型,對廣西的芒果產量進行預測。
長短期記憶網絡(LSTM)是一種特殊的循環神經網絡(RNN)。由于其獨特的結構,LSTM 非常適合于處理時間序列數據的預測問題。目前,國內對于農作物產量的預測方法主要有BP 神經網絡模型及其改進方法[1]、灰色預測模型[2]和ARIMA 模型等,以及上述方法的組合模型等。其中,BP 神經網絡模型是各種農作物產量預測的常用方法,但是傳統的BP 神經網絡模型存在學習收斂速度慢、易陷入局部極值等問題,其預測精度并不理想[3]。灰色預測模型對非平穩序列,波動較大的數據序列預測效果較差,水果產量變動的隨機性、非平穩性和復雜性,給水果產量的中長期預測帶來了很大的困難。
芒果產量數據屬于波動較大的時間序列。其中1991-1994年呈現上升趨勢,經過1994-1996年3年小幅波動后,1997年又出現了快速下降趨勢。后面每年的產量都會出現小幅或較大的波動,因此在建立芒果產量預測模型時,需要充分考慮其波動性大的特點,選擇能反映這一特點的模型,而Bi-LSTM 模型正好具有解決此類問題的優勢。
長短期記憶網絡是一種時間循環神經網絡,是為了解決一般的RNN 存在的長期依賴問題而專門設計出來的。其結構就是把循環神經網絡中隱含層換成LSTM 模塊。LSTM 用細胞狀態表示門控制單元狀態。細胞狀態由三個門來控制,這三個門分別稱為輸入門(Input Gate)、遺忘門(Forget Gate)和輸出門(Output Gate)。
2.2.1 基于Bi-LSTM 的芒果產量預測模型

圖1:基于Bi-LSTM 的芒果產量預測模型

圖2:各模型預測擬合效果
芒果產量時間序列數據存在影響產量的氣象因素多但積累的歷史數據年份少的特點,使用單向的LSTM 難免存在由于數據較少帶來的問題,而Bi-LSTM 通過正反兩個方向的訓練提高模型的性能[4]。因此,采用了Bi-LSTM 來構建廣西芒果產量的預測模型(如圖1 所示)。
該模型共由三個部分組成:數據輸入及預處理層、隱含層和輸出層。隱含層由Bi-LSTM 層和全連接層構成。
Bi-LSTM 的訓練過程具體如下:
對歷年芒果產量及相關的氣象數據進行預處理,包括歸一化,利用氣象因素在時間上的相似性填補缺失值等,同時將預處理過的數據劃分為訓練集和測試集;
初始化模型參數,不斷嘗試Bi-LSTM 的層數,節點數,Epoch以及迭代次數;
對于訓練樣本中的每個<x,y>
自前向后的正向隱藏層更新公式為:

自后向前的反向隱藏層更新公式為:

正反向隱藏層信息的輸出層更新公式為:

利用公式(4)[5]計算輸出值,并傳給輸出層。

2.2.2 基于Bi-LSTM 的芒果產量預測算法
算法的步驟如下:
step 1:數據預處理。對數據進行相關性分析和歸一化處理,并將數據劃分為訓練數據集和測試數據集。
step 2:初始化模型參數。設置實驗所得到的Bi-LSTM 模型最佳層數,輸入層、隱藏層及輸出層神經元數,學習步長初始值,Epoch 以及Dropout 概率等參數。
step 3:訓練階段。利用訓練數據集,對Bi-LSTM 模型進行訓練。包括正向計算、反向計算及全連接層計算、得到模型輸出結果,使得輸出結果與實際值的誤差最小化。
step 4:測試階段。將測試數據集輸入到訓練好的Bi-LSTM 芒果產量預測模型中,得到芒果產量預測結果,并進行誤差分析。
實驗數據是廣西氣象局提供的1991-2014年廣西某地芒果產量及同期氣象要素數據。
通過相關性分析,從9 個要素24 個芒果生產周期,共計324個要素(特征)中選取了106 個相關性顯著的特征作為Bi-LSTM模型的訓練特征。
在廣西芒果產量預測問題中,需要采用含有氣象要素和產量的訓練數據集對Bi-LSTM 模型進行訓練,本文選取1991-2002年的氣象數據和產量作為訓練數據,2003-2014年的氣象數據作為測試數據,對訓練完成的Bi-LSTM 模型進行測試,預測測試年份的芒果產量并與實際產量進行比較。
為了評估Bi-LSTM 模型對廣西芒果產量數據預測的性能,將把Bi-LSTM 模型與其它幾個模型進行比較。實驗的參數epochs 表示訓練次數,一次訓練即所有訓練樣本均在神經網絡中經過了一次前向傳播和一次后向傳播的過程。
主要設置4 個對比模型,每個對比實驗情況均運行10 次取平均值。
(1)SVR 模型:支持向量回歸(Support Vector Regression, SVR)模型。
(2)BP 模型:BP(Back Propagation)神經網絡模型。
(3)LSTM 模型:單層長短期記憶神經網絡模型。
(4)GRU 模型:GRU(Gated Recurrent Unit, GRU)是LSTM的一種變體,在GRU 中只有更新門和重置門。
采用均方誤差(MSE,Mean Squared Error)和均方根誤差(RMSE,Root Mean Square Error)[5]作為評價指標對各模型的性能進行評價。MSE 和RMSE 值越小,表明預測值與實際值之間偏差越小,預測性能越好,反之則預測性能越差。

表1:不同模型預測值的RMSE、MSE 比較
五個不同模型的預測值及實際值如圖2 所示,而各模型預測的MSE,RMSE 如表1 所示。
在相同實驗參數設置下,Bi-LSTM 模型的預測值與實際值更加相近,產量趨勢也比其它模型更加擬合。Bi-LSTM 模型的RMSE分別比SVR、BPNN、LSTM、GRU 模型的RMSE 降低了26.2%、31.4%、1.3%、9.4%。而MSE 分別比SVR、BPNN、LSTM、GRU模型的MSE 降低了45.6%、52.9%、2.5%、18.0%。
Bi-LSTM 模型的預測準確率明顯優于比較的4 個模型,獲得了較好的預測效果。為了了解增加LSTM 層數對準確率的影響,把單層和多層LSTM、Bi-LSTM 預測性能進行了比較,單層Bi-LSTM模型效果比較好,而雙層Bi-LSTM 模型效果有下降,這也許跟實驗數據規模不夠大有一定關系,所以復雜模型的優勢發揮不出來。
為了更準確地預測芒果產量,設計了基于Bi-LSTM 網絡的芒果產量預測模型,并給出了該模型的算法步驟。將廣西某地區芒果產量及同期相關性較為顯著的氣象要素數據用于構建Bi-LSTM預測模型,并將訓練好的Bi-LSTM 模型與SVR、BPNN、GRU、LSTM 等模型進行了性能對比。實驗結果表明,Bi-LSTM 模型與上述4 個模型相比,均方根誤差大幅降低,同時預測產量更加接近于實際產量。本研究可以為相關部門優化熱帶水果生產和其它農作物產量預測研究提供較好的參考價值。