柴俊偉,陳金車,蘇士翔,張 鑫
(1.蘭州理工大學 電氣工程與信息工程學院,甘肅 蘭州 730050;2.蘭州大學 大氣科學學院,甘肅 蘭州 730000)
我國作為一個農業大國,農業的發展對民生的改善極為重要。農業發展的好壞取決于很多因素,如:環境、耕地、人力、原材料,還有政府的政策等。其中農業原材料是很重要的一方面,農業原材料是指農業企業在生產過程中經加工改變其形態或性質并構成產品主要實體的各種原料及主要材料、輔助材料,以種植業為例,種植業的農業原材料包括種子、種苗、肥料、地膜、拌種農藥等等。要想農業飛速發展,實現致富,對于農業原材料價格的發展趨勢的了解就十分重要。因此,如果能夠通過某種方法對它進行預測就很有意義[1]。其實對于一些原材料的價格走向,一些經驗豐富的農民都有自己的一套判斷方式,但這種方法更多的是依靠經驗、感覺來判斷的,具有不確定性。價格預測是依據市場經濟規律,運用科學的方法,對未來價格的變動趨勢所進行的分析和判斷[2],因此建立一種科學有效的預測價格方法是極其重要的。
近年來,機器學習算法飛速發展,這些算法具有自動化、高效率、可塑性和普適性強等優點,可以通過學習從數據的獲得規律并且使用這些規律來對新的數據進行分類和預測。如今一些回歸預測能力較強的機器學習算法已經運用于一些農產品價格預測[3],具有代表性的有貝葉斯算法、人工神經網絡算法(ANN,Artificial Neural Network)、隨機森林算法(RF,Random forest)以及支持向量機算法(SVM,Support Vector Machine)等。機器學習作為人工智能的一大核心技術,近些年在農產品價格預測上已經取得了許多成果。段青玲等人建立了基于時間序列遺傳優化(genetic algorithm,GA)支持向量回歸(support vector regression,SVR)的水產品價格預測模型,該模型預測精度較高,為水產價格的預測提供了可行的方法[4];張順利等人針對蘋果價格數據隨時間變化的非平穩性、季節性和周期性特征,提出一種基于長短期記憶網絡(Long-short Term Memory,LSTM)的神經網絡價格預測模型,該模型既沒有損失細節信息,也沒有損失整體趨勢的價格信息,提高了預測價格的準確度[5]。
在眾多深度學習算法中BP神經網絡的非線性能力強、具有高度自學習和自適應能力,還具有將學習成果應用于新知識的能力,而且容錯能力強等優點,鑒于以上優點,用BP神經網絡建立農作物原材料價格預測模型具有良好的效果[6-7]。因此,本文引入BP神經網絡建立4種常見農業原材料的價格預測模型,以過去5個月的歷史價格數據作為自變量輸入模型對農業原材料的價格進行了預測,從而達到更精確預測農業原材料價格的目的,給政府部門制定種植制度和合理規劃農業生產提供參考。
農業原材料價格數據來源于和鯨社區官方網站,包括粗羊毛、細羊毛、椰干和棉花4種常見農業原材料的逐月平均價格數據,時間段為1990年4月至2017年6月,時間間隔為每個月一次。采用鄰域平均的方法將殘缺的價格數據進行補齊。
BP神經網絡[9]是目前使用范圍最為廣泛的一種人工神經網絡模型,在這種人工神經網絡模型中,誤差是反向傳播的。本文以1990年4月至2017年6月的農業原材料價格數據為基礎,選取了1990年4月至2009年2月的數據用來訓練模型,2009年3月至2017年6月的數據用來進行農業原材料價格的測試,共計222條訓練數據,100條測試數據。用平均絕對誤差(MAE)和均方根誤差(RMSE)來檢驗農業原材料價格的預測效果,其計算方法如公式(1)和(2)所示,預測準確率的計算公式如公式(3)所示。其中,Pi為預測價格,pi為真實價格。

構建預測模型時,前222條數據用于訓練,后100條數據用于測試。基于BP神經網絡的農業原材料價格預測模型構建流程如圖1所示。

圖1 BP神經網絡預測模型構建流程
用待預測月前5個月某種農業原材料價格的歷史數據作為輸入變量,該月份的該農業原材料價格數據作為輸出變量。分別構建粗羊毛、細羊毛、椰干和棉花4種常見農業原材料的價格預測模型。輸入層的節點數為5,輸出層的節點數為1。經反復試驗,確定粗羊毛價格預測模型的中間層節點數為8,細羊毛價格預測模型的中間層節點數為10,椰干價格預測模型和棉花價格預測模型的中間層節點數分別為11和9。
圖2a-d分別表示粗羊毛、細羊毛、椰干和棉花4種常見農業原材料價格預測值與真實值隨時間的變化。從圖中可以看出,粗羊毛、細羊毛、椰干和棉花價格預測值的曲線都能較好地反映真實值的變化趨勢和走向,預測值和真實值較為接近。

圖2 農業原材料價格的預測值和真實值對比
農業原材料價格預測結果的誤差分布如表1所示,4種農業原材料價格預測的誤差都較小,預測準確率都可以達到90%以上。其中棉花價格的預測準確率最高,為94.63%;椰干價格的預測準確率最低,為90.67%。BP神經網絡對農業原材料價格預測方面有較強的泛化能力。

表1 農業原材料價格預測結果的誤差分析
本文利用BP神經網絡對4種常見農業原材料的價格進行了預測,并對預測結果的誤差進行了檢驗,評價該模型的預測性能。
(1)對于農業原材料價格的預測而言,BP神經網絡預測結果的預測值與真實值之間有良好的線性對應關系,因此將BP神經網絡應用于農業原材料價格的預測是可行的。
(2)棉花價格的預測準確率最高,為94.63%,粗羊毛和細羊毛緊隨其后,椰干價格的預測準確率最低,為90.67%,這可能與椰干價格的波動幅度較大有關。