尹麗春,賈鵬飛
(黑龍江八一農(nóng)墾大學(xué)大數(shù)據(jù)仿真實(shí)驗(yàn)室,黑龍江 大慶 161000)
糧食安全問(wèn)題與國(guó)家發(fā)展、社會(huì)進(jìn)步息息相關(guān),其不僅是人口生存的前提條件,而且是保障政治穩(wěn)定、促進(jìn)經(jīng)濟(jì)發(fā)展的重大推動(dòng)力。農(nóng)作物產(chǎn)量的有效預(yù)測(cè)既能夠給予當(dāng)?shù)卣a(chǎn)技術(shù)與理論支持,還可以全面推動(dòng)社會(huì)經(jīng)濟(jì)發(fā)展。在當(dāng)前人口老齡化與工業(yè)化嚴(yán)重的嚴(yán)峻考驗(yàn)下,農(nóng)作物產(chǎn)量面臨著巨大的生產(chǎn)壓力,影響國(guó)家糧食安全。
因此,眾多相關(guān)領(lǐng)域的工作人員投身于產(chǎn)量預(yù)測(cè)的研究中,比如:劉鵬等人根據(jù)氣候因素與歷史產(chǎn)量,通過(guò)改進(jìn)神經(jīng)網(wǎng)絡(luò)構(gòu)建出一種農(nóng)作物產(chǎn)量預(yù)測(cè)方法;崔穎等人將AquaCrop模型與產(chǎn)量預(yù)測(cè)相結(jié)合,針對(duì)東北黑土區(qū)的玉米和大豆等農(nóng)作物展開應(yīng)用研究;馬創(chuàng)等人在灰色——馬爾可夫模型產(chǎn)量預(yù)測(cè)方法中,通過(guò)融合灰色模型與馬爾可夫模型,修正灰色模型預(yù)測(cè)結(jié)果,實(shí)現(xiàn)產(chǎn)量的周期性預(yù)測(cè)。
上述方法通過(guò)歷史數(shù)據(jù)、天氣等能夠獲得有效的長(zhǎng)期預(yù)測(cè)結(jié)果,但是農(nóng)作物產(chǎn)量的短期預(yù)測(cè)研究成果較少。為此,本文引入隨機(jī)森林算法,設(shè)計(jì)出農(nóng)作物產(chǎn)量的短期預(yù)測(cè)方法。隨機(jī)森林算法作為一種組合分類器,具有良好的分類篩選與預(yù)測(cè)性能,針對(duì)該算法處理非平衡數(shù)據(jù)集時(shí)的弊端,利用合成少數(shù)類過(guò)采樣技術(shù),提出能夠增加少數(shù)類樣本數(shù)據(jù)量的抽樣方法,便于隨機(jī)森林基礎(chǔ)算法更穩(wěn)定、更精準(zhǔn)地完成分類與運(yùn)行,同時(shí),抑制合成少數(shù)類過(guò)采樣技術(shù)聚合過(guò)程中的盲目性與邊緣性,獲得更加精準(zhǔn)的短期預(yù)測(cè)結(jié)果。
已知、是兩個(gè)隨機(jī)矢量,森林{()}的組成元素為棵決策樹(),(),…,(),則邊緣函數(shù)界定公式如下所示
(1)
式中,(·)是特征函數(shù),、分別是正確與錯(cuò)誤的分類矢量,(·)為所取均值。分類器的置信程度隨著該函數(shù)值的增加而提升。
(2)
在建立隨機(jī)森林的過(guò)程中,針對(duì)任意決策樹()(=1,2,…,)都具有一個(gè)對(duì)應(yīng)的原始數(shù)據(jù)集合和尚未抽取的數(shù)據(jù)集合。若設(shè)定()是未抽取的數(shù)據(jù)集合,該集合中投票類別是的隨機(jī)矢量占比是(,),則其計(jì)算公式如下所示
(3)
其中,表示訓(xùn)練樣本數(shù)據(jù)量。上列分式中的分母部分表示所有未抽取數(shù)據(jù)集合的樣本數(shù)量總和,分子部分則表示各決策樹及其相應(yīng)未抽取數(shù)據(jù)集合的正確分類數(shù)量總和。
對(duì)于隨機(jī)森林正確分類的概率估算結(jié)果,若用占比(,)指代,則需要引入隨機(jī)森林強(qiáng)度與相關(guān)度兩變量。
隨機(jī)森林邊緣函數(shù)期望即其強(qiáng)度變量,界定公式如下所示
=((,))
(4)
其中,(·)表示數(shù)學(xué)期望。
將上述兩公式合并、整理,推導(dǎo)出下列分類器強(qiáng)度估算公式
(5)
關(guān)于隨機(jī)森林相關(guān)度變量,計(jì)算公式如下所示
(6)
(7)
(8)
(9)
農(nóng)作物產(chǎn)量及其相關(guān)影響因素?cái)?shù)據(jù)具有非平衡數(shù)據(jù)集特點(diǎn),在預(yù)測(cè)過(guò)程中,隨機(jī)森林基礎(chǔ)算法的隨機(jī)性無(wú)法較好處理非平衡數(shù)據(jù)集,會(huì)使數(shù)據(jù)更加不平衡。因此,基于合成少數(shù)類過(guò)采樣技術(shù),提出一種針對(duì)非平衡數(shù)據(jù)集的抽樣方法,增加少數(shù)類數(shù)據(jù)量,以便隨機(jī)森林基礎(chǔ)算法能夠更穩(wěn)定、更精準(zhǔn)地完成分類與運(yùn)行。
根據(jù)相同類別樣本重心相同的原則,新生成的樣本也將趨向于所屬類別的重心,令樣本生成階段存在一定方向性,抑制合成少數(shù)類過(guò)采樣技術(shù)聚合過(guò)程中的盲目性,通過(guò)改善分布邊緣的樣本,克服其邊緣性問(wèn)題。所提抽樣方法的實(shí)現(xiàn)流程具體描述如下:
1)求解少數(shù)類樣本的重心。若把各少數(shù)類樣本作為空間里的任意一點(diǎn),則少數(shù)類樣本中心點(diǎn)即構(gòu)成空間重心的點(diǎn)集合元素,其具有的少數(shù)類樣本特征隨著與重心的趨近程度而越發(fā)顯著。
基于矢量重心理論計(jì)算重心。假設(shè)訓(xùn)練集中各數(shù)據(jù)樣本的屬性數(shù)量是,少數(shù)類樣本數(shù)量是,將隨機(jī)矢量作為少數(shù)類樣本的集合,則有
(10)
則該集合的重心計(jì)算公式如下所示
(11)
2)聚合選取樣本。通過(guò)改進(jìn)合成少數(shù)類過(guò)采樣技術(shù),讓整合的樣本趨于樣本歸屬類別重心,則得到的第個(gè)合成樣本為:
=+(0,1)*(-)
(12)
式中,(0,1)指在該范圍中任選一個(gè)數(shù)值。
3)欠抽樣處理經(jīng)過(guò)合成的少數(shù)類樣本集。以解得的重心與合成樣本為依據(jù),獲取比需求量多的少數(shù)類樣本個(gè)數(shù),利用欠抽樣處理策略,去除距離重心較遠(yuǎn)的樣本點(diǎn)。樣本點(diǎn)與重心之間的距離需根據(jù)實(shí)際應(yīng)用需求,從常用的距離算法內(nèi)采取適宜的距離算法實(shí)現(xiàn)計(jì)算。
4)令經(jīng)過(guò)聚合的樣本個(gè)數(shù)滿足實(shí)際要求的平衡率,該平衡率也由實(shí)際應(yīng)用需求完成設(shè)置。
基于抽樣處理的有關(guān)于農(nóng)作物的非平衡數(shù)據(jù)集,整合少數(shù)類與多數(shù)類樣本兩個(gè)集合,將其作為隨機(jī)森林算法的訓(xùn)練數(shù)據(jù)集合,設(shè)計(jì)用于農(nóng)作物產(chǎn)量短期預(yù)測(cè)的隨機(jī)森林算法,其流程如圖1所示,實(shí)現(xiàn)步驟如下所述:
圖1 用于短期預(yù)測(cè)的隨機(jī)森林算法流程圖
1)利用開發(fā)web應(yīng)用程序的開源工具包Bootstrap,在訓(xùn)練數(shù)據(jù)集合中重復(fù)選擇樣本集合,令各樣本集合的數(shù)據(jù)量是一定的,當(dāng)完成每次的樣本選擇后,各樣本仍可重新放回樣本集合中,設(shè)定未抽取的樣本為袋外數(shù)據(jù)。
2)針對(duì)各決策樹,任意選擇多個(gè)特征變量當(dāng)作分類特征集?;跊Q策樹各節(jié)點(diǎn),通過(guò)信息增益最大原理,實(shí)現(xiàn)最佳決策變量的選擇。
3)根據(jù)選擇的多個(gè)樣本集合,各構(gòu)建一個(gè)無(wú)剪枝操作、自由生長(zhǎng)的決策樹。
4)相互獨(dú)立的單決策樹的結(jié)果權(quán)重相等,故該算法歸回得出的結(jié)果即各決策樹的簡(jiǎn)單加權(quán)平均。
決策樹個(gè)數(shù)與單決策樹的隨機(jī)選取特征數(shù)作為隨機(jī)森林預(yù)測(cè)模型中的兩個(gè)重要未知參數(shù),需進(jìn)行相應(yīng)的尋優(yōu)操作,再結(jié)合與農(nóng)作物產(chǎn)量相關(guān)的影響因素,建立短期預(yù)測(cè)模型。具體步驟描述如下:
1)參數(shù)尋優(yōu):根據(jù)模型解釋變量數(shù)量(即產(chǎn)量影響因素),設(shè)定預(yù)測(cè)模型單決策樹的隨機(jī)選取特征數(shù)。假設(shè)有L個(gè)解釋變量,則利用下式解得單決策樹的隨機(jī)選取特征數(shù)g
(13)
為明確決策樹數(shù)量,結(jié)合模型誤差與決策樹個(gè)數(shù)的相關(guān)性,據(jù)其誤差變化趨勢(shì)確定決策樹個(gè)數(shù),同時(shí)選取對(duì)應(yīng)于最佳模型預(yù)測(cè)精度的決策樹規(guī)模,作為決策樹數(shù)量變化參數(shù)。
2)模型構(gòu)建:依據(jù)研究地區(qū)的農(nóng)作物產(chǎn)量相關(guān)數(shù)據(jù),設(shè)定解釋變量與預(yù)測(cè)變量分別是影響因素與產(chǎn)量,基于所得決策樹個(gè)數(shù)、單決策樹隨機(jī)選取特征數(shù)的最優(yōu)參數(shù),建立出下列短期預(yù)測(cè)模型
(14)
基于某市過(guò)去十年的農(nóng)作物產(chǎn)量與5個(gè)主要產(chǎn)量影響因素?cái)?shù)據(jù),訓(xùn)練所設(shè)計(jì)預(yù)測(cè)模型。再將近三年的因素?cái)?shù)據(jù)作為輸入項(xiàng),得到短期內(nèi)該市的農(nóng)作物產(chǎn)量預(yù)測(cè)結(jié)果。訓(xùn)練用數(shù)據(jù)與預(yù)測(cè)用數(shù)據(jù)如表1所示。
表1 某市農(nóng)作物歷史產(chǎn)量數(shù)據(jù)
(15)
(16)
(17)
(18)
(19)
421 預(yù)測(cè)準(zhǔn)度
針對(duì)該市近三年影響因素?cái)?shù)據(jù),經(jīng)基于改進(jìn)神經(jīng)網(wǎng)絡(luò)、AquaCrop模型、灰色——馬爾可夫模型三種文獻(xiàn)方法與本文方法預(yù)測(cè)后,得到圖2所示的不同方法預(yù)測(cè)結(jié)果。
圖2 不同方法預(yù)測(cè)值與實(shí)際產(chǎn)量值對(duì)比示意圖
由此可以直觀看出,本文方法因針對(duì)預(yù)測(cè)對(duì)象的非平衡性,基于合成少數(shù)類過(guò)采樣技術(shù),優(yōu)化了數(shù)據(jù)集抽樣策略,故相較于文獻(xiàn)方法的預(yù)測(cè)偏差更小。
為提升實(shí)驗(yàn)數(shù)據(jù)的可靠性,根據(jù)所得各方法預(yù)測(cè)數(shù)據(jù)與實(shí)際產(chǎn)量數(shù)據(jù),解得絕對(duì)誤差與相對(duì)誤差兩指標(biāo)評(píng)估結(jié)果,如圖3所示。
圖3 不同方法預(yù)測(cè)準(zhǔn)度對(duì)比示意圖
經(jīng)對(duì)比分析發(fā)現(xiàn),本文方法的絕對(duì)誤差與相對(duì)誤差最大值僅有5.2和0.009,而文獻(xiàn)方法的指標(biāo)則均遠(yuǎn)大于此兩數(shù)值,其中,文獻(xiàn)[5]的指標(biāo)值高達(dá)22.6、0.038,這進(jìn)一步說(shuō)明了本文方法預(yù)測(cè)準(zhǔn)度具有顯著的優(yōu)越性。
4.2.2 預(yù)測(cè)精度與穩(wěn)定性
面向2019年探討本文方法的精度與穩(wěn)定性,基于所選年份的因素?cái)?shù)據(jù),利用各方法進(jìn)行十組預(yù)測(cè)實(shí)驗(yàn),得到如圖4所示的預(yù)測(cè)結(jié)果。
圖4 2019年十組預(yù)測(cè)值與實(shí)際產(chǎn)量值對(duì)比示意圖
由此可以看出,該方法因利用設(shè)計(jì)的抽樣方法,增加了少數(shù)類別的樣本數(shù)據(jù)量,故十次預(yù)測(cè)結(jié)果始終在實(shí)際產(chǎn)量值附近進(jìn)行小幅度波動(dòng),對(duì)比文獻(xiàn)方法的預(yù)測(cè)穩(wěn)定性更加理想。
取十組預(yù)測(cè)數(shù)據(jù)均值,計(jì)算出RMSE、MAPE以及Theil指標(biāo)值,通過(guò)指標(biāo)結(jié)果來(lái)增加實(shí)驗(yàn)數(shù)據(jù)說(shuō)服力。根據(jù)不同方法的評(píng)價(jià)指標(biāo)對(duì)比情況(如圖5所示)可以看出,本文方法的三種指標(biāo)結(jié)果都較小,約為文獻(xiàn)方法的二分之一,這說(shuō)明所建方法的預(yù)測(cè)精度相較文獻(xiàn)方法具有更明顯的優(yōu)勢(shì)。
圖5 不同方法預(yù)測(cè)精度對(duì)比示意圖
我國(guó)作為農(nóng)業(yè)生產(chǎn)大國(guó)與消費(fèi)大國(guó),農(nóng)作物安全問(wèn)題一直牽制著社會(huì)的安定與政治局面的和諧。其中,農(nóng)作物產(chǎn)量作為安全保障的關(guān)鍵部分之一,對(duì)經(jīng)濟(jì)、生活有著直接的影響。因此,研究一種有效的農(nóng)作物產(chǎn)量短期預(yù)測(cè)方法現(xiàn)實(shí)意義重大。盡管本文方法能夠?yàn)楫a(chǎn)量預(yù)測(cè)提供有效數(shù)據(jù),但仍需在以下幾個(gè)角度加以改進(jìn):應(yīng)多省市多地區(qū)展開短期預(yù)測(cè)仿真,探索不同產(chǎn)量影響因素對(duì)預(yù)測(cè)結(jié)果的影響,并增加樣本數(shù)據(jù)量,進(jìn)一步提升預(yù)測(cè)精準(zhǔn)度;需針對(duì)隨機(jī)森林算法的收斂速度做深入分析,早日實(shí)現(xiàn)預(yù)測(cè)即時(shí)化;應(yīng)繼續(xù)探討影響因素與產(chǎn)量之間的相關(guān)性與變化趨勢(shì),嘗試將其作為預(yù)測(cè)方法中的變量因素,完善預(yù)測(cè)性能。