張保國(guó) 任萬(wàn)明 吳兵
(1山東麥港數(shù)據(jù)系統(tǒng)有限公司山東濟(jì)南250100;2山東省現(xiàn)代農(nóng)業(yè)農(nóng)村發(fā)展研究中心山東濟(jì)南250100;3濟(jì)南市農(nóng)業(yè)農(nóng)村信息中心山東濟(jì)南250100)
農(nóng)業(yè)是國(guó)民經(jīng)濟(jì)的基礎(chǔ),農(nóng)產(chǎn)品市場(chǎng)是我國(guó)市場(chǎng)經(jīng)濟(jì)的重要組成部分,農(nóng)產(chǎn)品價(jià)格的波動(dòng)直接關(guān)系農(nóng)民切身利益乃至國(guó)民生活質(zhì)量。農(nóng)產(chǎn)品短期價(jià)格受自然災(zāi)害、重大疫情等的影響,農(nóng)產(chǎn)品短期價(jià)格呈現(xiàn)波動(dòng)大、非平穩(wěn)、非線性的特點(diǎn),這對(duì)農(nóng)民的收入和農(nóng)產(chǎn)品市場(chǎng)的穩(wěn)健發(fā)展等產(chǎn)生不利的影響。因此,對(duì)農(nóng)產(chǎn)品短期價(jià)格進(jìn)行預(yù)測(cè),幫助政府做出相關(guān)決策實(shí)施宏觀調(diào)控、對(duì)農(nóng)業(yè)從業(yè)者進(jìn)行指導(dǎo)、維持農(nóng)產(chǎn)品市場(chǎng)的穩(wěn)健具有重要作用。
根據(jù)原理不同,農(nóng)產(chǎn)品短期價(jià)格預(yù)測(cè)可以分為2種:定性預(yù)測(cè)方法和定量預(yù)測(cè)方法[1]。定量預(yù)測(cè)方法是農(nóng)產(chǎn)品短期價(jià)格預(yù)測(cè)領(lǐng)域的主流方法,又可以分為傳統(tǒng)方法和智能方法兩大類。傳統(tǒng)方法主要指計(jì)量經(jīng)濟(jì)方法,其中比較流行的有差分整合移動(dòng)平均自回歸(Autoregressive Integrated Moving Average,ARIMA)模型[2-3]、自回歸條件異 方 差(Autoregressive Conditional Heteroscedasticity,ARCH)模型[4-5]、線性回歸等。經(jīng)濟(jì)計(jì)量模型普遍對(duì)非線性數(shù)據(jù)預(yù)測(cè)具有局限性,對(duì)數(shù)據(jù)使用有太多限制。智能方法中比較普遍使用的有人工神經(jīng)網(wǎng)絡(luò)[6-8]、遺傳算法[7]等。目前,在農(nóng)產(chǎn)品短期價(jià)格預(yù)測(cè)方面,遺傳算法主要是與其他預(yù)測(cè)方法組成混合模型來(lái)使用,但是遺傳算法中參數(shù)的選擇主要是靠經(jīng)驗(yàn)來(lái)選擇,而參數(shù)的人為選擇很容易對(duì)預(yù)測(cè)結(jié)果造成不利影響。
總體來(lái)看,農(nóng)產(chǎn)品價(jià)格的影響因素大概可以分為2種:內(nèi)部因素和外部因素。內(nèi)部因素主要是人們按照以往的價(jià)格來(lái)定價(jià),這使得農(nóng)產(chǎn)品價(jià)格序列表現(xiàn)為歷史相關(guān)性;而外部因素則由國(guó)民經(jīng)濟(jì)體中其他的市場(chǎng)變動(dòng)、自然災(zāi)害、重大疫情等情況引起,這使得農(nóng)產(chǎn)品短期價(jià)格序列表現(xiàn)為波動(dòng)大、非平穩(wěn)、非線性的特點(diǎn)。
劉峰等[9]利用農(nóng)產(chǎn)品價(jià)格時(shí)間序列的當(dāng)前值和過(guò)去值準(zhǔn)確預(yù)報(bào)未來(lái)值,以白菜價(jià)格為例,構(gòu)建了非平穩(wěn)時(shí)間序列ARIMA(p,d,q)。姚霞等[10]以南京市青椒價(jià)格為例,構(gòu)建了非平穩(wěn)時(shí)間序列ARIMA(p,d,q)模型,描述并預(yù)測(cè)時(shí)鮮農(nóng)產(chǎn)品價(jià)格的動(dòng)態(tài)變化。但是ARIMA模型過(guò)于依賴數(shù)據(jù)的穩(wěn)定性,它本質(zhì)上只能捕捉線性關(guān)系,不能捕捉非線性關(guān)系,在面對(duì)非線性時(shí)間序列時(shí),ARIMA模型則差強(qiáng)人意。
馬孝斌等[11]對(duì)影響生豬市場(chǎng)價(jià)格的幾個(gè)關(guān)鍵因素進(jìn)行關(guān)聯(lián)分析,在此基礎(chǔ)上建立了生豬市場(chǎng)價(jià)格預(yù)測(cè)的向量自回歸模型,并運(yùn)用此模型對(duì)實(shí)際數(shù)據(jù)進(jìn)行了預(yù)測(cè)和分析。蘇博等[12]在對(duì)中國(guó)糧價(jià)的研究中,運(yùn)用回歸分析模型分析了影響中國(guó)糧價(jià)運(yùn)行的影響因子,并結(jié)合中國(guó)糧食價(jià)格定價(jià)和作用機(jī)制在不同時(shí)期的發(fā)展變化,運(yùn)用逐步回歸方法構(gòu)造出了糧價(jià)預(yù)測(cè)模型。但是回歸分析對(duì)數(shù)據(jù)的異常值十分敏感,并且難以對(duì)數(shù)據(jù)的異常值和大幅波動(dòng)進(jìn)行處理。
羅萬(wàn)純等[13]利用GARCH、GARCH-M、TARCH和EGARCH等ARCH類模型對(duì)糧食價(jià)格的波動(dòng)、波動(dòng)的非對(duì)稱性進(jìn)行了分析,并提出了對(duì)糧食價(jià)格預(yù)測(cè)的建議。董曉霞等[8]使用雙指數(shù)平滑、Holt-W inters無(wú)季節(jié)性模型和ARCH模型對(duì)我國(guó)鮮奶零售價(jià)格短期預(yù)測(cè)進(jìn)行了應(yīng)用模擬,結(jié)果顯示,ARCH模型預(yù)測(cè)結(jié)果精確度最高。但是ARCH模型對(duì)參數(shù)的限制極其嚴(yán)格,而且ARCH模型會(huì)過(guò)高估計(jì)抖動(dòng)率。
牛東來(lái)等[14]以北京市2015—2017年幾個(gè)街道的雞蛋價(jià)格為數(shù)據(jù)集,以過(guò)去5 d的價(jià)格作為輸入,使用基于Levenberg-Marqardt的BP算法,有效克服了標(biāo)準(zhǔn)BP算法收斂速度緩慢、過(guò)擬合等不良現(xiàn)象,總體上對(duì)檢驗(yàn)樣本的數(shù)據(jù)具有很好的擬合效果。張津等[15]利用神經(jīng)網(wǎng)絡(luò)的很強(qiáng)的非線性、自組織、自學(xué)習(xí)能力,選用基于時(shí)間序列的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法,對(duì)豬肉的價(jià)格進(jìn)行預(yù)測(cè)。但是普通神經(jīng)網(wǎng)絡(luò)雖然可以有效的擬合數(shù)據(jù),但是它并沒(méi)有對(duì)起伏尖銳的大幅的、不正常的波動(dòng)數(shù)據(jù)進(jìn)行處理,在這方面它存在著不足。
易利容等[16]提出了一種基于多變量分析的LSTM時(shí)序預(yù)測(cè)方法,該方法利用數(shù)據(jù)的遠(yuǎn)距離信息和多變量相關(guān)性,有效地提高了工業(yè)傳感器時(shí)序數(shù)據(jù)預(yù)測(cè)的準(zhǔn)確性。但是,農(nóng)產(chǎn)品短期價(jià)格波動(dòng)頻繁,數(shù)據(jù)異常值和大幅波動(dòng)對(duì)預(yù)測(cè)精度影響極大,該模型難以對(duì)其進(jìn)行處理。
Kyunghyun等[17]提出了區(qū)別于LSTM的另一種門(mén)控循環(huán)單元(GRU)的門(mén)控機(jī)制,目標(biāo)是讓每個(gè)經(jīng)常性單位自適應(yīng)捕捉不同時(shí)間尺度的依賴關(guān)系,Chung等[18]也對(duì)GRU進(jìn)行了具體的研究。但該思想也難以結(jié)合數(shù)據(jù)異常波動(dòng)和大幅波動(dòng)來(lái)對(duì)數(shù)據(jù)進(jìn)行處理。
農(nóng)產(chǎn)品的價(jià)格受到內(nèi)部外部多方面的影響,呈現(xiàn)出波動(dòng)大、非線性、非平穩(wěn)的特點(diǎn),而劇烈起伏的波動(dòng)往往對(duì)預(yù)測(cè)結(jié)果產(chǎn)生不好的影響,但是目前現(xiàn)有的方法難以對(duì)起伏尖銳的、大幅的、不正常的波動(dòng)數(shù)據(jù)進(jìn)行處理。對(duì)此,本文針對(duì)農(nóng)產(chǎn)品價(jià)格的歷史相關(guān)性,使用LSTM來(lái)解決,其次,針對(duì)由自然災(zāi)害等引起的大幅波動(dòng),可以使用價(jià)格波動(dòng)數(shù)據(jù)來(lái)降低其影響。因此,考慮對(duì)標(biāo)準(zhǔn)的LSTM模型進(jìn)行改進(jìn),提出一種新的W-LSTM模型,輸入價(jià)格數(shù)據(jù)和波動(dòng)數(shù)據(jù)來(lái)訓(xùn)練模型,來(lái)減少異常價(jià)格波動(dòng)和大幅波動(dòng)對(duì)預(yù)測(cè)結(jié)果的影響,實(shí)現(xiàn)對(duì)農(nóng)產(chǎn)品短期價(jià)格的精準(zhǔn)預(yù)測(cè)。
由于農(nóng)產(chǎn)品的價(jià)格受到歷史價(jià)格及其價(jià)格波動(dòng)的影響,因此,進(jìn)行如下定義:
定義t為歷史相關(guān)天數(shù):xi表示第i天的價(jià)格數(shù)據(jù),則輸入數(shù)據(jù)為Xi={x1,x2……xt},X2={x2,x3……xt+1},以此類推,直到最后一天;價(jià)格波動(dòng)使用公式Δpi=pi-pi-1來(lái)計(jì)算獲得,當(dāng)i=1時(shí),假定前一天的數(shù)據(jù)為0,則Δw1=w1,價(jià)格波動(dòng)的輸入格式為ΔPi={Δp1,Δp2……Δpt},ΔP2={Δp2,Δp3,……Δpt+1},以此類推,直到最后一天。
LSTM模型的輸入包括歷史價(jià)格數(shù)據(jù)和歷史價(jià)格波動(dòng)數(shù)據(jù),即使用前t天的數(shù)據(jù)作為輸入來(lái)預(yù)測(cè)t+1天的價(jià)格。
LSTM是一種特殊的RNN結(jié)構(gòu),是由Hochreiter等[19]在1997年提出的,用于決定何時(shí)以及如何更新RNN的隱藏狀態(tài),由于其很獨(dú)特的設(shè)計(jì)結(jié)構(gòu),LSTM可以很好的解決梯度消失問(wèn)題,它特別適合處理時(shí)序問(wèn)題。標(biāo)準(zhǔn)的LSTM單元包括遺忘、輸入、輸出門(mén)。
W-LSTM在LSTM的基礎(chǔ)上,將其輸入信息進(jìn)行了相應(yīng)的處理,將歷史價(jià)格數(shù)據(jù)和價(jià)格波動(dòng)數(shù)據(jù)進(jìn)行相應(yīng)的處理作為數(shù)據(jù)的輸入,并且它還包括前置門(mén)、遺忘門(mén)和輸出門(mén)(圖1),因此,它相對(duì)標(biāo)準(zhǔn)LSTM能處理更多的信息,在本研究中它的輸入包含歷史價(jià)格信息和價(jià)格波動(dòng)信息。
圖1 W-LSTM結(jié)構(gòu)圖
前置門(mén)(Front gate),將價(jià)格信息和價(jià)格波動(dòng)信息進(jìn)行結(jié)合形成組合信息:
其中,Xi是價(jià)格信息用來(lái)分析歷史價(jià)格變動(dòng)規(guī)律,Pi是由價(jià)格信息中提取出的價(jià)格波動(dòng)信息單獨(dú)作為輸入,來(lái)強(qiáng)化模型對(duì)價(jià)格波動(dòng)的處理,{Wx,Wp,bx,bp}是網(wǎng)絡(luò)參數(shù)。tanh激活函數(shù)的輸出結(jié)果在[-1,1]之間,輸出值越靠近-1,代表負(fù)波動(dòng)越大;輸出值越靠近1,代表正波動(dòng)越大。數(shù)據(jù)波動(dòng)越大,它對(duì)W-LSTM模型的訓(xùn)練影響就越大,相反,當(dāng)波動(dòng)為0時(shí),輸入的波動(dòng)數(shù)據(jù)便對(duì)模型的訓(xùn)練無(wú)影響,此時(shí),W-LSTM模型便相當(dāng)于標(biāo)準(zhǔn)LSTM。
遺忘門(mén)(Forget gate),是控制是否“遺忘”的歷史狀態(tài)信息。
其中,ht-1是上一序列的隱藏狀態(tài),sk是本次的輸入序列。定義Wf為ht-1的偏重矩陣,Uf為sk的偏重矩陣,bf為偏置。
輸入門(mén)(Input gate)負(fù)責(zé)將當(dāng)前輸入補(bǔ)充到最新的“記憶”中,它包含兩個(gè)部分:第一,Sigmoid層輸出it;第二,一個(gè)Tanh層創(chuàng)建一個(gè)新的候選值向量,會(huì)被加入到狀態(tài)中。定義{Wt,Ut,bt}{Wa,Ua,ba}為輸入門(mén)的網(wǎng)絡(luò)參數(shù),則
然后更新細(xì)胞狀態(tài):
輸出門(mén)(Output gate)控制著有多少“記憶”可以用于下一層網(wǎng)絡(luò)的更新中,定義{Wo,Uo,bo}為輸出門(mén)的網(wǎng)絡(luò)參數(shù),輸出門(mén)的計(jì)算可用公式6表示:
在計(jì)算得出Ot后,還需要使用Tanh函數(shù)把記憶值壓制到[-1,1],所以最終輸出門(mén)的輸出公式為:
最后一個(gè)W-LSTM層輸出的歷史信息經(jīng)過(guò)一個(gè)預(yù)測(cè)層輸出結(jié)果y:
W-LSTM的訓(xùn)練過(guò)程如下:
按照前向計(jì)算公式(1)~(8)計(jì)算W-LSTM細(xì)胞的輸出值。
按照時(shí)間和網(wǎng)絡(luò)層級(jí)2個(gè)方向反向傳播,計(jì)算誤差項(xiàng)。
根據(jù)相應(yīng)的誤差項(xiàng),計(jì)算每個(gè)權(quán)重的梯度,更新權(quán)重。
重復(fù)(1)~(3),得到一組最優(yōu)的參數(shù),并保留下來(lái)。
為了防止訓(xùn)練過(guò)程中過(guò)擬合,本研究使用Dropout正則化技術(shù)[20],它在2014年由Hinton教授的團(tuán)隊(duì)提出。Dropout提供了一種巧妙的方式,通過(guò)減少權(quán)重連接來(lái)增加網(wǎng)絡(luò)模型的泛化能力。
本節(jié)將通過(guò)實(shí)驗(yàn)評(píng)估提出的W-LSTM模型。實(shí)驗(yàn)環(huán)境為:INTEL Corei5 CPU,2.80GHz;4G內(nèi)存。實(shí)驗(yàn)數(shù)據(jù)為天津市2016年7月到2019年1月每天的蔬菜價(jià)格數(shù)據(jù)。每個(gè)對(duì)比實(shí)驗(yàn)情況均運(yùn)行10遍,取平均值。
設(shè)置了3個(gè)對(duì)比模型:
(1)W-LSTM模型,輸入歷史價(jià)格信息與價(jià)格波動(dòng)信息訓(xùn)練模型,進(jìn)行預(yù)測(cè)。
(2)LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),只將歷史價(jià)格信息作為輸入,使用前n天的價(jià)格信息預(yù)測(cè)第n+1天的農(nóng)產(chǎn)品價(jià)格。
(3)ARIMA模型,將農(nóng)產(chǎn)品價(jià)格隨著時(shí)間推移而生成的數(shù)據(jù)序列視為一個(gè)隨機(jī)序列,用一定的數(shù)學(xué)模型來(lái)近似的描述這個(gè)序列。
同時(shí),為了檢驗(yàn)W-LSTM模型的普適性,使用辣椒、大蔥、韭菜和西紅柿4種價(jià)格數(shù)據(jù)進(jìn)行實(shí)驗(yàn)來(lái)對(duì)3種模型進(jìn)行比較。
本小結(jié)分別使用W-LSTM模型、LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)和ARIMA模型來(lái)進(jìn)行實(shí)驗(yàn),對(duì)預(yù)測(cè)結(jié)果的準(zhǔn)確性判定公式使用的是均方誤差(MSE)和決定系數(shù)(R2)。
MSE和R2是評(píng)價(jià)模型準(zhǔn)確率的常用指標(biāo),MSE是反映估計(jì)量與被估計(jì)量之間差異程度的一種度量,MSE越小代表著模型準(zhǔn)確率越高;R2越大,自變量對(duì)因變量的解釋程度越高,自變量引起的變動(dòng)占總變動(dòng)的百分比高,觀察點(diǎn)在回歸直線附近越密集,代表模型擬合程度越高。其中n代表總樣本,Y_actual表示真實(shí)數(shù)據(jù),Y_predict代表預(yù)測(cè)結(jié)果,Y_mean代表真實(shí)數(shù)據(jù)平均值。
通過(guò)對(duì)蒜苗價(jià)格序列進(jìn)行建模預(yù)測(cè),圖2、3分別是使用W-LSTM模型和ARIMA模型得到的預(yù)測(cè)結(jié)果與實(shí)際數(shù)據(jù)的比較。很明顯,本研究提出的W-LSTM模型預(yù)測(cè)結(jié)果更理想。
圖2 W-LSTM預(yù)測(cè)結(jié)果
通過(guò)觀察圖3數(shù)據(jù)發(fā)現(xiàn),ARIMA模型的實(shí)驗(yàn)結(jié)果明顯與其它模型有較大的偏差,而R2甚至小于0,這代表預(yù)測(cè)結(jié)果與原數(shù)據(jù)毫無(wú)關(guān)系。ARIMA模型在處理平穩(wěn)時(shí)間序列時(shí)表現(xiàn)良好,當(dāng)數(shù)據(jù)不平穩(wěn)時(shí),需要通過(guò)一定的處理方式得到平穩(wěn)序列,而本實(shí)驗(yàn)使用的蒜苗價(jià)格數(shù)據(jù)具有連續(xù)不變性和突變性,即在一段時(shí)間內(nèi)連續(xù)不變,然后突然垂直變化,這種特性導(dǎo)致數(shù)據(jù)在差分的時(shí)候,損失了太多信息,導(dǎo)致ARIMA模型預(yù)測(cè)效果極其不好,偏差極大。
圖3 ARIMA模型預(yù)測(cè)結(jié)果
訓(xùn)練結(jié)束后,輸入數(shù)據(jù)進(jìn)行預(yù)測(cè),W-LSTM模型和LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的MSE隨著預(yù)測(cè)的進(jìn)行,變化如圖4所示。W-LSTM模型的MSE為0.032,LM-BP模型的MSE為0.059,ARIMA模型的MSE為0.923。W-LSTM模型的MSE比其它模型都要小,模型準(zhǔn)確率最高;而R2比其它模型大,代表W-LSTM模型的擬合程度相對(duì)其它模型來(lái)說(shuō)更高??傮w來(lái)說(shuō),兩個(gè)模型的MSE變化趨勢(shì)大致相同,WLSTM模型的MSE總體上小于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的MSE。
圖4 W-LSTM模型和LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)的MSE變化
輸入數(shù)據(jù)在總數(shù)據(jù)的三分之一處出現(xiàn)了大幅的波動(dòng),而此時(shí)兩模型的MSE均出現(xiàn)了短暫的增長(zhǎng),而W-LSTM模型的MSE波動(dòng)變化要小于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),這說(shuō)明W-LSTM模型對(duì)處理數(shù)據(jù)的大幅波動(dòng)有著更好的效果。
為驗(yàn)證W-LSTM模型的普適性,又使用辣椒、大蔥、韭菜和西紅柿4種價(jià)格數(shù)據(jù)來(lái)做為輸入對(duì)三種模型進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1、2。表中展示了3種模型分別在四種蔬菜上的預(yù)測(cè)結(jié)果評(píng)價(jià)指數(shù),可以看出,W-LSTM比其他模型擁有更好的效果,同時(shí)說(shuō)明了W-LSTM模型具有良好的普適性。
通過(guò)以上實(shí)驗(yàn)可以看出,W-LSTM模型準(zhǔn)確率更高,擬合程度更好,同時(shí)具有良好的普適性。綜合來(lái)看,針對(duì)農(nóng)產(chǎn)品短期價(jià)格預(yù)測(cè)問(wèn)題,WLSTM是一個(gè)很好的預(yù)測(cè)模型。
表1 MSE對(duì)比
表2 R 2對(duì)比
農(nóng)產(chǎn)品價(jià)格與農(nóng)民收入息息相關(guān),也是國(guó)家決定相關(guān)政策的重要因素,對(duì)農(nóng)產(chǎn)品價(jià)格進(jìn)行精準(zhǔn)預(yù)測(cè)對(duì)解決農(nóng)產(chǎn)品供需問(wèn)題,促進(jìn)農(nóng)業(yè)生產(chǎn)轉(zhuǎn)型、和市場(chǎng)經(jīng)濟(jì)持續(xù)健康發(fā)展具有重要意義。本文針對(duì)農(nóng)產(chǎn)品短期價(jià)格預(yù)測(cè)提出了一個(gè)W-LSTM預(yù)測(cè)模型,以歷史價(jià)格信息與價(jià)格波動(dòng)信息作為輸入對(duì)模型進(jìn)行訓(xùn)練,實(shí)現(xiàn)對(duì)農(nóng)產(chǎn)品短期價(jià)格的精準(zhǔn)預(yù)測(cè)。首先,將W-LSTM對(duì)波動(dòng)較大、不平穩(wěn)的數(shù)據(jù)進(jìn)行處理,實(shí)驗(yàn)結(jié)果表明,W-LSTM對(duì)于該類數(shù)據(jù)具有更高的準(zhǔn)確率;其次,將W-LSTM用于其他的農(nóng)作物產(chǎn)品,實(shí)驗(yàn)表明,該模型比以往通用預(yù)測(cè)模型在數(shù)據(jù)上有更好的普適性。
在未來(lái),計(jì)劃將此模型應(yīng)用到其他具有相同特征的預(yù)測(cè)問(wèn)題,讓波動(dòng)較大、不平穩(wěn)不再成為預(yù)測(cè)問(wèn)題上的一大障礙;同時(shí),提高模型的適應(yīng)性,讓模型可以處理更多通用問(wèn)題,例如:天氣信息、重大疫情等相關(guān)信息的處理。