曹新悅,賀春林,崔夢(mèng)天
(1.西南民族大學(xué)計(jì)算機(jī)系統(tǒng)國(guó)家民委重點(diǎn)實(shí)驗(yàn)室,四川 成都610041;2.西華師范大學(xué)計(jì)算機(jī)學(xué)院,四川 南充637009)
蔬菜價(jià)格的波動(dòng)牽連生產(chǎn)者和消費(fèi)者,關(guān)乎社會(huì)民生問(wèn)題[1].農(nóng)產(chǎn)品價(jià)格預(yù)測(cè)屬于經(jīng)濟(jì)預(yù)測(cè)范疇,目前已有的經(jīng)濟(jì)預(yù)測(cè)方法有幾百種,主要分為定性和定量?jī)深?lèi)[2],定量方法成為預(yù)測(cè)者的首選,定性預(yù)測(cè)法大多作為定量研究的補(bǔ)充方法.定性預(yù)測(cè)主要依靠自身的經(jīng)驗(yàn)去對(duì)未來(lái)事物的發(fā)展趨勢(shì)進(jìn)行描述,預(yù)測(cè)成本低,但缺乏嚴(yán)謹(jǐn)?shù)目茖W(xué)數(shù)據(jù)支撐,比如:個(gè)人主觀、德?tīng)柗品ǖ?定量預(yù)測(cè)要求大量的經(jīng)濟(jì)數(shù)據(jù),并發(fā)現(xiàn)數(shù)據(jù)變量之間的相互關(guān)系,以此來(lái)建立相應(yīng)的數(shù)學(xué)統(tǒng)計(jì)模型,使用模型進(jìn)行預(yù)測(cè),其預(yù)測(cè)方法可分為傳統(tǒng)預(yù)測(cè)和智能預(yù)測(cè)[2].傳統(tǒng)預(yù)測(cè)常用的有時(shí)間序列法、ARIMA模型等;智能預(yù)測(cè)常用的有人工神經(jīng)網(wǎng)絡(luò)、GM模型等.傳統(tǒng)預(yù)測(cè)法在處理線(xiàn)性數(shù)據(jù)方面能力較強(qiáng),但是在突發(fā)影響因素的情況下模型預(yù)測(cè)不理想.例如滕永平使用X12季節(jié)調(diào)整法和ARIMA模型深度研究未來(lái)一段時(shí)間我國(guó)玉米價(jià)格變化情況[3],結(jié)果表明短期預(yù)測(cè)精度較高,受隨機(jī)因素影響對(duì)中長(zhǎng)期預(yù)測(cè)較差.智能預(yù)測(cè)法雖然具有較強(qiáng)的非線(xiàn)性數(shù)據(jù)挖掘能力,但是處理小樣本數(shù)據(jù)是極容易產(chǎn)生過(guò)擬合、泛化能力弱等現(xiàn)象.彭紅星等比較LSTM、BP、ARIMA三種模型對(duì)蔬菜價(jià)格短期預(yù)測(cè)比較,結(jié)果表明短期預(yù)測(cè)ARIMA模型精度最高,但是性能不如其它兩者穩(wěn)定[4];Yoo TaeWoong,Oh IlSeok[5]提出了季節(jié)性長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型(SLSTM)對(duì)農(nóng)產(chǎn)品的銷(xiāo)售量進(jìn)行時(shí)間序列預(yù)測(cè),研究發(fā)現(xiàn)該模型性能和預(yù)測(cè)精度都明顯優(yōu)于傳統(tǒng)ARIMA和標(biāo)準(zhǔn)LSTM.Luyao Wang[6]等在研究農(nóng)產(chǎn)品價(jià)格預(yù)測(cè)方法的進(jìn)展和未來(lái)發(fā)展趨勢(shì)中表明,季節(jié)調(diào)整可用于研究農(nóng)產(chǎn)品價(jià)格季節(jié)性預(yù)測(cè)任務(wù),在未來(lái)研究發(fā)展中使用混合優(yōu)化算法成為提高農(nóng)產(chǎn)品預(yù)測(cè)性能的主流.
因此,本文以成都市市場(chǎng)大宗蔬菜萵筍為例進(jìn)行研究分析,本文建立X12-ARIMA-LSTM組合模型,其中使用X12季節(jié)調(diào)整算法剔除蔬菜價(jià)格季節(jié)性特征,用經(jīng)典的ARIMA模型揭示季節(jié)調(diào)整后蔬菜價(jià)格時(shí)間序列變動(dòng)的線(xiàn)性規(guī)律,最后用具有時(shí)間序列特性的神經(jīng)網(wǎng)絡(luò)LSTM對(duì)經(jīng)過(guò)ARIMA預(yù)測(cè)的殘差序列進(jìn)行預(yù)測(cè),挖掘蔬菜價(jià)格序列的非線(xiàn)性變化規(guī)律,組合模型的預(yù)測(cè)值等于這兩部分的預(yù)測(cè)值的和[7].
本文研究的對(duì)象蔬菜價(jià)格數(shù)據(jù)屬于經(jīng)濟(jì)時(shí)間序列的范疇,對(duì)其分解主要包括季節(jié)調(diào)整和趨勢(shì)分解,使用方法為Census X12和H-P濾波分析法.
使用Census X12[8]對(duì)經(jīng)濟(jì)時(shí)間序列數(shù)據(jù)進(jìn)行研究,提取出趨勢(shì)循環(huán)序列,去除季節(jié)性和不規(guī)則要素,能夠達(dá)到客觀分析出隨著時(shí)間的發(fā)展經(jīng)濟(jì)指標(biāo)的序列數(shù)據(jù)的發(fā)展趨勢(shì)和波動(dòng)特征,并依據(jù)分析的結(jié)果判斷出經(jīng)濟(jì)時(shí)間數(shù)據(jù)的上漲和下跌波動(dòng)是否受其它因素的影響,還是單純的受季節(jié)性的變化導(dǎo)致.
H-P濾波[9]是將季節(jié)調(diào)整后的趨勢(shì)循環(huán)周期序列分解,則:
其中:Y T t是趨勢(shì)成分;Y C t波動(dòng)成分.
以成都市大宗蔬菜月度平均市場(chǎng)批發(fā)價(jià)格作為研究對(duì)象,數(shù)據(jù)來(lái)源于中國(guó)四川省蔬菜價(jià)格數(shù)據(jù)網(wǎng)成都分區(qū),中心批發(fā)市場(chǎng)和龍泉聚合市場(chǎng).選取的時(shí)間范圍從2014年1月到2019年12月.這六年的數(shù)據(jù)作為研究數(shù)據(jù),對(duì)實(shí)驗(yàn)中的缺失數(shù)據(jù)使用線(xiàn)性填值法填充符合實(shí)際的需求.
為明確成都市萵筍價(jià)格波動(dòng)規(guī)律,深入挖掘成都市市場(chǎng)萵筍價(jià)格整體發(fā)展變化趨勢(shì)和推動(dòng)價(jià)格起伏波動(dòng)的原因.借助Eviews 8.0平臺(tái),采用X12模型和H-P濾波算法,對(duì)成都市萵筍批發(fā)價(jià)格進(jìn)行定量分析,實(shí)驗(yàn)分析結(jié)果如下:
1.3.1 價(jià)格整體上漲緩慢,年內(nèi)波動(dòng)幅度大
圖1是經(jīng)過(guò)季節(jié)調(diào)整后的萵筍價(jià)格時(shí)間序列圖,用此處的X_SA表示.從圖中可以看出2014~2019年,成都市大宗蔬菜產(chǎn)品萵筍整體的價(jià)格呈上漲趨勢(shì),但是上漲的幅度較小,但是年內(nèi)價(jià)格幅度波動(dòng)很大,甚至最大年內(nèi)幅度差有接近四倍.據(jù)調(diào)研推動(dòng)蔬菜價(jià)格總體呈上漲趨勢(shì)的主要原因有:第一,農(nóng)業(yè)生產(chǎn)成本增加(包括農(nóng)業(yè)從事人員工資的上漲),2014年到2019年農(nóng)業(yè)生產(chǎn)資料價(jià)格指數(shù)增加了6.9%;第二,近幾年國(guó)家大力發(fā)展西部地區(qū),成都市經(jīng)濟(jì)持續(xù)擴(kuò)展,最近6年來(lái)成都市居民價(jià)格消費(fèi)指數(shù)(上年=100)分別是101.3%、101.1%、102.2%、102%、101.4%、103.1%,這必然推動(dòng)蔬菜價(jià)格呈上漲的趨勢(shì).
圖1 萵筍價(jià)格季節(jié)調(diào)整Fig.1 Seasonal adjustment of lettuce price
1.3.2 具有明顯季節(jié)波動(dòng)特征
從圖2中可知成都市的萵筍價(jià)格具有明顯的季節(jié)波動(dòng)性,年度間季節(jié)波動(dòng)較為平穩(wěn),未出現(xiàn)擴(kuò)大或縮小的趨勢(shì).從圖中可以看到每年有兩次峰值,分別是春節(jié)所在的2月和學(xué)生暑假對(duì)應(yīng)的8月到9月,大量的國(guó)內(nèi)外游客來(lái)到這個(gè)城市,蔬菜的需求自然會(huì)隨之上升,價(jià)格也會(huì)達(dá)到頂峰.一次低谷是由于5月份左右是萵筍成熟的季節(jié),大量蔬菜上市,會(huì)產(chǎn)生蔬菜最低價(jià).12月份造成價(jià)格低谷的原因是外地菜的沖擊以及本地其它蔬菜品種上市多造成市場(chǎng)萵筍價(jià)格急劇下降.
圖2 萵筍價(jià)格季節(jié)性波動(dòng)Fig.2 Seasonal fluctuation of lettuce price
1.3.3 受自然災(zāi)害等隨機(jī)因素影響大
從圖3季節(jié)調(diào)整后的萵筍價(jià)格X_IR波動(dòng)序列可知,2014~2016年成都市市場(chǎng)萵筍價(jià)格波動(dòng)頻繁,且上下跨幅很大,2017~2019年波動(dòng)幅度相對(duì)較小,據(jù)統(tǒng)計(jì)調(diào)研,對(duì)于成都市蔬菜來(lái)說(shuō),受隨機(jī)因素沖擊波動(dòng)大的時(shí)期都與氣象、疫情、自然災(zāi)害等突發(fā)事件有關(guān),因?yàn)檫@些因素直接關(guān)乎蔬菜的上市量,牽連著市場(chǎng)蔬菜供需平衡問(wèn)題.例如2014年該省經(jīng)歷了泥石流、洪澇等自然災(zāi)害,全年自然災(zāi)害率達(dá)到最近幾年最高值,該年蔬菜上市量驟降.
圖3 萵筍價(jià)格不規(guī)則變化Fig.3 The price of lettuce changes irregularly
1.3.4 價(jià)格波動(dòng)具有周期循環(huán)性
剔除了不規(guī)則因子和季節(jié)因子后,將循環(huán)趨勢(shì)序列使用H-P濾波分析法分解為趨勢(shì)項(xiàng)(T)和循環(huán)項(xiàng)(C).萵筍價(jià)格具有長(zhǎng)期線(xiàn)性上漲的趨勢(shì)(圖4所示),上漲的趨勢(shì)較為緩慢,同時(shí)可以明顯看到萵筍價(jià)格變化具有周期性,2014年1月至2019年12月之間有兩個(gè)周期(見(jiàn)表1),波長(zhǎng)大致為兩年半,具有兩漲兩跌(一大漲一小漲)的特點(diǎn).
表1 萵筍價(jià)格波動(dòng)周期Table 1 lettuce price fluctuation cycle
圖4 萵筍價(jià)格趨勢(shì)循環(huán)變化Fig.4 Cyclic change of lettuce price trend
在短期時(shí)間序列預(yù)測(cè)模型中,計(jì)量統(tǒng)計(jì)方法X12-ARIMA[10]是非常經(jīng)典的一種,具有較高的預(yù)測(cè)精度,但是它有一個(gè)很大的缺點(diǎn),只適用于解決線(xiàn)性問(wèn)題,當(dāng)需要處理的問(wèn)題不是完全線(xiàn)性關(guān)系時(shí),將會(huì)出現(xiàn)較大偏差.LSTM[11-13]神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對(duì)時(shí)序性、非線(xiàn)性數(shù)據(jù)進(jìn)行長(zhǎng)期記憶循環(huán)網(wǎng)絡(luò)功能研究,但是面對(duì)小樣本數(shù)據(jù)易出現(xiàn)泛化能力弱,過(guò)擬合等現(xiàn)象,對(duì)數(shù)據(jù)集的要求比較高,模型結(jié)構(gòu)復(fù)雜[14-15].本文研究的成都市市場(chǎng)萵筍月平均價(jià)格數(shù)據(jù)是小樣本集,受不規(guī)則沖擊影響大,具有季節(jié)性、非平穩(wěn)等特征,采用單一模型預(yù)測(cè)誤差大,使用兩者組合模型,達(dá)到優(yōu)勢(shì)互補(bǔ)的效果.
2.2.1 X12-ARIMA建模的步驟
首先,使用X12季節(jié)調(diào)整模型對(duì)成都市萵筍價(jià)格原始序列Y(t)進(jìn)行分解,得到序列數(shù)據(jù)Y(t_sa),然后ARIMA對(duì)Y(t_sa)建模.建模的關(guān)鍵步驟有:分析序列的ADF值、確定p、d、q的值、估計(jì)AR和MA的相關(guān)系數(shù)、檢驗(yàn)白噪聲序列是否存在相關(guān)性、完成預(yù)測(cè)模型[16].
2.2.2 序列平穩(wěn)性檢驗(yàn)
成都市萵筍價(jià)格時(shí)間序列為Y(t),經(jīng)X12季節(jié)調(diào)整后的價(jià)格序列為Y(t_sa),使用ADF檢驗(yàn)法對(duì)Y(t_sa)進(jìn)行單位根檢驗(yàn),進(jìn)一步判斷其平穩(wěn)性,如下表2所示,季節(jié)調(diào)整后的萵筍價(jià)格序列在百分之一、百分之五、百分之十的條件下都是平穩(wěn)的,因此,無(wú)需對(duì)季節(jié)調(diào)整后成都市萵筍價(jià)格序列進(jìn)行差分處理,可以直接作為輸入數(shù)據(jù)進(jìn)行ARIMA(p,d,q)模型建模,d=0.
表2 季節(jié)調(diào)整后的ADF檢驗(yàn)Table 2 ADF test after seasonal adjustment
2.2.3 ARIMA模型的建立
建立ARIMA(p,d,q)模型需要確定三個(gè)參數(shù),由上面ADF檢驗(yàn)可知,序列平穩(wěn)d=0,偏自相關(guān)系數(shù)p和自相關(guān)系數(shù)q確定根據(jù)實(shí)驗(yàn)的自相關(guān)系數(shù)圖結(jié)果以及參考赤池信息準(zhǔn)則(AIC)較小為優(yōu)準(zhǔn)則進(jìn)行確定[8],使用檢驗(yàn)統(tǒng)計(jì)量D.W.對(duì)殘差序列進(jìn)行檢驗(yàn).如下表3所示實(shí)驗(yàn)結(jié)果數(shù)據(jù)可知,自相關(guān)滯后一階、偏自相關(guān)滯后二階,AIC準(zhǔn)則取值最小,殘差序列檢驗(yàn)統(tǒng)計(jì)量D.W.接近2,說(shuō)明創(chuàng)建的模型擬合度最高、性能最優(yōu).
由表3的實(shí)驗(yàn)參數(shù)數(shù)據(jù),可寫(xiě)出X12-ARIMA(其中p=1,d=0,q=2)的預(yù)測(cè)模型公式:
表3 檢驗(yàn)結(jié)果Table 3 Test results
該模型對(duì)成都市市場(chǎng)萵筍價(jià)格擬合及預(yù)測(cè)如圖 5所示(萵筍價(jià)格:元/kg).
圖5 X12-ARIMA萵筍價(jià)格擬合圖Fig.5 Price fitting diagram of X12-ARIMA lettuce
2.3.1 數(shù)據(jù)集處理
將收集的成都市市場(chǎng)萵筍月平均價(jià)格按日期排好序,訓(xùn)練集和測(cè)試集的選取按照蔬菜價(jià)格時(shí)間序列數(shù)據(jù)2:1的要求分配.
2.3.2 訓(xùn)練模型及參數(shù)設(shè)置
采用karas庫(kù)構(gòu)建模型,由于實(shí)驗(yàn)數(shù)據(jù)集較小,經(jīng)過(guò)不斷的實(shí)驗(yàn)調(diào)參,最終確定較為合適的實(shí)驗(yàn)結(jié)構(gòu)情況為:隱藏層為三層,其中每層神經(jīng)元的個(gè)數(shù)為128個(gè),使用Relu函數(shù)對(duì)每個(gè)網(wǎng)絡(luò)進(jìn)行非線(xiàn)性處理,輸入維度和輸出維度都為一;使用Adam優(yōu)化函數(shù),MSE作為模型的損失函數(shù),選擇Dropout為0.01訓(xùn)練迭代100次,batch_size為18.如圖6所示該模型對(duì)2014年到2019年市場(chǎng)萵筍價(jià)格的擬合及未來(lái)半年的預(yù)測(cè),整體預(yù)測(cè)趨勢(shì)與真實(shí)趨勢(shì)基本一致,正確率達(dá)到85%.
圖6 LSTM萵筍價(jià)格擬合圖Fig.6 Price fitting diagram of lettuce in LSTM
把成都市市場(chǎng)萵筍月平均價(jià)格的時(shí)間序列Y t看成線(xiàn)性結(jié)構(gòu)f t和非線(xiàn)性結(jié)構(gòu)S t組成.即:Yt=f t+S t.
2.4.1 具體步驟
步驟1:使用X12-ARIMA模型對(duì)原始萵筍價(jià)格序列進(jìn)行預(yù)測(cè),得到預(yù)測(cè)值.步驟2:用真實(shí)值減去得到誤差序列,再用LSTM模型預(yù)測(cè)誤差序列,得到預(yù)測(cè)值.步驟3:組合模型X12-ARIMA-LSTM的預(yù)測(cè)值等于步驟一和步驟二這兩步預(yù)測(cè)值的和,,即:.
2.4.2 預(yù)測(cè)結(jié)果分析
為考察以上三種模型對(duì)萵筍價(jià)格數(shù)據(jù)各自預(yù)測(cè)效果,選擇MAPE作為衡量的標(biāo)準(zhǔn)[17].
在處理同樣的研究對(duì)象情況下,三種模型對(duì)時(shí)間序列數(shù)據(jù)預(yù)測(cè)的結(jié)果如表4所示.從預(yù)測(cè)精度維度分析,組合模型的預(yù)測(cè)精度平均誤差11.3%、神經(jīng)網(wǎng)絡(luò)模型LSTM平均誤差為15.7%、最差的是計(jì)量統(tǒng)計(jì)模型X12-ARIMA模型平均誤差為21.1%;從模型穩(wěn)定性的角度分析,組合模型的誤差范圍4.2%~15.7%、LSTM模型的誤差范圍5%~24.5%、X12-ARIMA模型的誤差范圍0.0%~50%,可以看出組合模型的穩(wěn)定性最高,傳統(tǒng)模型性能穩(wěn)定性最差.綜上可得結(jié)論:三種模型的預(yù)測(cè)效果按大小依次排序,分別是X12-ARIMA-LSTM組合模型、LSTM模型以及X12-ARIMA模型,在現(xiàn)實(shí)生活中可以選擇組合模型作為對(duì)經(jīng)濟(jì)時(shí)間序列數(shù)據(jù)研究的可靠工具.
表4 不同模型下的萵筍價(jià)格預(yù)測(cè)Table 4 Lettuce price forecast under different models
2019.082.402.400.02.208.02.104.22019.092.543.0018.12.0021.32.1415.72019.102.853.088.13.005.33.005.32019.112.161.7618.52.515.72.4513.42019.121.721.3223.32.122.11.9513.4 MAPE 21.115.711.3
蔬菜價(jià)格波動(dòng)具有線(xiàn)性和非線(xiàn)性?xún)煞N特征,使用傳統(tǒng)模型對(duì)處理非線(xiàn)性問(wèn)題能力較弱;智能預(yù)測(cè)方法雖在非線(xiàn)性、自適應(yīng)學(xué)優(yōu)化算法等方面的優(yōu)勢(shì),但是面對(duì)小樣本集容易產(chǎn)生過(guò)擬合,導(dǎo)致模型預(yù)測(cè)精度不高.組合模型結(jié)合了各自的優(yōu)勢(shì),能提高預(yù)測(cè)精度、把握成都市萵筍價(jià)格變動(dòng)趨勢(shì),更適合作為時(shí)間序列價(jià)格數(shù)據(jù)的研究方法.