劉 碩,王江榮,靳存程
(蘭州石化職業(yè)技術(shù)學(xué)院 信息處理與控制工程學(xué)院,甘肅 蘭州 730060)
農(nóng)業(yè)是我國國民經(jīng)濟(jì)發(fā)展的支柱性產(chǎn)業(yè),是經(jīng)濟(jì)發(fā)展、社會(huì)安定、國家自立的基礎(chǔ).農(nóng)業(yè)年產(chǎn)總值是在一年內(nèi)以貨幣形式表現(xiàn)的農(nóng)、林、牧、漁業(yè)全部產(chǎn)品的總量,反映了農(nóng)業(yè)生產(chǎn)總規(guī)模和總成果,也是政府出臺(tái)經(jīng)濟(jì)政策的重要依據(jù).準(zhǔn)確預(yù)測農(nóng)業(yè)年總產(chǎn)值對我國農(nóng)業(yè)發(fā)展、經(jīng)濟(jì)宏觀調(diào)控具有重大意義[1-2].
事實(shí)上,農(nóng)業(yè)年產(chǎn)總值易受氣候條件、雨水狀況、水土流失、有效耕地面積、機(jī)械化程度、人力資源、化肥施用量、病蟲害、電力等因素的影響,往往呈現(xiàn)出一定的隨機(jī)性、波動(dòng)性和相依性,是一種非平穩(wěn)、非線性的時(shí)間序列.對這類時(shí)間序列預(yù)測問題,國內(nèi)外專家學(xué)者已作了深入研究,并取得了豐碩成果.主要的預(yù)測方法有:灰色預(yù)測法[3]、非線性預(yù)測模型[4]、非參數(shù)模型預(yù)測法[5-6]、經(jīng)驗(yàn)?zāi)B(tài)分解(Ensemble empirical mode decomposition,EEMD)與支持向量回歸(Support vector regression,SVR)相結(jié)合的預(yù)測方法[7-8]、自回歸模型(Auto regressive model,AR)預(yù)測法[9-10]、自回歸移動(dòng)平均模型(Auto regressive integrated moving average model,ARIMA)法等[11-13].這些方法從理論和實(shí)踐上證明可以用于我國農(nóng)業(yè)年總產(chǎn)值預(yù)測分析.但是由于農(nóng)業(yè)年總值序列包含了多種信息,是多種影響因素及信息的綜合體,其波動(dòng)性是多種因素波動(dòng)的疊加.以上這些方法存在著對統(tǒng)計(jì)數(shù)據(jù)(時(shí)間序列)適應(yīng)能力不強(qiáng)、模型構(gòu)建復(fù)雜以及預(yù)測精度不高等問題.
本文在已有的基礎(chǔ)上提出了高斯多項(xiàng)函數(shù)擬合預(yù)測分析法.高斯單項(xiàng)函數(shù)曲線可以看作是某種影響因素隨時(shí)間(以年為單位)發(fā)生波動(dòng)的變化過程,而多個(gè)高斯單峰函數(shù)曲線的疊加(綜合)則反映了我國農(nóng)業(yè)年總產(chǎn)量的整體波動(dòng)狀態(tài)或變化趨勢.實(shí)證分析表明,構(gòu)建高斯多項(xiàng)函數(shù)模型用于預(yù)測我國農(nóng)業(yè)年總產(chǎn)值時(shí)間序列是可行的,而且高斯多項(xiàng)函數(shù)模型還具有極強(qiáng)的數(shù)據(jù)逼近能力和數(shù)據(jù)適應(yīng)能力.另外,該模型還具有結(jié)構(gòu)簡單、擬合預(yù)測精度高和易程序?qū)崿F(xiàn)的特點(diǎn).需要說明一點(diǎn),在實(shí)證分析時(shí)先利用我國1978年至2015年農(nóng)業(yè)年總產(chǎn)值時(shí)間序列建模,然后再對2016年至2021年我國農(nóng)業(yè)年總產(chǎn)值進(jìn)行預(yù)測分析,對模型中出現(xiàn)的參數(shù)采用遺傳算法ga()和無約束優(yōu)化函數(shù)fminsearch()來估算.
從中國統(tǒng)計(jì)局官網(wǎng)可得到我國1978年至2015年的農(nóng)業(yè)年總產(chǎn)值統(tǒng)計(jì)數(shù)據(jù)[14],如表1所列.
按表1數(shù)據(jù)繪制1978~2015年我國農(nóng)業(yè)年總產(chǎn)值的時(shí)序圖,繪制結(jié)果見圖1.
表1 我國1978~2015年農(nóng)業(yè)年總產(chǎn)值
圖1 我國1978~2015年農(nóng)業(yè)年總產(chǎn)值時(shí)序圖
由圖1可看出,1978~2015年我國農(nóng)業(yè)年總產(chǎn)值受到某些因素影響而出現(xiàn)了一些波動(dòng),但整體仍呈增長趨勢.從變化過程看,離1978年較近的若干年(改革開放初期),因基數(shù)較小,增長幅度不大(即增長速度緩慢);自2003年以來,增長速度明顯加快.因此,我國農(nóng)業(yè)年總產(chǎn)值時(shí)間序列是非平穩(wěn)和非線性的,難以用線性模型描述其變化規(guī)律.
研究表明:影響農(nóng)業(yè)年總產(chǎn)量的主要因素有農(nóng)業(yè)從業(yè)人員、耕地面積、農(nóng)業(yè)機(jī)械總動(dòng)力、灌溉面積、化肥施用量、降雨、氣溫、進(jìn)口額和出口額等[15],每個(gè)因素對農(nóng)業(yè)年總產(chǎn)值的影響力具有一定的隨機(jī)性,所引起的總產(chǎn)值波動(dòng)可以近似地看成是隨時(shí)間(以年為單位)變化的高斯函數(shù)曲線,這些高斯函數(shù)的線性疊加就能較好地反映我國農(nóng)業(yè)年總產(chǎn)值整體的變化趨勢.基于此,可以構(gòu)建高斯多項(xiàng)函數(shù)來擬合預(yù)測我國農(nóng)業(yè)年總產(chǎn)值的變化趨勢.
高斯單項(xiàng)函數(shù)是指如下所表述的函數(shù):
(1)
其中:α,β,γ是常數(shù).α=2,β=2,γ=4的高斯單項(xiàng)函數(shù)圖形如圖2所示.另外,標(biāo)準(zhǔn)的高斯單項(xiàng)函數(shù)曲線就是正態(tài)分布曲線,該曲線與x軸所圍圖形面積為1(2σ為窗寬).
圖2 高斯單項(xiàng)函數(shù)圖形
高斯多項(xiàng)函數(shù)擬合是指多個(gè)高斯單項(xiàng)函數(shù)在不同位置上按線性疊加來擬合(或逼近)數(shù)據(jù)點(diǎn){(xi,yi)|i=1,2,…,n}所在曲線,并得到一個(gè)多項(xiàng)高斯函數(shù)的線性表達(dá)式.高斯多項(xiàng)擬合(或逼近)函數(shù)的表達(dá)式為
(2)
即用S(xi)逼近yi(i=1,2,…,n).式(2)中:αk,βk,γk(k=1,2,…,m)均為模型參數(shù);S0為模型常數(shù)項(xiàng);m為高斯單項(xiàng)函數(shù)個(gè)數(shù).m值可通過比較模型的判定系數(shù)R2(越接近1越好)、均方根誤差RMSE(越小越好)及殘差平方和SSE(越小越好)等來確定;模型參數(shù)可通過遺傳算法ga和無約束非線性優(yōu)化函數(shù)fminsearch來估值[16].
首先在Matlab命令窗口調(diào)用遺傳算法ga()估算出模型參數(shù)和模型常數(shù)項(xiàng)的初始值X0(向量),再調(diào)用無約束優(yōu)化函數(shù)fminsearch計(jì)算出模型參數(shù)和常數(shù)項(xiàng)的最終值Xfinal(向量).說明一點(diǎn),本文以1978~2015年我國農(nóng)業(yè)年總產(chǎn)值為建模數(shù)據(jù),而用2016年、2017年及2018年的農(nóng)業(yè)年總值檢驗(yàn)?zāi)P?為表述和運(yùn)算方便,將年份1978~2015用自然數(shù)1~38替代,并按如下形式定義適應(yīng)度函數(shù)(目標(biāo)函數(shù)):
(3)
其中,S(i)和Yi分別表示第i年我國農(nóng)業(yè)年總產(chǎn)值模型(式(2))的計(jì)算值和實(shí)際值(見表1).
利用Matlab軟件及建模數(shù)據(jù)編寫適應(yīng)函數(shù)的計(jì)算程序,程序文件命名為Fitness.m(具體代碼在此略去).
設(shè)m=4,則共有13個(gè)待估參數(shù)(含常數(shù)項(xiàng)S0),這13個(gè)待估參數(shù)用向量表示為X0=(α1,β1,γ1,α2,β2,γ2,α3,β3,γ3,α4,β4,γ4,S0),按式X0=ga(@Fitness,13)估算出參數(shù)的一組初始值為X0=(207812.392,40.054,5.044,43835.877,50.036,23.545,187117.698,39.949,4.609,5137.356,19.581,2.893,714.359),將這組初始值導(dǎo)入Xfinal=fminsearch(@Fitness,X0),經(jīng)1855次迭代后輸出的模型參數(shù)最優(yōu)值(理想值)為Xfinal=(205014.719,41.008,5.819,24577.625,39.097,18.698,-169414.515,40.672,5.058,4905.090,19.553,2.814,919.131).
將最終的參數(shù)估計(jì)值(理想值)代入模型(式(2)),得
(4)
說明一點(diǎn),當(dāng)m=1,2,3時(shí),構(gòu)造的模型精度不及m=4的情形.m>4時(shí)模型精度沒有明顯提高,反而有所下降,所以本文只討論m=4的情形.
圖3 模型擬合預(yù)測效果圖
用模型式(4)對我國2016年、2017年、2018年、2019年、2020年及2021年的農(nóng)業(yè)年總產(chǎn)值進(jìn)行預(yù)測,結(jié)果見表2所列.作為對比,表2還給出了文獻(xiàn)[14]的預(yù)測結(jié)果,同時(shí)還給出了多項(xiàng)式模型(見式(5))的預(yù)測結(jié)果.
y=0.000007749x8-0.001265x7+0.08347x6-2.854x5+54.03x4-561.5x3+3015x2-7021x+6228.
(5)
再說明一點(diǎn),在建模(式(5))時(shí)仍采用我國1978~2015年農(nóng)業(yè)年總產(chǎn)值即表1中的38個(gè)數(shù)據(jù).該模型的擬合優(yōu)度值即決定系數(shù)為0.9983,調(diào)整的擬合優(yōu)度值為0.9979,均方根誤差為861.9,擬合效果是極顯著的(優(yōu)于其他次數(shù)的多項(xiàng)式).
表2 模型預(yù)測結(jié)果比較表
由表2可看出,本文模型對2015年后三年即2016年、2017年、2018年及2019年我國農(nóng)業(yè)年總產(chǎn)值的預(yù)測精度(最小絕對誤差22.98億元,最大絕對誤差為151.27億元,平均絕對誤差為95.56億元)明顯高于文獻(xiàn)[13]所給出的ARIMA(1,2,1)模型(最小絕對誤差為186.35,最大絕對誤差為3746.51億元,平均絕對誤差為1411.81億元).而多項(xiàng)式模型出現(xiàn)了過擬合現(xiàn)象,即對建模數(shù)據(jù)擬合效果很好,但對建模以外數(shù)據(jù)預(yù)測效果則很差,不可用.這里指出,ARIMA模型適用于平穩(wěn)且非白噪聲的時(shí)間序列預(yù)測分析,一旦時(shí)間序列非平穩(wěn)時(shí)需要采用差分運(yùn)算轉(zhuǎn)化成平穩(wěn)序列;再者,該模型是一種線性模型,用線性模型處理非線性問題往往會(huì)出現(xiàn)較大誤差.另外,ARIMA模型的參數(shù)估計(jì)通常采用最小二乘法,而最小二乘法估計(jì)易受異常點(diǎn)影響,且要求模型殘差項(xiàng)服從正態(tài)同分布,但此條件難以滿足,所以估算出的模型參數(shù)值遠(yuǎn)離理想值.而高斯多項(xiàng)擬合模型將時(shí)間序列看成是由多種影響因素所產(chǎn)生的波動(dòng)信號(hào)的線性疊加,每個(gè)波動(dòng)信號(hào)可用一個(gè)高斯函數(shù)曲線近似描述,體現(xiàn)了影響因素的隨機(jī)性和確定性,而對模型參數(shù)的估計(jì)先采用遺傳算法(具有的強(qiáng)大的全局搜索能力)尋找出參數(shù)的初始值,然后再將所得初始值導(dǎo)入穩(wěn)定性好的無約束優(yōu)化函數(shù)fminsearch中獲得參數(shù)的理想值,這種參數(shù)估計(jì)法對模型誤差項(xiàng)無任何要求,被實(shí)踐證明是一種行之有效的估算方法.
準(zhǔn)確預(yù)測我國農(nóng)業(yè)年總產(chǎn)值對我國國民經(jīng)濟(jì)發(fā)展,供給側(cè)結(jié)構(gòu)性改革及經(jīng)濟(jì)宏觀調(diào)控具有重大意義.以我國1978年至2015年的農(nóng)業(yè)年總值時(shí)間序列作為建模數(shù)據(jù),利用數(shù)據(jù)適應(yīng)能力和逼近能力超強(qiáng)的高斯多項(xiàng)函數(shù)來擬合建模時(shí)間序列.利用遺傳算法尋找出模型參數(shù)的初始值,再利用無約束優(yōu)化函數(shù)fminsearch獲取模型參數(shù)的最終值(或稱理想值).通過對建模以外數(shù)據(jù)的預(yù)測結(jié)果來看,本文構(gòu)建的高斯多項(xiàng)擬合函數(shù)具有很高的精度,預(yù)測效果優(yōu)于已有的模型(例ARIMA模型和多項(xiàng)模型等),得到的預(yù)測結(jié)果可供決策部門參考.需要指出的是:任何一種模型在作長期預(yù)測時(shí)精確度均會(huì)下降,本文模型也不例外,建議采用動(dòng)態(tài)建模法即剔除早期的建模數(shù)據(jù),增加離預(yù)測時(shí)間近的實(shí)測數(shù)據(jù)(以此作為新建模數(shù)據(jù)),這樣才能防止模型預(yù)測精確下降.