樊 超, 郭亞菲, 曹培格, 楊鐵軍
(河南工業(yè)大學信息科學與工程學院,河南鄭州 450001)
糧食是人類賴以生存、社會進步和經(jīng)濟發(fā)展的基本生活資料,其產(chǎn)量嚴重影響著糧食的安全體系,進而關系到能否滿足人們的生存需要,它是整個國家安全系統(tǒng)的重要組成部分。因此,糧食產(chǎn)量預測在農(nóng)業(yè)經(jīng)濟管理中起著決定性作用。
通常為了準確預測糧食產(chǎn)量,主要采用以下4類模型:遙感預測模型[1]、氣候生產(chǎn)力模型[2]、投入產(chǎn)出模型[3]、多元回歸和因子分析模型[4]。這些模型和方法均從不同角度對糧食產(chǎn)量預測進行了研究,并得到一些有意義的研究結果。但是上述模型在預測產(chǎn)量時,存在數(shù)據(jù)量大、數(shù)據(jù)處理復雜、考慮影響因素有限等缺點。近年來,隨著智能技術的發(fā)展,灰色系統(tǒng)理論預測與專家系統(tǒng)相結合的預測、模糊推理預測、人工神經(jīng)網(wǎng)絡預測等新技術避免了傳統(tǒng)方法的很多缺陷,被廣泛應用。例如,基于粗糙集理論、自回歸移動平均模型(ARIMA)、小波變換、神經(jīng)網(wǎng)絡以及組合預測等技術的糧食產(chǎn)量預測方法[5-8]。但是由于糧食生產(chǎn)受到多種因素的影響,導致數(shù)據(jù)具有較大的波動性和不確定性。從預測結果來看,上述方法均存在一些不足,或者沒有考慮糧食生產(chǎn)的灰色性及信息收集的不系統(tǒng)性,或者算法適應性差,預測精度不高。
由于糧食生產(chǎn)具有明顯的灰度特征,因此可以使用灰色模型預測糧食產(chǎn)量。傳統(tǒng)的灰色模型雖然能有效地預測少量數(shù)據(jù)的序列,但隨著數(shù)據(jù)的增多和波動性的增大,該模型逐漸失去了它的優(yōu)勢[9],而馬爾科夫模型預測可以應用于隨機變化的時間序列中,彌補灰色模型的不足[10]。因此,本研究將上述2種模型相結合,使兩者優(yōu)點互補,充分利用歷史數(shù)據(jù)包含的信息,采用灰色-馬爾科夫模型對糧食產(chǎn)量進行短期精準預測。
灰色GM(1,1)模型是以微分擬合為核心的一種建模方法,其基本原理是對雜亂無章的原始數(shù)據(jù)列進行“累加”,生成新的單調(diào)遞增的數(shù)據(jù)列,增加原始數(shù)據(jù)列的規(guī)律性,弱化其波動性。按照累加后序列的增長趨勢建立預測模型,得到1組單調(diào)遞增數(shù)據(jù)。然后對預測數(shù)據(jù)采用“累減”的方法進行逆運算,恢復原時間序列,得到預測結果。GM(1,1)模型建模步驟如下:(1)設原始時間序列X(0)包含n個非負元素,即
X(0)=[X(0)(1),X(0)(2),…,X(0)(n)]。
(1)
由該序列生成1次累加序列X(1)
X(1)=[X(1)(1),X(1)(2),…,X(1)(n)]。
(2)
(3)
(2)生成累加序列X(1)的緊鄰均值序列Z(1),
Z(1)=[Z(1)(1),Z(1)(2),…,Z(1)(n)]。
(4)
(5)
(3)構建累加序列X(1)的一階微分方程
(6)
其中參數(shù)a、b可由下式計算
[a,b]T=(BTB)-1BTY。
(7)
(8)
(4)求解微分方程,得到如下GM(1,1)模型
(9)
(5)由累加序列還原原序列
(10)
馬爾科夫方法的基本思路是通過原始數(shù)據(jù)求得狀態(tài)轉(zhuǎn)移矩陣,根據(jù)狀態(tài)轉(zhuǎn)移矩陣對未來的變化狀態(tài)進行概率估計。
馬爾科夫模型可表示為
X(n)=X(t)pn-1。
(11)
式中:X(n)、X(t)分別為n、t時刻的狀態(tài)概率向量,p為1步狀態(tài)概率轉(zhuǎn)移矩陣。利用馬爾科夫模型對灰色模型進行優(yōu)化時,首先須要對預測精度進行劃分,然后確定狀態(tài)轉(zhuǎn)移概率,最后使用馬爾科夫模型對結果進行優(yōu)化。具體步驟可描述為以下4步。
1.2.1 狀態(tài)劃分 根據(jù)灰色模型預測值和真實值的比值將數(shù)據(jù)樣本劃分成若干狀態(tài),狀態(tài)個數(shù)依據(jù)樣本數(shù)據(jù)元素的數(shù)量而定。劃分的狀態(tài)可用Ei表示,任一狀態(tài)可表示為Ei∈[Emin,Emax],其中Emin和Emax分別是狀態(tài)Ei的最小值和最大值。
1.2.2 構造轉(zhuǎn)移概率矩陣 該矩陣反映各狀態(tài)之間的轉(zhuǎn)移規(guī)律,可表示為
(12)
式中:pij(k)=mij/mi,表示由狀態(tài)Ei經(jīng)過m步轉(zhuǎn)移后到狀態(tài)Ej的概率。其中mij表示由狀態(tài)Ei轉(zhuǎn)移到狀態(tài)Ej的數(shù)據(jù)個數(shù),mi表示原始數(shù)據(jù)落入狀態(tài)Ei的數(shù)據(jù)個數(shù)。通過考察狀態(tài)轉(zhuǎn)移概率矩陣p(m),即可預知系統(tǒng)未來的狀態(tài)轉(zhuǎn)向。
1.2.3 編制預測表 根據(jù)上一步得到的狀態(tài)轉(zhuǎn)移概率矩陣,選取1步或n步轉(zhuǎn)移,編制預測表并將相應轉(zhuǎn)移概率填入表中。然后對預測表的列進行求和,其中最大列所在的狀態(tài)即為下一步(或n步)最有可能所處的狀態(tài)。
1.2.4 計算預測值 針對上一步所確定的預測對象最有可能的狀態(tài)轉(zhuǎn)移Ei以及狀態(tài)劃分規(guī)則,計算馬爾科夫預測值。
由于傳統(tǒng)的灰色模型主要適用于預測時間短、數(shù)據(jù)資料少、波動不大的系統(tǒng)對象,對于隨機波動性較大的數(shù)據(jù)序列預測精度較低。而在馬爾科夫模型中,通過轉(zhuǎn)移概率可以反映隨機因素的影響程度,彌補了灰色預測的局限性,但要求預測序列具有馬氏鏈平穩(wěn)過程等均值的特點。因此,本研究將灰色預測模型和馬爾科夫模型相結合,在提高GM(1,1)模型預測精度的同時,又降低了模型對序列穩(wěn)定性的要求。算法步驟可描述為:(1)利用灰度建模方法構造糧食產(chǎn)量序列的灰色GM(1,1)模型,并利用該模型得到原序列的預測序列。(2)計算模型預測誤差,構造誤差預測模型,并利用該模型對產(chǎn)量預測模型進行修正。同時得到修正后第n+1年的預測值。(3)計算原序列和修正預測序列對應元素之間的比值,劃分狀態(tài)區(qū)間,得到狀態(tài)序列,并依據(jù)此序列得到新的預測序列,計算序列的自相關系數(shù),進而得到權重序列。(4)將狀態(tài)序列轉(zhuǎn)化為概率轉(zhuǎn)移矩陣,并根據(jù)各階轉(zhuǎn)移概率密度矩陣和權重系數(shù)序列,確定歷年狀態(tài)對預測年所處狀態(tài)的影響概率。(5)根據(jù)狀態(tài)轉(zhuǎn)移概率及權重系數(shù),計算預測年的糧食產(chǎn)量。將此產(chǎn)量數(shù)據(jù)加入原數(shù)據(jù)序列,同時去掉序列中的第1個元素,構成新陳代謝灰度模型,并用基于誤差修正的灰度模型預測第n+2年的產(chǎn)量數(shù)據(jù)。(6)重復步驟(1)~(5)得到第n+3、n+4,…等年份的糧食年產(chǎn)量預測數(shù)據(jù)。綜上,基于灰色-馬爾科夫模型的糧食年產(chǎn)量預測算法流程見圖1。
為了進一步提高預測精度,本研究對GM(1,1)預測模型的誤差進行修正。為此,首先計算預測誤差序列E(10),使用公式(13)進行計算:
E(10)=X10-X10。
(13)
由此得到的誤差序列如表1所示。為了對誤差序列進行預測,須要將誤差序列轉(zhuǎn)化為非負序列。為此,尋找序列E(10)的最小值E(10)min=-2 944,取其絕對值|E(10)min|,將序列E(10)加上該絕對值,從而將誤差序列轉(zhuǎn)化為非負序列E(11),即E(11)=[2 944,4 352,3 729,0,2 756,3 060,3 223,2 415,3 872,2 829,3 086]。
表1 2000—2010年糧食年產(chǎn)量的灰色預測及修正預測值
考慮到糧食生產(chǎn)受到各種因素的影響,而各種因素的影響又具有連續(xù)性,本研究使用馬爾科夫鏈描述歷年產(chǎn)量對預測年產(chǎn)量的影響。因此,首先計算原序列和預測序列對應元素之間的比值,構成比值序列R,即
(14)
由此得到序列R的最小值Rmin=0.914 36,最大值Rmax=1.009 00,將序列R在Rmin~Rmax內(nèi)劃分成3個區(qū)間,即3種狀態(tài):區(qū)間1(狀態(tài)1),[0.91,0.97);區(qū)間2(狀態(tài)2),[0.97,0.99);區(qū)間3(狀態(tài)3),[0.99,1.01]。
(15)
對X(11)中的所有元素按照上述方法轉(zhuǎn)化為新的預測序列,得到Y1=[46 217,44 859,45 968,44 278,47 304,48 473,49 671,48 822,53 222,53 447,54 768]。同時,根據(jù)狀態(tài)序列S的元素值,得到狀態(tài)轉(zhuǎn)移頻數(shù)矩陣F(fij),元素fij表示狀態(tài)序列中由狀態(tài)i轉(zhuǎn)向狀態(tài)j的頻數(shù)(即次數(shù))。
(16)
(17)
根據(jù)狀態(tài)轉(zhuǎn)移概率矩陣P(1),選取距離預測年份(2011年)最近的3個年份,按其距離遠近將轉(zhuǎn)移步數(shù)分別定為k=1,2,3,即2010年轉(zhuǎn)移步數(shù)為1,2009年轉(zhuǎn)移步數(shù)為2,2008年轉(zhuǎn)移步數(shù)為3。然后計算各階自相關系數(shù)rk,計算公式如下:
(18)
(19)
(20)
式中:n表示預測模型中元素的總個數(shù)。
之后對各階自相關系數(shù)進行歸一化,得到權重系數(shù)序列W,其中元素Wi的計算方法如下:
(21)
(22)
(23)
所以W=[0.536 66,0.359 25,0.104 09]。由于本研究只考慮最近3年對預測年份的影響,因此,可計算每年的轉(zhuǎn)移概率密度矩陣P(2)、P(3),計算方法見公式(24)、(25)。
(24)
(25)
根據(jù)狀態(tài)矩陣,2008—2010年的糧食年產(chǎn)量狀態(tài)分別為3、2、2。因此,可分別確定各年份對2011年所處狀態(tài)的轉(zhuǎn)移概率,具體見表2。
表2 2008—2010年所處狀態(tài)及狀態(tài)轉(zhuǎn)移概率
根據(jù)表2并利用權重系數(shù)序列W計算2011年的糧食年產(chǎn)量分別處于狀態(tài)1、狀態(tài)2、狀態(tài)3的概率分別為
(26)
(27)
(28)
(29)
為對比方便,分別使用傳統(tǒng)灰色模型及馬爾科夫模型對2011—2015年糧食年產(chǎn)量進行預測,各種方法的預測結果及預測誤差見表3。由此可以看出,(1)由于傳統(tǒng)灰色模型沒有考慮歷年糧食產(chǎn)量對未來預測年份糧食產(chǎn)量的影響,初始預測值較為準確,2011—2013年的預測誤差小于1.00%,但隨著年份的增加,由于糧食年產(chǎn)量間的相互影響作用導致預測精度變差,2014、2015年的年產(chǎn)量預測誤差明顯增加,但總體來看,此方法的預測精度較高;(2)傳統(tǒng)馬爾科夫模型由于過度依賴歷年糧食產(chǎn)量對未來產(chǎn)量的影響,降低了序列的波動性,導致預測值增加較慢,預測誤差較大,所有年份的預測誤差均大于1.50%,最大誤差達到4.16%,無法用于糧食產(chǎn)量的短期精準預測;(3)相比于傳統(tǒng)灰色模型和馬爾科夫模型,由于灰色——馬爾科夫混合模型綜合考慮了序列的波動性及歷年產(chǎn)量對未來年份糧食產(chǎn)量的影響,將2種模型優(yōu)勢互補,極大地提高了模型預測的準確性,5年的糧食產(chǎn)量誤差均小于 0.40%,能夠?qū)崿F(xiàn)糧食產(chǎn)量的短期精準預測。
表3 各種方法糧食產(chǎn)量預測結果比較
糧食安全問題是關系國民經(jīng)濟健康發(fā)展和全面建設小康社會的重大問題,因此研究糧食生產(chǎn)波動規(guī)律,做好糧食產(chǎn)量的短期預測對保障國家糧食安全和協(xié)助糧食管理部門作出科學決策具有重大意義。本研究結合糧食生產(chǎn)具有波動性及相互影響性的特點,提出基于馬爾科夫的灰色產(chǎn)量組合預測方法,該方法充分發(fā)揮了灰色模型和馬爾科夫模型的優(yōu)勢,利用歷史數(shù)據(jù)包含的信息,對糧食年產(chǎn)量進行短期精準預測,5年預測誤差均小于0.40%,平均誤差為0.19%,相較于傳統(tǒng)灰色模型及馬爾科夫模型,預測精度大幅提高。
:
[1]李衛(wèi)國,王紀華,趙春江,等. 基于遙感信息和產(chǎn)量形成過程的小麥估產(chǎn)模型[J]. 麥類作物學報,2007,27(5):904-907.
[2]王桂芝,胡 慧,陳紀波,等. 基于BP濾波的Fourier模型在糧食產(chǎn)量預測中的應用[J]. 中國農(nóng)業(yè)氣象,2015,36(4):472-478.
[3]陳錫康,楊翠紅. 投入占用產(chǎn)出技術在全國糧食產(chǎn)量預測及鄉(xiāng)鎮(zhèn)企業(yè)中的應用[J]. 中國科學基金,2003,17(3):149-152.
[4]王春輝,周生路,吳紹華,等. 基于多元線性回歸模型和灰色關聯(lián)分析的江蘇省糧食產(chǎn)量預測[J]. 南京師大學報(自然科學版),2014,37(4):105-109.
[5]林 芳. 灰色神經(jīng)網(wǎng)絡在糧食產(chǎn)量預測中的應用[J]. 計算機仿真,2012(4):225-228.
[6]王惠婷. 基于混合時間序列模型的糧食產(chǎn)量預測[J]. 統(tǒng)計與決策,2013(12):23-25.
[7]陳 晨,吳海云,田燕紅,等. 基于支持向量回歸機的糧食產(chǎn)量預測研究[J]. 山西農(nóng)業(yè)大學學報(自然科學版),2013,33(4):357-361.
[8]楊鐵軍,楊 娜,朱春華,等. 一種新的基于ARIMA模型的糧食產(chǎn)量預測[J]. 河南工業(yè)大學學報(自然科學版),2015,36(5):19-22.
[9]楊克磊,張振宇,和 美. 應用灰色GM(1,1)模型的糧食產(chǎn)量預測研究[J]. 重慶理工大學學報(自然科學版),2015,29(4):124-127.
[10]鄒 慧,徐 波. 改進的灰色——馬爾科夫模型及其在沉降預測中的應用研究[J]. 工程勘察,2016,44(3):64-68.