郭倩倩, 王星惠, 張從巧
(安徽大學(xué) 經(jīng)濟(jì)學(xué)院, 合肥 230601)
大豆不僅是我國重要的糧食作物之一,也是我國進(jìn)口量最大的農(nóng)產(chǎn)品,因此大豆在國民經(jīng)濟(jì)中占有重要地位.自1993年我國建立大豆期貨市場以來,交易量已從初始的860.69萬手增加到72.69億手(截至2021年底),為穩(wěn)定我國大豆價(jià)格和糧食安全提供了重要保障.近年來,受國內(nèi)外多種因素的影響,大豆期貨價(jià)格處于總體上漲的波動(dòng)趨勢中,因此建立有效的大豆期貨價(jià)格預(yù)測模型對規(guī)避大豆價(jià)格波動(dòng)風(fēng)險(xiǎn)和保證我國糧食安全具有重要意義.目前,大豆價(jià)格預(yù)測方法主要分為兩類:一種是利用時(shí)間序列模型的線性預(yù)測方法(ARIMA[1]、VAR[2]、GARCH[3]等模型)進(jìn)行預(yù)測.該類方法具有操作和計(jì)算簡單的優(yōu)點(diǎn),但對數(shù)據(jù)的要求較高,而且對非線性時(shí)間序列預(yù)測的精度和穩(wěn)定性較低.另一種是利用機(jī)器學(xué)習(xí)的方法(SVR[4]、ANN[5]、LSTM[6]等模型)進(jìn)行預(yù)測.該類方法雖然操作相對復(fù)雜,但由于其具有強(qiáng)大的非線性趨勢擬合能力(可以更好地捕獲數(shù)據(jù)之間的潛在關(guān)聯(lián)),因此可有效挖掘數(shù)據(jù).
近年來,分解集成方法(如EMD、EEMD、CEEMDAN等)因能夠更好地捕獲到原始序列中不同粒度的特征信息而受到學(xué)者的廣泛關(guān)注,并被應(yīng)用于多種產(chǎn)品的價(jià)格預(yù)測中[7-14].2020年,賀毅岳等[15]針對股票市場指數(shù)提出了一種基于CEEMDAN -LSTM的預(yù)測模型.該模型首先將原始序列分解為若干特征明顯的簡單序列,然后再利用單一LSTM模型捕獲序列在不同頻率下的波動(dòng)性特征.研究顯示,該方法可大大改善構(gòu)建模型的效率和預(yù)測精度.但由于不同頻率序列在實(shí)際中常會(huì)表現(xiàn)出不同的趨勢,因此單一模型往往難以同時(shí)捕獲到序列中的其他線性或者非線性特征.為此,本文構(gòu)建一種基于CEEMDAN的多頻優(yōu)化組合模型,即通過不同單一模型的特性以充分提取不同頻率序列的波動(dòng)特征,以此進(jìn)一步提高模型的預(yù)測精度.
CEEMDAN是一種基于EEMD改進(jìn)的分解方法,它可以有效解決EEMD分解中因添加白噪聲序列而導(dǎo)致的計(jì)算復(fù)雜度增加的問題.
CEEMDAN分解方法的具體步驟為:
1)首先確定第i次添加的白噪聲ωi(t)和幅值εk, 然后在原始序列中加入白噪聲ωi(t)εk后對其進(jìn)行EMD分解,并將分解得到的多個(gè)子序列IMF均值作為第1階段的cIMF1(t),即:
2)計(jì)算第1階段殘差r1(t), 其計(jì)算公式為:
r1(t)=x(t)-cIMF1(t).
(2)
3)將經(jīng)過EMD分解后的噪聲和第1階殘差相加,得到一個(gè)新的序列.對該序列進(jìn)行EMD分解并求集合平均值即可得第2階段的cIMF2(t):
4)計(jì)算第k階殘差rk(t), 其計(jì)算公式為:
rk(t)=rk -1(t)-cIMFk(t).
(4)
5)重復(fù)第3步,由此可得到第k+1階段的cIMFk +1(t), 即:
Ek(ωi(t))εk].
(5)
6)重復(fù)第4步,且當(dāng)殘差序列不可再分解時(shí),將其記為最終的殘差(r(t)), 即:
(6)
原始序列x(t)的最終分解結(jié)果可表示為:
(7)
1.2.1ARIMA(p,d,q)模型
ARIMA(p,d,q)模型是將自回歸模型(AR)、移動(dòng)平均模型(MA)和差分法相融合而成的一種模型,其中p為自回歸向,d是數(shù)據(jù)進(jìn)行差分的階數(shù),q為移動(dòng)平均項(xiàng)數(shù).ARIMA(p,d,q)模型的表達(dá)式為:
yt=θ1yt -1+…+θpyt -p+εt-
θ1εt -1-…-θpεt -p.
(8)
1.2.2SVR模型
SVR模型是一種假設(shè)能容忍預(yù)測值和標(biāo)簽值之間偏差最多為ε的回歸模型.如圖1所示,該模型通過在線性函數(shù)f(x)兩側(cè)構(gòu)建一個(gè)偏差為ε的隔離帶,以最小化偏差ε與總損失來最優(yōu)化模型.該模型可表示為:
(9)
其中:C為正則化常數(shù);lε是ε-不敏感損失函數(shù),即損失函數(shù)的計(jì)算僅針對隔離帶外的樣本.
圖1 SVR的原理示意圖
`1.2.3BPNN模型
BPNN是一種通過誤差反向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)模型,其網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、隱藏層、輸出層組成,如圖2所示.
圖2 BPNN的結(jié)構(gòu)示意圖
BPNN的訓(xùn)練過程如圖3所示.訓(xùn)練時(shí):首先根據(jù)定義好的損失函數(shù)計(jì)算預(yù)測值和真實(shí)值之間的誤差,并對其進(jìn)行求導(dǎo);然后沿著梯度最小的方向反向傳播誤差,以此更新網(wǎng)絡(luò)中每一層的權(quán)重參數(shù);最后再進(jìn)行正向計(jì)算.循環(huán)反復(fù)此過程,直到損失函數(shù)值趨于穩(wěn)定.
圖3 BPNN的訓(xùn)練過程
1.2.4LSTM模型
LSTM是一種特殊循環(huán)神經(jīng)網(wǎng)絡(luò)模型,它可有效解決簡單循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的梯度爆炸或消失的問題.LSTM網(wǎng)絡(luò)結(jié)構(gòu)由單元狀態(tài)、遺忘門、記憶門和輸出門組成,如圖4所示.
圖4 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
LSTM 的前向計(jì)算過程如下:
1)將當(dāng)前的輸入xt和上一個(gè)狀態(tài)傳遞下來的ht -1進(jìn)行拼接,并以此作為輸入.
2)對長期狀態(tài)進(jìn)行控制,主要分為3個(gè)階段: 第1階段為忘記階段.該階段主要對上一個(gè)節(jié)點(diǎn)傳來的輸入進(jìn)行選擇性忘記,并將輸出信號(hào)ft作為忘記門控.ft的計(jì)算公式為:
ft=σ(Wf·(ht -1,xt)+bf),
(10)
其中σ為sigmod神經(jīng)網(wǎng)絡(luò)層,ft為0到1之間的數(shù)(1代表信息完全保留, 0代表信息完全遺忘).
it=σ(Wi·(ht -1,xi)+bi).
(11)
(12)
第3階段為更新階段.模型得到遺忘門和記憶門后更新單元狀態(tài)(根據(jù)公式(13)),t時(shí)刻的單元狀態(tài)Ct可表示為:
(13)
式中⊙表示哈達(dá)瑪積.
3)根據(jù)公式(14)計(jì)算Ot, 并將得到的Ot作為輸出門控.根據(jù)公式(15)計(jì)算ht,并將得到的ht作為下一時(shí)刻的輸入信號(hào)并傳遞到下一時(shí)刻.
Ot=σ(Wo(ht -1,xt)+bo),
(14)
ht=Ot⊙tanh(Ct).
(15)
構(gòu)建對大豆期貨收盤價(jià)進(jìn)行預(yù)測的多頻優(yōu)化組合模型的方法為:首先,對大豆收盤價(jià)進(jìn)行CEEMDAN分解,由此得到6個(gè)不同頻率的IMF分量和1個(gè)殘差趨勢項(xiàng);其次,求出各個(gè)IMF分量之間的皮爾遜相關(guān)系數(shù),并基于皮爾遜相關(guān)系數(shù)對各個(gè)IMF分量進(jìn)行聚類;再次,對聚類得到的高-中-低頻分項(xiàng)和趨勢項(xiàng)進(jìn)行經(jīng)濟(jì)意義的解釋,并運(yùn)用SVR、ARIMA、LSTM、BPNN模型對各個(gè)分項(xiàng)進(jìn)行預(yù)測,以此選擇出各個(gè)分項(xiàng)中預(yù)測效果最好的模型;最后,組合各個(gè)分項(xiàng)的結(jié)果,由此得到最終的預(yù)測結(jié)果.組合模型的預(yù)測流程如圖5所示.
1.4 模型的評價(jià)指標(biāo)
評價(jià)指標(biāo)采用均方根誤差(RMSE)、平均絕對誤差(MAE)和對稱平均絕對百分比誤差(SMAPE),各評價(jià)指標(biāo)的值越小,表明模型的精度越高.各評價(jià)指標(biāo)的計(jì)算公式為:
(16)
(17)
(18)
其中:Yi表示實(shí)際值,Y′i表示預(yù)測值,n表示預(yù)測期數(shù).
本文數(shù)據(jù)來源于新浪財(cái)經(jīng)網(wǎng)(https://finance.sina.com.cn/),樣本區(qū)間為2009年8月27日至2021年7月6日的所有交易數(shù)據(jù).在數(shù)據(jù)中剔除日成交量為0的所有收盤價(jià)格之后,最后收集到的數(shù)據(jù)為2 880條.為了減少因數(shù)據(jù)量較大而產(chǎn)生噪音,本文采用重采樣技術(shù)(降采樣)對數(shù)據(jù)進(jìn)行預(yù)處理.經(jīng)預(yù)處理后共得到614條數(shù)據(jù).圖6為數(shù)據(jù)處理后的大豆期貨價(jià)格的序列走勢圖.實(shí)驗(yàn)時(shí),本文選取數(shù)據(jù)集的前80%數(shù)據(jù)作為訓(xùn)練集,后20%數(shù)據(jù)作為測試集.
圖6 大豆期貨價(jià)格的序列走勢
本文運(yùn)用Python 3.7軟件對大豆期貨日價(jià)格進(jìn)行了CEEMDAN分解,由此共分解得到了6個(gè)不同頻率的本征模函數(shù)(IMF1 -IMF6)和1個(gè)殘差趨勢項(xiàng),如圖7所示.
利用Numpy庫中的corrcoef函數(shù)計(jì)算出的IMF1至IMF6之間的皮爾遜相關(guān)系數(shù)見表1.基于皮爾遜相關(guān)系數(shù)對各個(gè)IMF分量進(jìn)行聚類的結(jié)果見圖8.
由表1可以看出,IMF1和IMF3、IMF2和IMF5、IMF2和IMF6、IMF4和IMF6之間的相關(guān)系數(shù)在1%水平下顯著.由圖8可以看出:IMF1、IMF2、IMF3和IMF4為高頻項(xiàng), IMF5為中頻項(xiàng),IMF6為低頻項(xiàng).
圖7 大豆價(jià)格的CEEMDAN分解結(jié)果
表1 皮爾遜相關(guān)系數(shù)值
圖8 基于皮爾遜相關(guān)系數(shù)的聚類圖
為分析各分項(xiàng)的特征,利用Python科學(xué)計(jì)算包計(jì)算了各個(gè)分項(xiàng)的p值、周期、方差貢獻(xiàn)率以及各分項(xiàng)與原序列的相關(guān)系數(shù),結(jié)果見表2.由表2可知:
1)高頻項(xiàng)(IMF1-IMF4)的平均周期為4.451,其與原序列的相關(guān)系數(shù)為0.284,p值為0.000(遠(yuǎn)低于0.05的水平,即通過顯著性檢驗(yàn)),表明原序列和高頻項(xiàng)之間存在相關(guān)性,但相關(guān)程度較弱;高頻項(xiàng)的方差貢獻(xiàn)率為9.307%,表明高頻項(xiàng)對大豆期貨收盤價(jià)的解釋力較小.圖9為大豆期貨收盤價(jià)和各分項(xiàng)重構(gòu)后的走勢.由圖9可以看出,高頻項(xiàng)的均值始終在0附近上下波動(dòng),這是由市場短期不規(guī)則事件引發(fā)的價(jià)格變化導(dǎo)致的.
表2 各分項(xiàng)的周期和方差貢獻(xiàn)率
圖9 大豆期貨收盤價(jià)和各分項(xiàng)重構(gòu)后的走勢
2)中頻項(xiàng)(IMF5)的平均周期為169.600,其與原序列的相關(guān)系數(shù)為0.783,p值為0.000(通過顯著性檢驗(yàn)),表明原序列和中頻項(xiàng)之間存在相關(guān)性,且相關(guān)程度較強(qiáng);中頻項(xiàng)的方差貢獻(xiàn)率為53.216%,表明中頻項(xiàng)對大豆期貨收盤價(jià)的解釋力較強(qiáng).從圖9可以看出,中頻項(xiàng)與原序列的波動(dòng)基本保持一致,該結(jié)果同時(shí)也驗(yàn)證了上述分析結(jié)論.此外,從圖中還可以看出中頻項(xiàng)能夠反映出因重大事件導(dǎo)致的大豆價(jià)格變化,如2016年12月國務(wù)院推出農(nóng)業(yè)補(bǔ)貼政策轉(zhuǎn)型后,大豆期貨價(jià)格總體呈現(xiàn)下降趨勢(2017年1月10日至2019年12月3日).
3)低頻項(xiàng)(IMF6)的平均周期為636.000,其與原序列的相關(guān)系數(shù)為0.727,p值為0.000(通過顯著性檢驗(yàn)),表明原序列和低頻項(xiàng)之間存在相關(guān)性,且相關(guān)程度較強(qiáng);低頻項(xiàng)的方差貢獻(xiàn)率為36.150%,表明低頻項(xiàng)對大豆期貨價(jià)格也具有一定的解釋力.
4)殘差趨勢項(xiàng)不存在周期性,其與原序列的相關(guān)系數(shù)為0.188,p值為0.011(通過顯著性檢驗(yàn)),表明原序列和趨勢項(xiàng)之間存在相關(guān)性,但相關(guān)程度弱.殘差趨勢項(xiàng)的方差貢獻(xiàn)率為1.328%,表明趨勢項(xiàng)對大豆收盤價(jià)的解釋力較小.由圖9可知,大豆期貨價(jià)格雖然存在較大波動(dòng),但會(huì)逐漸回到趨勢價(jià)格附近.這表明,趨勢項(xiàng)可以反映大豆期貨價(jià)格的長期趨勢.
用SVR、BPNN、ARIMA、LSTM 4個(gè)模型對分解重構(gòu)后的各個(gè)分項(xiàng)進(jìn)行預(yù)測,結(jié)果見表3.從表3可以看出,在高頻項(xiàng)中評價(jià)LSTM模型的3個(gè)指標(biāo)幾乎都取得了最優(yōu)的結(jié)果.其原因是LSTM模型在面對波動(dòng)性較強(qiáng)的高頻序列時(shí)可以考慮到之前序列的特征信息,進(jìn)而使得模型可以有效捕獲到序列中的非線性特征.因此,本文選擇LSTM模型作為高頻項(xiàng)的預(yù)測模型.
表3 4種模型對各分項(xiàng)的預(yù)測結(jié)果
在中頻項(xiàng)的預(yù)測結(jié)果中,ARIMA模型雖然在SMAPE評價(jià)指標(biāo)上低于其他3個(gè)模型,但在RMSE和MAE評價(jià)指標(biāo)上顯著優(yōu)于其他3個(gè)模型;因此,經(jīng)綜合考慮后,本文選擇ARIMA模型作為中頻項(xiàng)的預(yù)測模型.
在低頻項(xiàng)的預(yù)測結(jié)果中,BPNN模型的各項(xiàng)評價(jià)指標(biāo)均優(yōu)于其他模型,因此本文選擇BPNN模型作為低頻項(xiàng)的預(yù)測模型.
對比表3中各單一模型在趨勢項(xiàng)上的各評價(jià)指標(biāo)結(jié)果可知,除了SVR模型外其他模型均取得較好的預(yù)測效果.由于ARIMA模型在捕獲趨勢項(xiàng)的線性變化上具有更明顯的優(yōu)勢,因此本文選擇ARIMA模型作為趨勢項(xiàng)的預(yù)測模型.
基于上述分析,本文集成LSTM、ARIMA(2,2,1),BPNN、ARIMA(3,2,2)模型構(gòu)建了多頻優(yōu)化模型.圖10為模型在測試集上的預(yù)測效果圖.由圖10可看出,多頻優(yōu)化組合模型能夠很好地捕獲到大豆期貨收盤價(jià)的波動(dòng)規(guī)律,即模型的擬合能力較強(qiáng),由此表明模型具有良好的預(yù)測效果.
為驗(yàn)證本文構(gòu)建的多頻優(yōu)化組合模型的優(yōu)越性,設(shè)計(jì)了多組對比實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果如表4所示.由表4可知,除EMD -LSTM組合模型外,其他基于CEEMDAN分解的組合模型的預(yù)測效果均顯著優(yōu)于各單一模型.其原因是CEEMDAN能夠克服EMD在分解過程中出現(xiàn)的自適應(yīng)性差及模態(tài)混疊的問題.此外,在基于CEEMDAN分解的組合模型中,多頻優(yōu)化組合模型(重構(gòu))的預(yù)測效果顯著優(yōu)于CEEMDAN -BPNN和CEEMDAN -LSTM未重構(gòu)組合模型,這表明經(jīng)分解重構(gòu)后的模型在預(yù)測精度上更具有優(yōu)勢:因此,本文提出的多頻優(yōu)化組合模型更適用于大豆期貨價(jià)格的預(yù)測.
圖10 多頻優(yōu)化組合模型的預(yù)測效果圖
表4 不同模型對大豆期貨收盤價(jià)的預(yù)測結(jié)果
利用本文構(gòu)建的多頻優(yōu)化組合模型對我國大豆期貨價(jià)格進(jìn)行預(yù)測表明,該模型可以綜合考慮影響大豆價(jià)格的多種因素,并依據(jù)不同單一模型的特性可充分提取重構(gòu)后不同頻率序列的波動(dòng)特征,使得模型的預(yù)測精度顯著優(yōu)于其他單一模型以及EMD -LSTM、CEEMDAN -BPNN(未重構(gòu))、CEEMDAN -LSTM(未重構(gòu))等組合模型,因此該模型可為大豆期貨價(jià)格的預(yù)測提供良好參考.在今后的研究中,我們將探討其他單一模型在組合模型預(yù)測中的應(yīng)用,以進(jìn)一步提升模型的預(yù)測精度.