匡奕敩
(1.太行山獼猴國(guó)家級(jí)自然保護(hù)區(qū)焦作保護(hù)中心,河南 焦作 454002;2.中央民族大學(xué)生命與環(huán)境科學(xué)學(xué)院,北京 100081)
農(nóng)業(yè)是國(guó)民經(jīng)濟(jì)的基礎(chǔ),農(nóng)作物預(yù)測(cè)對(duì)國(guó)民經(jīng)濟(jì)發(fā)展具有決定性作用。精確、可靠、及時(shí)的農(nóng)作物預(yù)測(cè)對(duì)于了解農(nóng)作物的生產(chǎn)情況,保證市場(chǎng)供應(yīng),制定價(jià)格具有至關(guān)重要的作用[1]。以現(xiàn)代信息技術(shù)與農(nóng)業(yè)生產(chǎn)相結(jié)合的智慧農(nóng)業(yè)能更好輔助診斷農(nóng)業(yè)生產(chǎn)和精準(zhǔn)化管理,提高農(nóng)作物預(yù)測(cè)水平[2]。
在農(nóng)業(yè)產(chǎn)量產(chǎn)值精準(zhǔn)預(yù)測(cè)方面,伍長(zhǎng)榮等[3]以有效灌溉面積、化肥施用量、農(nóng)村用電量、農(nóng)業(yè)機(jī)械總動(dòng)力、農(nóng)業(yè)勞動(dòng)力、糧食作物播種面積、受災(zāi)面積7 個(gè)影響因子為輸入,糧食生產(chǎn)量為輸出建立RBF神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)誤差小于2%。吳玉鳴等[4]以同樣的7 個(gè)影響因子作為輸入,糧食生產(chǎn)量為輸出建立BP 神經(jīng)網(wǎng)絡(luò)模型,發(fā)現(xiàn)預(yù)測(cè)精度大大提高,說明神經(jīng)網(wǎng)絡(luò)模型比傳統(tǒng)回歸方法的精度高。褚慶全等[5]利用BP 人工神經(jīng)網(wǎng)絡(luò)對(duì)宏觀農(nóng)業(yè)生產(chǎn)系統(tǒng)糧食總產(chǎn)進(jìn)行了預(yù)測(cè),具有90%以上的擬合精度,但未指明神經(jīng)網(wǎng)絡(luò)的具體實(shí)現(xiàn)方法。Stastny 等[6]利用多層神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)作物產(chǎn)量,結(jié)果比回歸模型準(zhǔn)確,但沒有指明具體的影響因素。預(yù)測(cè)模型有很多種,找到關(guān)鍵影響因素是選擇預(yù)測(cè)模型的前提[7]。Dahikar 等[8]通過土壤氮、磷、鉀等類型以及大氣溫度、降雨量、濕度等作為人工神經(jīng)網(wǎng)絡(luò)參數(shù)來預(yù)測(cè)作物產(chǎn)量之間的關(guān)系。劉鵬等[9]以氣候因素為依據(jù),提出了一種基于改進(jìn)長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的農(nóng)作物產(chǎn)量時(shí)間序列預(yù)測(cè)的方法,發(fā)現(xiàn)基于LSTM 的改進(jìn)模型具有較高的準(zhǔn)確性,氣候因素對(duì)作物有一定的影響,但作物產(chǎn)量逐年遞增與氣候因素的反復(fù)變化很難有較大的相關(guān)性,從而影響網(wǎng)絡(luò)預(yù)測(cè)的精度。魏云云[10]以農(nóng)業(yè)、林業(yè)、漁業(yè)、畜牧業(yè)的產(chǎn)值作為輸入量,用遺傳算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)建立農(nóng)業(yè)產(chǎn)業(yè)總值的預(yù)測(cè)模型,平均相對(duì)誤差為2.036%,遺傳算法可以提高算法全局搜索特性和網(wǎng)絡(luò)的泛化性能[11],但預(yù)測(cè)精度有所降低。郭亞菲等[12]引入主成分分析(PCA)和粒子群(PSO)優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,這種PCA-PSO-BP 網(wǎng)絡(luò)模型的預(yù)測(cè)平均相對(duì)誤差為1.1%,有效提高了預(yù)測(cè)糧食產(chǎn)量值的精度。但這些神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)過程復(fù)雜抽象,預(yù)測(cè)精度也不是最佳,可視化程度不高。
糧食產(chǎn)量一方面隨著時(shí)空的發(fā)展變化呈現(xiàn)很強(qiáng)的規(guī)律性,另一方面在農(nóng)業(yè)技術(shù)及經(jīng)濟(jì)發(fā)展的可預(yù)測(cè)上仍沒有很大進(jìn)展。本研究結(jié)合R 語(yǔ)言,選用糧食播種面積、有效灌溉面積、機(jī)耕面積、農(nóng)業(yè)機(jī)械總動(dòng)力、農(nóng)村勞動(dòng)力、農(nóng)業(yè)產(chǎn)值等作為輸入指標(biāo)因素,利用改進(jìn)的neuralnet 包BP 人工神經(jīng)網(wǎng)絡(luò)模型對(duì)農(nóng)業(yè)糧食產(chǎn)量進(jìn)行預(yù)測(cè)研究,該網(wǎng)絡(luò)要比nnet 等方法建立的神經(jīng)網(wǎng)絡(luò)的分類效果更好、精度更穩(wěn)定,可以直接輸出可視化的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。
人工神經(jīng)網(wǎng)絡(luò)是人工智能新興產(chǎn)業(yè)中非常重要的部分,它從信息處理角度對(duì)人腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行抽象,建立某種簡(jiǎn)單模型,由大量的神經(jīng)元(或稱節(jié)點(diǎn))之間相互連接而成。人工神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的機(jī)器學(xué)習(xí)和容錯(cuò)能力,具有非線性、非限制性、非定性和非凸性等主要特征[13],具有很好的預(yù)測(cè)能力和決策效果[14]。反向傳播模型(BP 網(wǎng)絡(luò))下的神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)(M-P)模型對(duì)非線性數(shù)據(jù)十分有效,其拓?fù)浣Y(jié)構(gòu)一般采用一個(gè)隱含層的3 層神經(jīng)網(wǎng)絡(luò),包括輸入層、隱含層和輸出層[15](圖1)。
圖1 3 層BP 人工神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
輸出函數(shù)如下:
式中,Xj為輸入結(jié)點(diǎn),yi為隱結(jié)點(diǎn),Ol為輸出結(jié)點(diǎn),Wij、Tij為連接權(quán)值,θ為結(jié)點(diǎn)閾值。
隱含層層數(shù)或神經(jīng)元數(shù)目的增加可以提升神經(jīng)網(wǎng)絡(luò)的精度,但隱含層層數(shù)的增加會(huì)消耗大量的時(shí)間,同時(shí)出現(xiàn)局部最小值,而隱含層神經(jīng)元數(shù)目過多也會(huì)弱化BP 神經(jīng)網(wǎng)絡(luò)的泛化能力,降低預(yù)測(cè)效果[16]。按照式(3)設(shè)置初始神經(jīng)元個(gè)數(shù)范圍[17]。
式中,m為隱藏層神經(jīng)元個(gè)數(shù),l為輸入層結(jié)點(diǎn)個(gè)數(shù),n為輸出層結(jié)點(diǎn)個(gè)數(shù),a為 1~10 的常數(shù)。表 1為隱含層不同的神經(jīng)元數(shù)目的運(yùn)行結(jié)果。
由表1 可知,當(dāng)隱含層神經(jīng)元為1 個(gè)時(shí),經(jīng)過5 088 步收斂達(dá)到訓(xùn)練目標(biāo),模型整體誤差為1.395 348;當(dāng)隱含層神經(jīng)元為9 個(gè)時(shí),經(jīng)過9 039 步訓(xùn)練達(dá)到訓(xùn)練目標(biāo),誤差為0.504 029;當(dāng)隱含層為5個(gè)神經(jīng)元的3 層神經(jīng)網(wǎng)絡(luò)在14 768 步訓(xùn)練時(shí)達(dá)到訓(xùn)練目標(biāo),誤差為0.433 194,模型效果最佳。
表1 BP 人工神經(jīng)網(wǎng)絡(luò)不同隱含層節(jié)點(diǎn)數(shù)下模型訓(xùn)練情況
BP 人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)是通過計(jì)算預(yù)測(cè)值與實(shí)測(cè)值之間的誤差,逐層修改權(quán)值,多次重復(fù)訓(xùn)練,使誤差達(dá)到最小。由于樣本量大,標(biāo)準(zhǔn)化過的樣本極值為0 和1,相對(duì)誤差有無(wú)窮值,難以反映機(jī)器學(xué)習(xí)的精確度;最終的學(xué)習(xí)效果可由預(yù)測(cè)值與實(shí)測(cè)值的相關(guān)系數(shù)與均值誤差(MSE)來進(jìn)行評(píng)價(jià)。均值誤差如式(3)所示。
式中,MSE為均值誤差,N為樣本組個(gè)數(shù),observedi為第i個(gè)樣本組的實(shí)測(cè)值,predictedi為第i個(gè)樣本組的預(yù)測(cè)值。
數(shù)據(jù)主要來源于《湖南統(tǒng)計(jì)年鑒》《湖南農(nóng)村統(tǒng)計(jì)年鑒》《中國(guó)縣域統(tǒng)計(jì)年鑒(縣市卷)》,通過收集2008—2017 年湖南省123 個(gè)縣區(qū)的糧食產(chǎn)量以及影響農(nóng)作物產(chǎn)量的因素如糧食播種面積、有效灌溉面積、機(jī)耕面積、農(nóng)業(yè)機(jī)械總動(dòng)力、農(nóng)村勞動(dòng)力、農(nóng)業(yè)產(chǎn)值等,共整理出糧食產(chǎn)量及其影響因素1 230 組樣本數(shù)據(jù)。為消除不同年份市場(chǎng)價(jià)格帶來的影響,以湖南省1952 年發(fā)展速度100 為基準(zhǔn),對(duì)各年份農(nóng)業(yè)產(chǎn)值等社會(huì)經(jīng)濟(jì)價(jià)值數(shù)據(jù)進(jìn)行可比價(jià)轉(zhuǎn)換。并結(jié)合實(shí)地考察調(diào)研經(jīng)歷,獲得相關(guān)部門數(shù)據(jù)作為補(bǔ)充。
本研究結(jié)合R 語(yǔ)言對(duì)BP 人工神經(jīng)網(wǎng)絡(luò)進(jìn)行分析,調(diào)用neuralnet 函數(shù)創(chuàng)建一個(gè)包含隱藏層的3 層神經(jīng)網(wǎng)絡(luò)模型。首先對(duì)數(shù)據(jù)樣本標(biāo)準(zhǔn)化或歸一化至(0,1),再以 2015 年為分界點(diǎn),將2008—2017 年123個(gè)縣區(qū)組成的1 230 組數(shù)據(jù)按照4∶1 比例劃分為984組訓(xùn)練樣本和246 組檢驗(yàn)樣本。由于初始權(quán)值不同,在訓(xùn)練模型時(shí),可以固定隨機(jī)種子數(shù)使每次訓(xùn)練返回相同的值。經(jīng)過訓(xùn)練和檢驗(yàn)后,可以比較預(yù)測(cè)值和實(shí)測(cè)值的相關(guān)系數(shù)和相對(duì)誤差,并進(jìn)行預(yù)測(cè)值-實(shí)測(cè)值的效果擬合,以反映預(yù)測(cè)模型的可靠性。
使用R 語(yǔ)言neuralnet 進(jìn)行人工神經(jīng)網(wǎng)絡(luò)建模,結(jié)束條件為誤差函數(shù)的絕對(duì)偏導(dǎo)數(shù)小于0.01。運(yùn)行BP 人工神經(jīng)網(wǎng)絡(luò),經(jīng)過14 768 步訓(xùn)練到函數(shù)整體誤差為0.433 194 時(shí),達(dá)到閾值條件時(shí)的精度為0.009 606 23,得到的人工神經(jīng)網(wǎng)絡(luò)效果如圖2 所示。
圖2 農(nóng)作物預(yù)測(cè)人工神經(jīng)網(wǎng)絡(luò)效果
使用neuralnet 包建立的BP 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)訓(xùn)練樣本進(jìn)行迭代訓(xùn)練,得到糧食產(chǎn)量的預(yù)測(cè)值與實(shí)測(cè)值間的相關(guān)系數(shù)為0.991 443 9,訓(xùn)練樣本均值誤差為0.000 880 475 179 006 291,預(yù)測(cè)值-實(shí)測(cè)值擬合效果如圖3a所示。
將預(yù)留的驗(yàn)證樣本246 組數(shù)據(jù)代入到訓(xùn)練好的neuralnet 包神經(jīng)網(wǎng)絡(luò)模型中,進(jìn)行相應(yīng)的驗(yàn)證。驗(yàn)證樣本中糧食產(chǎn)量預(yù)測(cè)值與實(shí)測(cè)值的相關(guān)系數(shù)為0.991 039 8,平均相對(duì)誤差為0.006 339 629,均值誤差為0.000 995 330 667 956 884,表明糧食產(chǎn)量預(yù)測(cè)值與實(shí)測(cè)值的相對(duì)誤差較小;神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值-實(shí)測(cè)值擬合效果如圖3b 所示,結(jié)果驗(yàn)證樣本都位于直線附近,效果近乎直線,吻合程度較好。
圖3 農(nóng)作物糧食產(chǎn)量預(yù)測(cè)人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值-實(shí)測(cè)值擬合效果
利用10 次交叉檢驗(yàn)的方法對(duì)MSE進(jìn)行驗(yàn)證,即重復(fù)10 次隨機(jī)的90%的訓(xùn)練數(shù)據(jù)集和10%的測(cè)試數(shù)據(jù)集,求出10 次MSE的誤差。結(jié)果分別為0.000 939 453 7、0.001 287 279 7、0.001 663 963 4、0.000 966 527 6、0.001 125 848 7、0.001 217 223 4、0.001 559 574 6、0.000 892 886 5、0.001 921 332 8、0.000 721 952 8,平均值為 0.001 229 604,把MSE均值結(jié)果進(jìn)行可視化,結(jié)果見圖4。說明本研究所建neuralnet 人工神經(jīng)網(wǎng)絡(luò)農(nóng)作物預(yù)測(cè)模型具有可行性。
圖4 農(nóng)作物預(yù)測(cè)人工神經(jīng)網(wǎng)絡(luò)k 次檢驗(yàn)均值誤差
農(nóng)作物人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型可以用spss 多層感知器來分析,網(wǎng)絡(luò)模型如圖5a 所示。以上述糧食產(chǎn)量預(yù)測(cè)為例,設(shè)置好隨機(jī)種子數(shù),使用菜單式勾選設(shè)置隱藏層1 層及神經(jīng)元個(gè)數(shù)5 個(gè),導(dǎo)出擬合效果及自變量重要性圖。經(jīng)過重復(fù)多次的訓(xùn)練和驗(yàn)證,得到較為精確的預(yù)測(cè)值-實(shí)測(cè)值擬合效果圖。
spss 多層感知器BP 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練樣本中所得的平方和誤差為11.721,相對(duì)誤差為0.027 8;在檢驗(yàn)樣本中所得的平方和誤差為8.235,相對(duì)誤差為0.045,結(jié)果見圖5b。檢驗(yàn)效果也能說明網(wǎng)絡(luò)的可行性,但預(yù)測(cè)值-實(shí)測(cè)值擬合效果的聚集程度要比圖3松散,且相對(duì)誤差不如neuralnet包神經(jīng)網(wǎng)絡(luò)精確。
圖5 對(duì)比spss多層感知器分析結(jié)果
農(nóng)作物人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型也可以選擇R 語(yǔ)言 nnet、AMORE 或 RSNNS 包來實(shí)現(xiàn)。nnet是最常見的前饋反向傳播神經(jīng)網(wǎng)絡(luò)算法,對(duì)上述糧食產(chǎn)量所得預(yù)測(cè)值與實(shí)測(cè)值的相對(duì)誤差為0.017 208 13,擬合效果如圖6 所示,結(jié)果也不如neuralnet 包神經(jīng)網(wǎng)絡(luò)驗(yàn)證擬合效果的聚集度高。neuralnet 包神經(jīng)網(wǎng)絡(luò)相對(duì)誤差比spss 多層感知器、nnet包分別提高了3.9%、1.1%。
圖6 nnet網(wǎng)絡(luò)預(yù)測(cè)值-實(shí)測(cè)值擬合效果
使用不同的方法得到的效果不一定相同,這與不同的激勵(lì)函數(shù)、初始權(quán)值的隨機(jī)變化和樣本的劃分有關(guān),結(jié)果會(huì)有一定的差異,但大致效果是一致的[18]。neuralnet 是一種改進(jìn)的算法,具有彈性反向傳播算法和更多的激活函數(shù)形式。人工神經(jīng)網(wǎng)絡(luò)準(zhǔn)確度要比市場(chǎng)估價(jià)法高[19],高寒[20]在葡萄酒分類的應(yīng)用中指出,neuralnet 建立的神經(jīng)網(wǎng)絡(luò)要比nnet 的分類效果更好、分類精度更穩(wěn)定,可以直接輸出神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。
人工神經(jīng)網(wǎng)絡(luò)在農(nóng)、林資源管理、分類、碳儲(chǔ)量估算、森林災(zāi)害防治等方面得到了廣泛的應(yīng)用[21]。近年來,中國(guó)農(nóng)業(yè)科技發(fā)展迅速,科研成果豐富,但中國(guó)目前科研發(fā)展整體滯后,科研體系不健全、貢獻(xiàn)率偏低,農(nóng)業(yè)科技推廣不力以及基礎(chǔ)設(shè)施落后、農(nóng)機(jī)設(shè)備現(xiàn)代化程度較低,中國(guó)智慧農(nóng)業(yè)建設(shè)發(fā)展中仍存在一系列問題,需要及時(shí)轉(zhuǎn)變發(fā)展理念,改革和創(chuàng)新發(fā)展模式,用新的技術(shù)權(quán)衡農(nóng)作物的利用分配,切實(shí)保證農(nóng)產(chǎn)品經(jīng)濟(jì)的不斷增長(zhǎng)和農(nóng)業(yè)產(chǎn)業(yè)的可持續(xù)發(fā)展。
本研究通過R 語(yǔ)言的neuralnet 包構(gòu)建一個(gè)包含隱含層為1 及神經(jīng)元個(gè)數(shù)為5 的3 層BP 人工神經(jīng)網(wǎng)絡(luò)模型,對(duì)2008—2017 年湖南省123 個(gè)縣區(qū)的糧食產(chǎn)量進(jìn)行預(yù)測(cè),得到以下結(jié)論。
1)選用neuralnet 人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)糧食產(chǎn)量,得到的預(yù)測(cè)值與實(shí)測(cè)值間的相關(guān)性高、相對(duì)誤差低,預(yù)測(cè)值-實(shí)測(cè)值擬合效果較好,說明所建立的人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型具有可行性,結(jié)果可作為政府部門進(jìn)行農(nóng)業(yè)決策和宏觀調(diào)控的重要依據(jù)。
2)通過neuralnet包建立的人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型要比spss 多層感知器及nnet包的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度高,可視化拓?fù)鋱D較豐富,可為農(nóng)作物在預(yù)測(cè)決策支持研究工作方面提供新方法,以適應(yīng)新形勢(shì)下農(nóng)業(yè)工程技術(shù)的發(fā)展,促使農(nóng)產(chǎn)品經(jīng)濟(jì)的增長(zhǎng)和推進(jìn)農(nóng)業(yè)產(chǎn)業(yè)的可持續(xù)發(fā)展。