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