樊 超, 郭亞菲, 曹培格, 楊鐵軍
(河南工業大學信息科學與工程學院,河南鄭州 450001)
糧食是人類賴以生存、社會進步和經濟發展的基本生活資料,其產量嚴重影響著糧食的安全體系,進而關系到能否滿足人們的生存需要,它是整個國家安全系統的重要組成部分。因此,糧食產量預測在農業經濟管理中起著決定性作用。
通常為了準確預測糧食產量,主要采用以下4類模型:遙感預測模型[1]、氣候生產力模型[2]、投入產出模型[3]、多元回歸和因子分析模型[4]。這些模型和方法均從不同角度對糧食產量預測進行了研究,并得到一些有意義的研究結果。但是上述模型在預測產量時,存在數據量大、數據處理復雜、考慮影響因素有限等缺點。近年來,隨著智能技術的發展,灰色系統理論預測與專家系統相結合的預測、模糊推理預測、人工神經網絡預測等新技術避免了傳統方法的很多缺陷,被廣泛應用。例如,基于粗糙集理論、自回歸移動平均模型(ARIMA)、小波變換、神經網絡以及組合預測等技術的糧食產量預測方法[5-8]。但是由于糧食生產受到多種因素的影響,導致數據具有較大的波動性和不確定性。從預測結果來看,上述方法均存在一些不足,或者沒有考慮糧食生產的灰色性及信息收集的不系統性,或者算法適應性差,預測精度不高。
由于糧食生產具有明顯的灰度特征,因此可以使用灰色模型預測糧食產量。傳統的灰色模型雖然能有效地預測少量數據的序列,但隨著數據的增多和波動性的增大,該模型逐漸失去了它的優勢[9],而馬爾科夫模型預測可以應用于隨機變化的時間序列中,彌補灰色模型的不足[10]。因此,本研究將上述2種模型相結合,使兩者優點互補,充分利用歷史數據包含的信息,采用灰色-馬爾科夫模型對糧食產量進行短期精準預測。
灰色GM(1,1)模型是以微分擬合為核心的一種建模方法,其基本原理是對雜亂無章的原始數據列進行“累加”,生成新的單調遞增的數據列,增加原始數據列的規律性,弱化其波動性。按照累加后序列的增長趨勢建立預測模型,得到1組單調遞增數據。然后對預測數據采用“累減”的方法進行逆運算,恢復原時間序列,得到預測結果。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)
其中參數a、b可由下式計算
[a,b]T=(BTB)-1BTY。
(7)
(8)
(4)求解微分方程,得到如下GM(1,1)模型
(9)
(5)由累加序列還原原序列

(10)
馬爾科夫方法的基本思路是通過原始數據求得狀態轉移矩陣,根據狀態轉移矩陣對未來的變化狀態進行概率估計。
馬爾科夫模型可表示為
X(n)=X(t)pn-1。
(11)
式中:X(n)、X(t)分別為n、t時刻的狀態概率向量,p為1步狀態概率轉移矩陣。利用馬爾科夫模型對灰色模型進行優化時,首先須要對預測精度進行劃分,然后確定狀態轉移概率,最后使用馬爾科夫模型對結果進行優化。具體步驟可描述為以下4步。
1.2.1 狀態劃分 根據灰色模型預測值和真實值的比值將數據樣本劃分成若干狀態,狀態個數依據樣本數據元素的數量而定。劃分的狀態可用Ei表示,任一狀態可表示為Ei∈[Emin,Emax],其中Emin和Emax分別是狀態Ei的最小值和最大值。
1.2.2 構造轉移概率矩陣 該矩陣反映各狀態之間的轉移規律,可表示為
(12)
式中:pij(k)=mij/mi,表示由狀態Ei經過m步轉移后到狀態Ej的概率。其中mij表示由狀態Ei轉移到狀態Ej的數據個數,mi表示原始數據落入狀態Ei的數據個數。通過考察狀態轉移概率矩陣p(m),即可預知系統未來的狀態轉向。
1.2.3 編制預測表 根據上一步得到的狀態轉移概率矩陣,選取1步或n步轉移,編制預測表并將相應轉移概率填入表中。然后對預測表的列進行求和,其中最大列所在的狀態即為下一步(或n步)最有可能所處的狀態。
1.2.4 計算預測值 針對上一步所確定的預測對象最有可能的狀態轉移Ei以及狀態劃分規則,計算馬爾科夫預測值。
由于傳統的灰色模型主要適用于預測時間短、數據資料少、波動不大的系統對象,對于隨機波動性較大的數據序列預測精度較低。而在馬爾科夫模型中,通過轉移概率可以反映隨機因素的影響程度,彌補了灰色預測的局限性,但要求預測序列具有馬氏鏈平穩過程等均值的特點。因此,本研究將灰色預測模型和馬爾科夫模型相結合,在提高GM(1,1)模型預測精度的同時,又降低了模型對序列穩定性的要求。算法步驟可描述為:(1)利用灰度建模方法構造糧食產量序列的灰色GM(1,1)模型,并利用該模型得到原序列的預測序列。(2)計算模型預測誤差,構造誤差預測模型,并利用該模型對產量預測模型進行修正。同時得到修正后第n+1年的預測值。(3)計算原序列和修正預測序列對應元素之間的比值,劃分狀態區間,得到狀態序列,并依據此序列得到新的預測序列,計算序列的自相關系數,進而得到權重序列。(4)將狀態序列轉化為概率轉移矩陣,并根據各階轉移概率密度矩陣和權重系數序列,確定歷年狀態對預測年所處狀態的影響概率。(5)根據狀態轉移概率及權重系數,計算預測年的糧食產量。將此產量數據加入原數據序列,同時去掉序列中的第1個元素,構成新陳代謝灰度模型,并用基于誤差修正的灰度模型預測第n+2年的產量數據。(6)重復步驟(1)~(5)得到第n+3、n+4,…等年份的糧食年產量預測數據。綜上,基于灰色-馬爾科夫模型的糧食年產量預測算法流程見圖1。


為了進一步提高預測精度,本研究對GM(1,1)預測模型的誤差進行修正。為此,首先計算預測誤差序列E(10),使用公式(13)進行計算:
E(10)=X10-X10。
(13)
由此得到的誤差序列如表1所示。為了對誤差序列進行預測,須要將誤差序列轉化為非負序列。為此,尋找序列E(10)的最小值E(10)min=-2 944,取其絕對值|E(10)min|,將序列E(10)加上該絕對值,從而將誤差序列轉化為非負序列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年糧食年產量的灰色預測及修正預測值
考慮到糧食生產受到各種因素的影響,而各種因素的影響又具有連續性,本研究使用馬爾科夫鏈描述歷年產量對預測年產量的影響。因此,首先計算原序列和預測序列對應元素之間的比值,構成比值序列R,即
(14)
由此得到序列R的最小值Rmin=0.914 36,最大值Rmax=1.009 00,將序列R在Rmin~Rmax內劃分成3個區間,即3種狀態:區間1(狀態1),[0.91,0.97);區間2(狀態2),[0.97,0.99);區間3(狀態3),[0.99,1.01]。

(15)
對X(11)中的所有元素按照上述方法轉化為新的預測序列,得到Y1=[46 217,44 859,45 968,44 278,47 304,48 473,49 671,48 822,53 222,53 447,54 768]。同時,根據狀態序列S的元素值,得到狀態轉移頻數矩陣F(fij),元素fij表示狀態序列中由狀態i轉向狀態j的頻數(即次數)。

(16)

(17)
根據狀態轉移概率矩陣P(1),選取距離預測年份(2011年)最近的3個年份,按其距離遠近將轉移步數分別定為k=1,2,3,即2010年轉移步數為1,2009年轉移步數為2,2008年轉移步數為3。然后計算各階自相關系數rk,計算公式如下:
(18)
(19)
(20)
式中:n表示預測模型中元素的總個數。
之后對各階自相關系數進行歸一化,得到權重系數序列W,其中元素Wi的計算方法如下:
(21)
(22)
(23)
所以W=[0.536 66,0.359 25,0.104 09]。由于本研究只考慮最近3年對預測年份的影響,因此,可計算每年的轉移概率密度矩陣P(2)、P(3),計算方法見公式(24)、(25)。
(24)
(25)
根據狀態矩陣,2008—2010年的糧食年產量狀態分別為3、2、2。因此,可分別確定各年份對2011年所處狀態的轉移概率,具體見表2。

表2 2008—2010年所處狀態及狀態轉移概率
根據表2并利用權重系數序列W計算2011年的糧食年產量分別處于狀態1、狀態2、狀態3的概率分別為
(26)
(27)
(28)

(29)
為對比方便,分別使用傳統灰色模型及馬爾科夫模型對2011—2015年糧食年產量進行預測,各種方法的預測結果及預測誤差見表3。由此可以看出,(1)由于傳統灰色模型沒有考慮歷年糧食產量對未來預測年份糧食產量的影響,初始預測值較為準確,2011—2013年的預測誤差小于1.00%,但隨著年份的增加,由于糧食年產量間的相互影響作用導致預測精度變差,2014、2015年的年產量預測誤差明顯增加,但總體來看,此方法的預測精度較高;(2)傳統馬爾科夫模型由于過度依賴歷年糧食產量對未來產量的影響,降低了序列的波動性,導致預測值增加較慢,預測誤差較大,所有年份的預測誤差均大于1.50%,最大誤差達到4.16%,無法用于糧食產量的短期精準預測;(3)相比于傳統灰色模型和馬爾科夫模型,由于灰色——馬爾科夫混合模型綜合考慮了序列的波動性及歷年產量對未來年份糧食產量的影響,將2種模型優勢互補,極大地提高了模型預測的準確性,5年的糧食產量誤差均小于 0.40%,能夠實現糧食產量的短期精準預測。

表3 各種方法糧食產量預測結果比較
糧食安全問題是關系國民經濟健康發展和全面建設小康社會的重大問題,因此研究糧食生產波動規律,做好糧食產量的短期預測對保障國家糧食安全和協助糧食管理部門作出科學決策具有重大意義。本研究結合糧食生產具有波動性及相互影響性的特點,提出基于馬爾科夫的灰色產量組合預測方法,該方法充分發揮了灰色模型和馬爾科夫模型的優勢,利用歷史數據包含的信息,對糧食年產量進行短期精準預測,5年預測誤差均小于0.40%,平均誤差為0.19%,相較于傳統灰色模型及馬爾科夫模型,預測精度大幅提高。
:
[1]李衛國,王紀華,趙春江,等. 基于遙感信息和產量形成過程的小麥估產模型[J]. 麥類作物學報,2007,27(5):904-907.
[2]王桂芝,胡 慧,陳紀波,等. 基于BP濾波的Fourier模型在糧食產量預測中的應用[J]. 中國農業氣象,2015,36(4):472-478.
[3]陳錫康,楊翠紅. 投入占用產出技術在全國糧食產量預測及鄉鎮企業中的應用[J]. 中國科學基金,2003,17(3):149-152.
[4]王春輝,周生路,吳紹華,等. 基于多元線性回歸模型和灰色關聯分析的江蘇省糧食產量預測[J]. 南京師大學報(自然科學版),2014,37(4):105-109.
[5]林 芳. 灰色神經網絡在糧食產量預測中的應用[J]. 計算機仿真,2012(4):225-228.
[6]王惠婷. 基于混合時間序列模型的糧食產量預測[J]. 統計與決策,2013(12):23-25.
[7]陳 晨,吳海云,田燕紅,等. 基于支持向量回歸機的糧食產量預測研究[J]. 山西農業大學學報(自然科學版),2013,33(4):357-361.
[8]楊鐵軍,楊 娜,朱春華,等. 一種新的基于ARIMA模型的糧食產量預測[J]. 河南工業大學學報(自然科學版),2015,36(5):19-22.
[9]楊克磊,張振宇,和 美. 應用灰色GM(1,1)模型的糧食產量預測研究[J]. 重慶理工大學學報(自然科學版),2015,29(4):124-127.
[10]鄒 慧,徐 波. 改進的灰色——馬爾科夫模型及其在沉降預測中的應用研究[J]. 工程勘察,2016,44(3):64-68.