王江榮 李向兵
(甘肅蘭州石化職業(yè)技術(shù)學(xué)院信息處理與控制工程系,蘭州 730060)
全國(guó)糧食產(chǎn)量與有效灌溉面積、農(nóng)業(yè)基本建設(shè)投資和勞動(dòng)力投入等諸多因素有著很強(qiáng)的關(guān)聯(lián)性[1]。受氣象條件的多樣性、變異性、復(fù)雜性以及土地流失等因素的影響,糧食產(chǎn)量存在著大量的不確定性、不穩(wěn)定性,以及較強(qiáng)的隨機(jī)性、相依性和非線性,從而降低了產(chǎn)量預(yù)測(cè)的精確性。因此,有必要研究在存在大量不確定因素的情況下,如何較為準(zhǔn)確地預(yù)測(cè)全國(guó)糧食產(chǎn)量,為有關(guān)部門提供決策依據(jù)。
該文提出了一種基于BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)與加權(quán)模糊馬爾可夫鏈的組合預(yù)測(cè)方法。首先采用BP神經(jīng)網(wǎng)絡(luò),使用較少的樣本數(shù)據(jù)完成糧食產(chǎn)量曲線的粗略擬合,在此基礎(chǔ)上應(yīng)用模糊聚類方法計(jì)算出糧食產(chǎn)量數(shù)據(jù)序列的分級(jí)模糊區(qū)間[2],然后以產(chǎn)量序列規(guī)范化后的各階自相關(guān)系數(shù)為權(quán),用加權(quán)的馬爾可夫鏈縮小預(yù)測(cè)區(qū)間以提高預(yù)測(cè)精確度,從而為定量評(píng)估多重因素對(duì)糧食產(chǎn)量影響提供了一種新的思路。
神經(jīng)網(wǎng)絡(luò)作為一種并行的運(yùn)算模型,能夠在被建對(duì)象結(jié)構(gòu)及參數(shù)未知的情況下,通過(guò)樣本訓(xùn)練,自適應(yīng)地獲取輸入與輸出的非線性映射關(guān)系[3]。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,具有較強(qiáng)的非線性映射能力,是應(yīng)用最為廣泛的一類多層前向神經(jīng)網(wǎng)絡(luò)。BP學(xué)習(xí)算法是一種梯度快速下降法,其訓(xùn)練過(guò)程可歸納如下:
(1)
該網(wǎng)絡(luò)參數(shù)確定:
1)輸入層、隱層和輸出層的節(jié)點(diǎn)數(shù);
2)學(xué)習(xí)率和動(dòng)量;
3)成本函數(shù)或訓(xùn)練樣本數(shù)量的最大允許平方誤差。
隨后對(duì)人工神經(jīng)網(wǎng)絡(luò)ANN(Artificial Neural Networks,)進(jìn)行訓(xùn)練,當(dāng)誤差平方值小于最大允許誤差平方值時(shí)停止訓(xùn)練。
神經(jīng)網(wǎng)絡(luò)模型的應(yīng)用前提是獲取較大量的樣本訓(xùn)練數(shù)據(jù),如果訓(xùn)練樣本數(shù)據(jù)不夠充分,訓(xùn)練后的網(wǎng)絡(luò)結(jié)構(gòu)往往不完全穩(wěn)定,尤其完成的后續(xù)數(shù)據(jù)組的預(yù)測(cè)通常會(huì)在一定范圍內(nèi)隨機(jī)波動(dòng),降低了預(yù)測(cè)的精度。馬爾可夫鏈恰能有效地預(yù)見并消除由系統(tǒng)隨機(jī)性而產(chǎn)生的預(yù)測(cè)誤差。因此,通過(guò)建立神經(jīng)網(wǎng)絡(luò)與馬爾可夫鏈的組合預(yù)測(cè)模型,將二者進(jìn)行優(yōu)勢(shì)互補(bǔ),能夠得到更為準(zhǔn)確的預(yù)測(cè)結(jié)論。
馬爾可夫鏈預(yù)測(cè)是基于馬爾可夫過(guò)程的理論基礎(chǔ)之上,用來(lái)研究系統(tǒng)狀態(tài)轉(zhuǎn)移規(guī)律,分析隨機(jī)事件未來(lái)發(fā)展趨勢(shì)及可能結(jié)果的一種預(yù)測(cè)方法[4]。馬爾可夫鏈預(yù)測(cè)模型可表示為
X(n)=X(0)Pn
(2)
式中,X(n)為n時(shí)刻的狀態(tài)概率向量;X(0)為初始時(shí)刻的狀態(tài)概率向量;P為狀態(tài)轉(zhuǎn)移概率矩陣。
式(2)具有根據(jù)P及X(0)預(yù)測(cè)第n步的意義,預(yù)測(cè)的關(guān)鍵在于狀態(tài)轉(zhuǎn)移概率矩陣P的確定。
1.2.1 馬爾可夫鏈狀態(tài)區(qū)間的劃分
根據(jù)糧食產(chǎn)量樣本資料,得到BP神經(jīng)網(wǎng)絡(luò)的擬合值,求出誤差幅度(絕對(duì)誤差占實(shí)際產(chǎn)量百分比),將誤差幅值數(shù)據(jù)列由小到大排列,應(yīng)用模糊C均值聚類方法計(jì)算獲得糧食產(chǎn)量數(shù)據(jù)序列的分級(jí)模糊區(qū)間,確定出馬爾可夫鏈的狀態(tài)空間,并給出歷史資料數(shù)據(jù)序列中各時(shí)段糧食產(chǎn)量所處的模糊分級(jí)區(qū)間狀態(tài)i(i=1,2,…,n)。
1.2.2 馬爾可夫鏈轉(zhuǎn)移矩陣
根據(jù)1.2.1獲得的模糊分級(jí)區(qū)間數(shù)據(jù)及狀態(tài)表,計(jì)算出不同步數(shù)的馬爾可夫鏈轉(zhuǎn)移概率矩陣[5-6]:
若狀態(tài)i在狀態(tài)表中出現(xiàn)的次數(shù)為Mi,由狀態(tài)i經(jīng)過(guò)m步轉(zhuǎn)移到狀態(tài)j的次數(shù)為Mij,則狀態(tài)i經(jīng)過(guò)m步到狀態(tài)j的轉(zhuǎn)移概率為
(3)
狀態(tài)轉(zhuǎn)移概率矩陣的構(gòu)造如下:
1.2.3 馬爾可夫鏈權(quán)值計(jì)算
由于糧食產(chǎn)量是一組相依的隨機(jī)變量,因而可考慮先分別依其前面若干時(shí)段的數(shù)據(jù)對(duì)所求時(shí)段的糧食產(chǎn)量進(jìn)行預(yù)測(cè),然后按前面各時(shí)段與該時(shí)段相依關(guān)系的強(qiáng)弱加權(quán)求和,即在預(yù)測(cè)過(guò)程中加入權(quán)重的影響,以期能充分、合理地利用信息進(jìn)行預(yù)測(cè)。
1)計(jì)算糧食產(chǎn)量序列的各階自相關(guān)系數(shù)
(4)
2)對(duì)各階自相關(guān)系數(shù)進(jìn)行歸一化,即
(5)
將式(5)作為各種滯時(shí)(步長(zhǎng))的馬爾可夫鏈的權(quán)重(m為按預(yù)測(cè)需要計(jì)算到的最大階數(shù))。
(6)
(7)
根據(jù)能夠計(jì)量、具有農(nóng)學(xué)意義兩個(gè)原則,結(jié)合已有的研究成果[7],本文選取1988年~2008年的糧食總量為輸出因子,初步選取糧食作物播種面積、化肥施用量、糧食作物有效灌溉面積、受災(zāi)面積、農(nóng)村用電量、農(nóng)村機(jī)械總動(dòng)力、勞動(dòng)力投入、基本建設(shè)支出、農(nóng)業(yè)科技三項(xiàng)費(fèi)用、單產(chǎn)、農(nóng)村居民家庭平均收入等11個(gè)因子構(gòu)筑模型。變量及原始數(shù)據(jù)來(lái)源于中國(guó)統(tǒng)計(jì)局《中國(guó)統(tǒng)計(jì)年鑒2009》(由于占篇幅較多,在此略去)。采用灰關(guān)聯(lián)分析法[8]計(jì)算出各影響因素的綜合關(guān)聯(lián)度,按從大到小順序排列(取前8個(gè))如下:
有效灌溉面積(0.97285:關(guān)聯(lián)度,后同);勞動(dòng)力投入(0.76553);糧食單產(chǎn)量(0.75591); 成災(zāi)面積(0.66551); 農(nóng)業(yè)機(jī)械總動(dòng)力(0.64965);化肥施用量(0.62239);農(nóng)村用電量(0.58151);糧食作物播種面積(0.52808)。以此8要素進(jìn)行模型的構(gòu)建。利用Eviews軟件對(duì)所選8要素進(jìn)行歷史數(shù)據(jù)分析,此8要素對(duì)糧食產(chǎn)量有顯著影響,且具有明顯的多元相關(guān)性,其相關(guān)系數(shù)(決定系數(shù))R2=0.984。所以,用本文所選8因素進(jìn)行糧食產(chǎn)量擬合和預(yù)測(cè)完全可行,并且有較高的可信度。
設(shè)定BP網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)為8,分別表示農(nóng)業(yè)機(jī)械總動(dòng)力、有效灌溉面積、化肥施用量、農(nóng)村用電量、農(nóng)作物播種面積、成災(zāi)面積;糧食單產(chǎn)量;勞動(dòng)力投入。輸出層節(jié)點(diǎn)數(shù)為1,即糧食產(chǎn)量;由于單隱層前饋網(wǎng)絡(luò)具有較好的非線性映射能力,隱層數(shù)取1。按如下公式選擇隱層節(jié)點(diǎn)數(shù)[9]。
l l=log2n 式中,n為輸入層節(jié)點(diǎn)數(shù),上述三式為經(jīng)驗(yàn)公式,只需滿足一式即可;l為隱含層節(jié)點(diǎn)數(shù);m為輸出層節(jié)點(diǎn)數(shù);a為0~10間的常數(shù)。選代次數(shù)M0=5000,誤差門限ε=0.0001,網(wǎng)絡(luò)學(xué)習(xí)系數(shù)η取0.5,動(dòng)量項(xiàng)系數(shù)a=0.1。訓(xùn)練樣本為1988年~2007年的20個(gè)樣本,檢測(cè)樣本為2008年~2011年4個(gè)獨(dú)立樣本。采用MATLAB軟件及文獻(xiàn)[7]中的BP神經(jīng)網(wǎng)絡(luò)程序經(jīng)過(guò)算法學(xué)習(xí)和篩選,得到最優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)8-5-1(輸入層節(jié)點(diǎn)—隱含層節(jié)點(diǎn)—輸出層節(jié)點(diǎn))。 使用訓(xùn)練樣本數(shù)據(jù)建立預(yù)測(cè)模型,并對(duì)1988年~2007年的糧食產(chǎn)量進(jìn)行內(nèi)預(yù)測(cè),內(nèi)預(yù)測(cè)結(jié)果見表1,可以看出擬合得非常好,有較高的精確度。 對(duì)由BP網(wǎng)絡(luò)算法得到的表1中誤差幅值(絕對(duì)誤差)采用模糊C均值聚類[10],求出糧食產(chǎn)量數(shù)據(jù)序列的分級(jí)模糊區(qū)間。經(jīng)檢驗(yàn),誤差幅值劃分為5個(gè)模糊分級(jí)區(qū)間比較合適(相對(duì)分3類、分4類誤差最小,且誤差收斂于0.0215),即馬爾可夫鏈有5個(gè)狀態(tài)。具體劃分見表2。 表11991年—2010年糧食產(chǎn)量的實(shí)際值及BP網(wǎng)絡(luò)計(jì)算擬合值 表2糧食產(chǎn)量數(shù)據(jù)列模糊分級(jí)區(qū)間(x為絕對(duì)誤差) 由表1和表2知: 1)出現(xiàn)在狀態(tài)1的編號(hào)為:1995和2006; 2)出現(xiàn)在狀態(tài)2的編號(hào)為:1994、1996、1997、1998、1999、2000、2001、2002和2005; 3)出現(xiàn)在狀態(tài)3的編號(hào)為:1990、1992、1993、2003和2004; 4)出現(xiàn)在狀態(tài)4的編號(hào)為:1989和2007; 5)出現(xiàn)在狀態(tài)5的編號(hào)為:1988和1991。 根據(jù)2.2的分析結(jié)果可得1988年~2007年糧食產(chǎn)量預(yù)測(cè)結(jié)果的馬爾可夫狀態(tài)轉(zhuǎn)移表,如表3所示。 表31989年~2008年糧食產(chǎn)量預(yù)測(cè)結(jié)果的馬爾可夫狀態(tài)轉(zhuǎn)移表 由表3可確定馬爾可夫鏈狀態(tài)轉(zhuǎn)移概率矩陣P: (8) 式(2)可看成齊次馬氏鏈,所以由C—K方程[11]得到一步到五步的轉(zhuǎn)移概率: P1=P,P2=P2,P3=P3,P4=P4,P5=P5 (9) 用1988年~2007年20個(gè)樣本作訓(xùn)練樣本建模,預(yù)報(bào)2008年;再用1988年~2008年21個(gè)樣本作訓(xùn)練樣本建模,預(yù)報(bào)2009年;依此類推,直到用1988年~2010年23個(gè)樣本作訓(xùn)練樣本建模,對(duì)2011年進(jìn)行預(yù)報(bào)。 根據(jù)表1(1988年~2007年)和式(4)并利用軟件SPSS.13求出糧食產(chǎn)量數(shù)據(jù)序列的各階自相關(guān)系數(shù)分別為 r1=0.631,r2=0.306,r3=0.138,r4=-0.171,r5=-0.194。 將各階自相關(guān)系數(shù)規(guī)范化后得到各步數(shù)的馬爾可夫鏈的權(quán)重(見式(5)): ω1=0.43814,ω2=0.21268,ω3=0.09561,ω4=0.11875,ω5=0.13482 由1.3及式(6)得表4。 表42008年糧食產(chǎn)量預(yù)測(cè)表 由表4可知,max{pi}=0.6504,i=3,即2008年糧食產(chǎn)量的預(yù)測(cè)值狀態(tài)為X3(正常狀態(tài))。根據(jù)模糊區(qū)間求得2008年的產(chǎn)量預(yù)測(cè)區(qū)間為[52842,52857],取中間值,即為52849(萬(wàn)噸),實(shí)際產(chǎn)量為52870.9(萬(wàn)噸),相對(duì)誤差0.04%。 同理,得到2009年~2011年的糧食產(chǎn)量的預(yù)測(cè)值區(qū)間分別為[51919,54532],[53280,55902],[54687,57320],其中間值分別為:53226(萬(wàn)噸),54591(萬(wàn)噸),56004(萬(wàn)噸)。 為了檢驗(yàn)新模型方法的預(yù)測(cè)性能,我們分別采用差分自回歸移動(dòng)平均模型[1]、灰色GM(1,N)模型對(duì)2008年~2011年糧食產(chǎn)量進(jìn)行了預(yù)測(cè),并與本文預(yù)測(cè)結(jié)果比較,有關(guān)數(shù)據(jù)見表5。 表5三種模型對(duì)2008~2011年檢測(cè)樣本逐年預(yù)測(cè)結(jié)果誤差比較 (單位:萬(wàn)噸) 表5數(shù)據(jù)表明,本文預(yù)測(cè)方法的預(yù)測(cè)精度遠(yuǎn)好于其它兩種方法。本文方法的優(yōu)點(diǎn)在于充分發(fā)揮了BP網(wǎng)絡(luò)的多變量處理能力及網(wǎng)絡(luò)適應(yīng)能力。另外,隨著預(yù)報(bào)對(duì)象序列的逐年增加,資料數(shù)據(jù)的代表性也日益增強(qiáng),自相關(guān)系數(shù)、狀態(tài)轉(zhuǎn)移概率矩陣、權(quán)重值也隨之發(fā)生變化,將每年預(yù)報(bào)對(duì)象的新的實(shí)測(cè)值加入到資料分析系列中,實(shí)現(xiàn)了在線調(diào)整預(yù)報(bào)對(duì)象的自相關(guān)系數(shù)、狀態(tài)轉(zhuǎn)移概率矩陣和權(quán)重,從而提高了預(yù)報(bào)的精度。 基于BP神經(jīng)網(wǎng)絡(luò)與加權(quán)模糊馬爾可夫鏈的組合預(yù)測(cè)模型,綜合利用了神經(jīng)網(wǎng)絡(luò)與馬爾可夫鏈預(yù)測(cè)的優(yōu)勢(shì),此預(yù)測(cè)模型充分體現(xiàn)的數(shù)據(jù)序列固有的宏觀變化與微觀波動(dòng),以及數(shù)據(jù)之間的模糊性和相依性。模型的建立具有較嚴(yán)密的理論基礎(chǔ)。與其它預(yù)測(cè)方法相比,該文預(yù)測(cè)模型具有較高的精確度和可靠性。該方法具有廣闊的應(yīng)用前景。 [1] 陳生,李夫明.差分自回歸移動(dòng)平均模型在中國(guó)糧食產(chǎn)量預(yù)測(cè)中的應(yīng)用[J].糧食科技與經(jīng)濟(jì),2011,36(3):14-17 [2] 胡國(guó)定,張潤(rùn)楚.多元數(shù)據(jù)分析方法—純代數(shù)處理[M].天津:南開大學(xué)出版社,1990 [3] 張德豐.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].北京:電子工業(yè)出版社,2009 [4] 劉克.實(shí)用馬爾可夫決策過(guò)程[M].北京:清華大學(xué)出版社,2004 [5] 馬春雷,張文娟, 梁 駒.基于灰色馬爾柯夫模型的儀器檢定校準(zhǔn)時(shí)間間隔的確定[J].計(jì)量技術(shù),2011(8):3-6 [6] 趙瑞賢,孟曉風(fēng),王國(guó)華.基于灰色馬爾柯夫預(yù)測(cè)的測(cè)量?jī)x器校準(zhǔn)間隔動(dòng)態(tài)優(yōu)化[J].計(jì)量學(xué)報(bào),2007,28(2):184-187 [7] 孫萍,陳銳.影響糧食產(chǎn)量的因素分析及對(duì)策建議[J].天 津 理 工 大 學(xué) 學(xué) 報(bào),2008,24 (5):51-53 [8] 許國(guó)根,賈瑛.模式識(shí)別與智能計(jì)算[M].北京:北京航空航天大學(xué)出版社,2012:246-247 [9] 史峰,王小川,等.MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2011:9-10 [10]謝中華.MATLAB統(tǒng)計(jì)分析與應(yīng)用40個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2010:297-299 [11]李裕奇.隨機(jī)過(guò)程[M].北京:國(guó)防工業(yè)出版社,20032.2 基于模糊C均值聚類法的模糊分級(jí)區(qū)間
2.3 基于BP預(yù)測(cè)結(jié)果的馬爾可夫狀態(tài)轉(zhuǎn)移矩陣
2.4 2008年~2011年糧食產(chǎn)量預(yù)測(cè)
3 三種方法結(jié)果比較分析
4 結(jié)束語(yǔ)