張順航 張鳳航 李金澤



摘要? ? 農作物產量預測是農業科學的一個重要問題,而氣象特征的變化將對農作物的產量產生影響。本文根據1981—2016年江蘇省的氣象數據,研究影響農作物產量的關鍵氣象特征,并利用機器學習中的Adaboost算法,對江蘇省近幾年的小麥產量進行預測。結果表明Adaboost模型預測準確率較高,從而為農業生產中的正確決策提供參考。
關鍵詞? ? 冬小麥產量預測;氣象特征;機器學習;Adaboost模型;江蘇省
中圖分類號? ? S127? ? ? ? 文獻標識碼? ? A? ? ? ? 文章編號? ?1007-5739(2019)12-0248-02
我國是農業大國,糧食產量連年增長,農業生產量和生產方式都進入到了新的階段,農業生產新要求也隨之產生。在農業生產中,注重農產品品質、關注農業災害預警能力等已迫在眉睫[1-3]。2009年曾有專家在聯合國做出預測,到2050年世界糧食產量可能需要翻一倍才足以養活全球人口。而在眾多影響農作物產量的因素中,氣候變化對農業產生直接影響[4]。因此,通過氣象因素預測農作物產量尤為關鍵。但由于農作物在不同生長階段對氣象因素有著不同的要求,使得建立氣象因素與農作物產量的關系模型較為困難[5]。此外,雖然目前已有較多時間序列模型,如灰色模型預測、最小二乘法、BP神經網絡、高斯過程,但在面對實際而復雜的分類問題時效果并不理想[6]。
1? ? Adaboost模型
Adaboost算法是boosting算法的一種,屬于一種迭代算法。它的核心思想是用同一個訓練集訓練不同的弱分類器,然后把這些弱分類器聯合起來形成強分類器,有效地解決了單個分類器面對復雜問題時精度不足的問題。通過江蘇省歷年冬小麥的產量和江蘇省歷年的氣象因素構建Adaboost模型,以平均溫度、降水量、平均濕度、日照時數、有效積溫等氣象因素作為輸入,通過特征提取篩選出對產量影響較大的特征向量,利用交叉驗證方法評估模型,然后進行參數調優,最終實現較高精度的冬小麥產量預測[7],總流程見圖1。
2? ? 實例分析
2.1? ? 數據準備
預測農作物產量是實現精細農業的重要措施之一,而影響冬小麥產量的主要氣象因素有溫度、濕度、降水量、日照時數、有效積溫等因素。
為了獲得江蘇省歷年氣象數據,收集了包括江蘇省南京、無錫、淮安、常州等在內的23個站點1981—2016年共36年每天的氣象數據,包括平均溫度、降水量、輻射量、日照、平均濕度、平均風速等數據。然后將這些站點的各類氣象數據取月平均值,再取所有站點的月平均值為江蘇省每類氣象數據的月平均值。根據相關資料可知,江蘇省冬小麥從10月開始播種,翌年5月收獲[8-11],所以選取這幾個月份的氣象數據作為訓練集的輸入集。
從國家統計局官網上查找江蘇省冬小麥近30年的產量數據作線性擬合。從圖2可以看出,圓點表示實際產量值,實線為擬合曲線。用(實際產量-擬合結果)/擬合結果,如果結果大于0表示這一年增產(用1表示),如果結果小于0則表示這一年減產(用0表示),據此得到訓練集的因變量。
2.2? ? 建立Adaboost模型
AdaBoost是基于加性模型的算法,即基學習器的線性組合H(x)=Σαtht(x),其中,αt為每個基學習器的權值,ht(x)為每個基學習器的預測結果。建立過程主要分為3個部分:指數損失函數lexp(H|D)的降低、基學習器的權值αt的更新和訓練集樣本分布的更新和訓練集樣本分布的更新和訓練集樣本分布Dt(x)的更新。
2.2.1? ? 指數損失函數。若為樣本的實際標簽值,H(x)為樣本的預測標簽值,設Ex~D[e-f(x)H(x)]為樣本服從數據集分布D時,e-f(x)H(x)的期望值,則可以表示出指數損失函數,若存在H(x)使得損失函數可以最小化,其中y?綴{-1,1},則可以求出
2.2.2? ? 基學習器權值αt的更新。ht和αt當基學習器ht(x)基于分布Dt產生后,可求得基學習器的權重αt應使得αtht最小化指數損失函數,進行偏導數并置零,得到這樣就得到了基學習器的權值更新公式。
2.2.3? ? 訓練集樣本分布Dt(x)的更新。獲得基學習器ht-1(x)后,樣本分布將進行調整,可以得到理想的基學習器,其中ht(x)將在分布Dt(x)下最小化分類誤差,因而ht(x)應該基于分布Dt(x)來訓練。
2.3? ? 特征選擇與參數調節
用訓練集進行特征選擇,選擇6個對江蘇省冬小麥產量影響最大的氣象因素,分別為3月份降水量、1月份平均濕度、3月份平均濕度、1月份平均溫度、5月份平均溫度和3月份日照時數。然后是參數調節,Adaboost的參數主要有3個,基分類器循環次數n_estimators、學習速度learning_rate和模型提升準則algorithm?;诸惼餮h次數過多,模型容易過擬合;循環次數過少,模型容易欠擬合。學習速度如果過大,則容易錯過最優值;如果過小,則收斂速度會很慢。模型提升準則有2種方式SAMME和SAMME.R,前者是對樣本集預測錯誤的概率進行劃分,后者是對樣本集的錯分率進行劃分。先用模型的默認參數對冬小麥產量進行預測,評估預測效果,然后采用網格搜索法對模型進行調參。最終調整的參數為n_estimators=40,learning_rate=0.8,algorithm=′SAMME.R′。
2.4? ? 結果分析
采用留一檢驗法訓練模型并得到最終的預測結果,36年中預測正確的年份多達30年,正確率為83.3%。根據表1可知,在2005—2016年的12年時間里,預測錯誤的年份僅有2年,且2010年之后的預測值全部正確,說明該Adaboost模型對冬小麥的產量預測精度較高,尤其是對近幾年小麥的增產減產情況全部預測正確。
3? ? 結語
近幾年,雖然機器學習成為了最熱門的技術之一,但實際上由于機器學習需要大規模的訓練集訓練,所以實際應用范圍有限。尤其是對于農業領域來說,可供使用的數據非常有限,只能用小數據集進行研究。常規的方法在用小數據集做預測與分類時精度低且結果不穩定,而本文所用的Adaboost算法將弱分類器聯合起來形成強分類器,有效地解決了單個分類器面對復雜問題時精度不足的問題,在實際應用中可行度較高。
4? ? 參考文獻
[1] 江顯群,陳武奮.BP神經網絡與GA-BP農作物需水量預測模型對比[J].排灌機械工程學報,2018,36(8):762-766.
[2] 王曉喆,延軍平,張立偉.河南省氣候生產力時空分布及糧食產量預測[J].農業現代化研究,2011,32(2):213-216.
[3] 高蕾.基于ARIMA模型的安徽省糧食產量預測研究[J].合肥學院學報(社會科學版),2015,32(5):17-18.
[4] 朱新國,張展羽,祝卓.基于改進型BP神經網絡馬爾科夫模型的區域需水量預測[J].水資源保護,2010,26(2):28-31.
[5] 林紹森,唐永金.幾種作物產量預測模型及其特點分析[J].西南科技大學學報(自然科學版),2005,20(3):55-60.
[6] 王興,劉晶晶,闞苗苗,等.我國主要糧食作物產量預測模型及分布特征分析[J].長江大學學報(自科版),2014,11(4):76-79.
[7] 宰松梅,郭冬冬,溫季,等.作物產量預測的BP神經網絡模型研究[J].人民黃河,2010,32(9):71-72.
[8] 商兆堂,張旭暉,商舜,等.江蘇省冬小麥生產潛力氣候變化趨勢評估[J].江蘇農業科學,2018,46(12):245-249.
[9] 陳夏.江蘇省冬小麥模型模擬優化研究及應用[D].南京:南京信息工程大學,2017.
[10] 姚金保,馬鴻翔,張鵬,等.小麥寧麥26豐產性、穩產性及適應性分析[J].浙江農業學,2018,59(11):1966-1968.
[11] 王瑞崢,江洪,金佳鑫,等.黃淮海地區冬小麥物候對氣候變化的響應及對產量的影響[J].江蘇農業科學,2018,46(22):71-75.