李森林, 唐 波, 馬竹根, 印 東
(懷化學院,湖南 懷化 418008)
湖南省地處我國中部,特殊的地理位置和環境使得其農業的發展對我國農產品產量供給的作用非常重要[1]。農產品產量預測一直是農業科技研究的重要方向和熱點問題。傳統的農產品產量預測方法存在預測精度低、易受人為因素影響等問題,如著名反饋網絡(Back Propagation,BP)預測模型[2],盡管能擬合輸入和輸出變量之間復雜的非線性關系,但由于BP 算法是一種局部搜索的優化方法,在訓練中易陷入局部極值,使訓練失敗。近年來,隨著深度學習技術的快速發展,基于深度學習的時間序列數據預測方法表現優異,尤其長短期記憶網絡(Long Short-term Memory,LSTM)模型作為一種善于處理長期依賴性的循環神經網絡,已經廣泛應用于金融、氣象、交通、能源、農業等領域,取得了很好的預測效果[3-5]。為此,我們提出了基于深度學習LSTM 的湖南農產品產量預測模型。
本文的研究目的如下:第一,研究人工神經網絡(Artificial Neural Network,ANN)模型是否能夠有效預測典型氣候條件下湖南農產品產量;第二,建立湖南農產品的LSMT 預測模型;第三,評估LSTM 神經網絡模型相對于參數變化的性能;第四,比較LSTM 模型與BP 模型的有效性;第五,總結研究結果,指出研究的不足之處,提出未來的研究方向。
時間序列數據預測模型一般以歷史數據為基礎,通過數學模型來預測未來的趨勢和變化,如移動平均法、回歸分析等。自從人工神經網絡出現以來,基于梯度下降算法的BP 神經網絡及其變體模型得到快速發展。例如,路思恒等[7]利用BP 神經網絡對云南省糧食產量進行預測,研究了不同的輸入特征、神經網絡結構和訓練方法對預測精度的影響;Kohzadi[8]比較了BP 神經網絡和時間序列模型在預測商品價格方面的性能。這些模型的應用需要工作人員具有一定領域的專業知識,進行數據特征提取,參數配置等,因此模型的推廣和應用并不容易。Hochreiter 等[9]于1997 年提出深度學習循序模型,基本思想是通過引入記憶單元來捕捉時間序列數據中的長期依賴關系。之后,LSTM模型在結構和訓練方法上被不斷改進和拓展。例如,Gers 等[10]在2002 年提出了帶“忘記門”的LSTM模型,用于消除過去信息對當前預測的干擾;Sunny 等人在使用雙向LSTM模型,用于對時間序列金融數據進行雙向建模[11]。這些應用表明了LSTM 模型在時間序列預測中的廣泛適用性和優越性。然而,目前的研究大多集中在某一種農產品上,對于多種農產品的預測研究仍然較少,同時,模型的優化和改進仍然是一個值得研究的問題。
本部分首先簡要敘述人工神經網絡基本模型,然后重點闡述使用的深度學習LSTM模型和評估指標,最后給出基于LSTM模型的預測流程。
人工神經網絡是一種模擬人類神經系統的計算模型,由多個神經元(節點)組成,通過神經元之間的連接和傳遞信息來實現對數據的學習和處理。BP 人工神經網絡至少需要3 層:輸入層、隱藏層和輸出層,如圖1 所示。輸入層和輸出層分別包含對應于輸入和輸出變量的節點。數據通過加權在層之間移動連接。1 個節點接受來自上1 層的數據,所有輸入的加權和ti計算公式為

圖1 3 層神經網絡
其中n是輸入的數量,wij是節點i和j之間連接的權重,x是來自節點j的輸入值。然后對加權值ti應用激活函數來計算節點輸出Oi
隱藏層和輸出層最常用的激活函數是Sigmoid 函數,而輸入層通常使用線性激活函數。隱藏節點的數量決定了輸入和輸出之間的連接數量。
循環神經網絡(Recurrent Neural Network,RNN)模型是一種深度的遞歸神經網絡模型,LSTM是RNN的一個變體。Hochreiter[9]于2011 利用LSTM模型解決了RNN 模型隨著網絡層數的增加和迭代次數的增加,后續節點會逐漸忘記之前的信息,導致梯度遞減或梯度爆炸問題。
LSTM模型將信息存儲在一個個記憶細胞中,不同隱藏層的記憶細胞之間通過少量線性交互形成1條傳送帶,實現信息的流動。圖2 顯示LSTM 模型引入了一種“門”的結構,用來新增或刪除記憶細胞中的信息,控制信息的流動內存單元專門用于保存歷史信息。其中,Ft是遺忘門,負責遺忘記憶單元Ht-1中多少記憶得以保存,其計算公式為:

圖2 LSTM 單元
It為輸入門,主要選擇需要流入當前記憶細胞的信息,其計算公式為:
Qt為輸出門,主要選擇需要流入隱藏狀態的記憶信息,其計算公式為:
Ct為當前記憶細胞,由候選記憶細胞及上一時間步記憶細胞組合而來,其計算公式為:
Ht為當前時刻的輸出,是通過輸出門更新當前的記憶細胞得到的,其計算公式為:
為了證明所提出的湖南農產品預測模型的有效性,本文使用了3 種常用的統計指標,即相關系數(Correlation Coefficient,R)、平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Squared Error,RMSE),來綜合評估預測性能。R的值在0 和1 之間,其值越接近于1,性能越好。MAE和RMSE的值越接近于0,其精度越高。R、MAE和RMSE的計算公式如下:
上述公式中,n表示待評估樣本的總數;yi和是觀察值和預測值;和分別是測量的時間序列均值和預測的時間序列均值。
本文旨在研究基于LSTM 模型的農產品產量預測方法,圖3 顯示了其主要研究內容,包括構建LSTM模型、獲取和預處理數據、模型訓練和預測、分析等。具體方法為:第一,從氣象網和統計年鑒中獲取了歷史的氣象數據和農產品產量數據,包括不同品種的年度產量情況;第二,數據預處理包括特征提取、數據清洗、歸一化等;第三,數據集劃分為訓練集和測試集,其中訓練集為前n年的數據,測試集為后m年的數據;第四,基于Keras 平臺構建了LSTM 模型,包括輸入層、LSTM 層、全連接層和輸出層等。訓練時,模型采用Adam 優化器和均方誤差損失函數。測試階段,測試集輸入到模型中得到預測結果。

圖3 預測模型示意圖
數據取自于2021 年湖南統計年鑒(http://222.240.193.190/2021tjnj/indexch.htm)。我們主要針對油料、糧食和棉花3 種農產品的產量開展研究。首先我們獲取了與農業產量有關的因素,如有效灌溉面積、用電量和機械總動力數據。我們對數據集進行預處理操作,與其他數據集一樣,數據集也存在缺失值,常用的缺失值填充方法有均值填充、線性插補和最近鄰插補等方法。在此,我們使用了如下2 種方法,第一,極個別數據的缺失用線性插值補全;第二,數據塊缺失補全使用了線性插值加隨機擾動相結合,這是因為在對無缺失變量分析時,我們發現數據具有近似線性的特征。然后,我們使用sklearn.preprocessing包中LabelEncoder方法將字符串類型的農產品種類列轉換為數值,并在用于模型之前,完成最大最小數據標準化縮放。為了避免異常值的影響,采用了4 分位間距構建箱形圖來檢測異常點和修正。最后我們對數據集按照8∶1∶1 的比例分為訓練數據塊、驗證塊和測試塊,分別用于模型的訓練、驗證和測試。
我們需要認真考慮輸入何種變量,這是因為輸入變量的組合對模型性能的影響取決于在多大程度上利用相關信息和去除冗余信息。選擇的變量過少可能出現多擬合,從而導致模型沒有足夠的輸入信息來做出令人滿意的預測;而使用所有變量或過多的變量往往會導致欠擬合,同樣結果不理想,這2 種情況都會導致模型性能下降。由于我們使用了相對復雜的LSMT模型,這需要一定數量的數據集用于訓練提高精度,為此我們完成了盡量多農產品數據的爬取。
選擇適合的模型對數據進行訓練,訓練集用于模型的訓練,驗證集用于模型的選擇和調參,測試集用于評估模型的性能。
本文基于湖南農業數據,創建基于LSTM的3 種時間序列預測模型和BP模型,包括單層LSTM 模型(S_L)、堆疊LSTM 模型(D_L)、雙向LSMT 模型(B_L)和BP模型(BP)。
我們給出第2 種堆疊模型的基本配置,如表1 所示,模型包括2 層LSTM、2 層Dropout 和1 層Dense,參數總計為7 2651 個。

表1 模型參數
本節詳細分析和討論模型的預測性能。表2 顯示了4 種結構的性能指標,結果表明單層LSTM模型性能較好,其次是BP網絡,D_L和B_L模型。這說明模型性能并不總與其復雜性成正相關關系,也與數據特性、參數選擇等相關。

表2 不同模型的性能指標
為了驗證提出各種LSTM預測模型的有效性,在實例中我們預測所選的3 種農產品的產量,可視化了數據預測的結果如圖4—7 所示。

圖4 堆疊LSTM 模型農產品模型預測與實際值變化

圖5 單層LSTM 模型農產品模型預測與實際值變化曲線

圖6 雙向LSTM 模型農產品模型預測與實際值變化曲線

圖7 BP 模型農產品模型預測與實際值變化曲線
4 種模型預測結果圖表明,第一,這些模型在現有數據集上的預測效果都很好;第二,堆疊或雙向的復雜LSTM模型相對于簡單的單層LSTM模型,在預測精度和泛化能力上差別并不明顯;第三,傳統淺層BP 模型與深度神經網絡LSTM 模型相比,性能并不差,甚至更好。這都進一步驗證了模型精度不只與復雜度有關,更與數據直接相關。
我們基于湖南農產品構建了3 種LSTM 模型和1 個BP 模型,并對3 種農產品產量進行了預測。實驗結果表明,3 種LSTM 模型和BP 模型都得到了較為準確的預測結果。因此,這些模型可以用于有限數據集上的其他預測問題。在實驗過程中,我們發現模型參數、模型結構與性能有關,合理調整這些參數同樣重要,數據量多少非常重要。為此,我們將進一步獲取農產品如農林牧副漁、各種水果、蔬菜等種類,從而增加數據量,深入研究深度LSTM神經網絡的在農業領域的應用。