高海翔 胡 瑜 余樂安(北京化工大學(xué)經(jīng)濟(jì)管理學(xué)院 北京 100029)
全球經(jīng)濟(jì)的發(fā)展和社會的穩(wěn)定與國際原油市場價(jià)格波動(dòng)相關(guān)聯(lián),原油作為全球經(jīng)濟(jì)市場上一種特殊的貨物,其價(jià)格基本上由供需關(guān)系決定[1],但是也容易受到一些不規(guī)則的事件影響,例如天氣、庫存水平、GDP增長、政治因素,甚至是心理預(yù)期。這些因素導(dǎo)致了原油市場劇烈波動(dòng),具有復(fù)雜的非線性、高波動(dòng)性和不規(guī)則的特點(diǎn)[2]。通過觀察可以看出,一個(gè)國家經(jīng)濟(jì)的發(fā)展容易受油價(jià)波動(dòng)的干擾,并且存在兩個(gè)不同的方面。一方面,石油進(jìn)口國的通貨膨脹可能受油價(jià)的急劇上漲而加速,從而給該國的經(jīng)濟(jì)造成不利的影響;另一個(gè)方面,原油價(jià)格下跌會給石油出口國帶來嚴(yán)重的預(yù)算赤字問題[3]。因此,不難得知在這個(gè)變化不定的國際原油商品市場中,無論是政策制定者還是經(jīng)濟(jì)組織,如果及時(shí)地掌握油價(jià)的波動(dòng)走勢,并且對其進(jìn)行準(zhǔn)確的預(yù)測,那么就能夠更好地維護(hù)企業(yè)和國家利益?;谶@些原因,波動(dòng)的油價(jià)引起了許多機(jī)構(gòu)、商業(yè)從業(yè)者和研究者的極大興趣,油價(jià)預(yù)測成為了一個(gè)非常重要的研究課題。
在過去的幾十年中,傳統(tǒng)的統(tǒng)計(jì)與計(jì)量經(jīng)濟(jì)模型被廣泛地運(yùn)用到原油價(jià)格預(yù)測。例如,Huntington[4]應(yīng)用復(fù)雜的計(jì)量經(jīng)濟(jì)模型預(yù)測原油價(jià)格。Barone-Adesi等[5]提出了一種半?yún)?shù)方法預(yù)測,取得了良好的預(yù)測效果。Lanza等[6]使用誤差修正模型(ECM)計(jì)算原油和成品油的價(jià)格。在油價(jià)的短期預(yù)測方面,侯璐[7]結(jié)合定量和定性分析技術(shù),應(yīng)用ARIMA來構(gòu)建新的預(yù)測方法來評判原油未來價(jià)格趨勢。林盛等[8]對于石油價(jià)格的預(yù)測通過PCA分析法構(gòu)建了ARFMA-GARCH混合預(yù)測方法。
然而,傳統(tǒng)的統(tǒng)計(jì)與計(jì)量經(jīng)濟(jì)模型難以處理非線性的油價(jià)數(shù)據(jù),后來許多學(xué)者使用人工智能算法進(jìn)行預(yù)測。例如,Xie等[9]采用支持向量回歸(SVR)作為一種新方法來預(yù)測石油期貨市場價(jià)格。Shambora等[10]為了預(yù)測石油期貨市場而采用了人工神經(jīng)網(wǎng)絡(luò)。衛(wèi)敏[11]改進(jìn)了三種高斯型神經(jīng)網(wǎng)絡(luò),并將其應(yīng)用于石油價(jià)格預(yù)測。何樹紅等[12]為了提高油價(jià)預(yù)測準(zhǔn)確度,使用了Elman動(dòng)態(tài)遞歸神經(jīng)網(wǎng)絡(luò)模型,與BP神經(jīng)網(wǎng)絡(luò)相比效果更優(yōu)。
當(dāng)前,一些流行的混合預(yù)測模型與集成預(yù)測模型被提了出來且取得了一定的預(yù)測優(yōu)勢。例如,Tang等[13-14]選取了CEEMD和EELM分別作為分解和預(yù)測工具來預(yù)測油價(jià),后來又提出了基于RVFL的非迭代分解集成學(xué)習(xí)模型,取得良好的效果。Yu等[15-18]基于“分解集成”思想也提出了一些神經(jīng)網(wǎng)絡(luò)預(yù)測模型,對油價(jià)進(jìn)行有效的預(yù)測。
但是上述針對石油價(jià)格時(shí)序的相關(guān)研究,均基于傳統(tǒng)的計(jì)量經(jīng)濟(jì)模型和淺層神經(jīng)網(wǎng)絡(luò)模型,關(guān)于深度學(xué)習(xí)算法以及其混合與集成預(yù)測油價(jià)模式的現(xiàn)有研究相對較為缺乏。由于油價(jià)預(yù)測不僅與當(dāng)前的數(shù)據(jù)有關(guān),而且涉及更早的時(shí)間數(shù)據(jù)。如果只應(yīng)用最新的時(shí)間數(shù)據(jù),則在更早的時(shí)間數(shù)據(jù)所攜帶的信息將丟失。與傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)不同,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)通過隱藏單元之間建立連接來記憶最近的事件。LSTM是RNN的一種改進(jìn)模型,能通過其“門”結(jié)構(gòu)對信息有選擇地過濾,并從訓(xùn)練的歷史數(shù)據(jù)中提取更多的有用信息。此外,分解集成的方法能夠有效地處理非線性、非平穩(wěn)的原始時(shí)間數(shù)據(jù)。對此,本文擬利用“分解集成”框架下的LSTM深度學(xué)習(xí)算法進(jìn)行石油價(jià)格預(yù)測研究并且進(jìn)行實(shí)證分析。相對于現(xiàn)有文獻(xiàn),本文的創(chuàng)新工作主要有兩點(diǎn):(1) 在數(shù)據(jù)處理方法上,基于EEMD時(shí)序分解,采用小波閾值去噪法去除虛假分量,然后利用fine-to-coarse法重構(gòu)序列;(2) 在智能算法應(yīng)用上,采用LSTM深度神經(jīng)網(wǎng)絡(luò)對重構(gòu)序列進(jìn)行序列預(yù)測。
相對于傅里葉分解、小波分解等這些傳統(tǒng)的去噪方法,在處理非線性、高波動(dòng)的原始時(shí)間數(shù)據(jù)上,EEMD和EMD有更優(yōu)越的能力。根據(jù)Huang等[19]的研究,EMD及其變體廣泛運(yùn)用于各類系統(tǒng)分析,實(shí)驗(yàn)結(jié)果驗(yàn)證了其在分解復(fù)雜時(shí)間序列數(shù)據(jù)方面有良好的性能。
從原始數(shù)據(jù)中提取出共存的離散函數(shù),即本征模態(tài)函數(shù)(IMFs),這也是EEMD分解主要目的之一。IMFs必須滿足兩個(gè)條件:(1) 極大值和極小值的數(shù)目與過零點(diǎn)的數(shù)目的差值為0或者1;(2) 每個(gè)IMF整體均值為0[20]。因此,原始時(shí)間序列xt(t=1,2,…,T)表示為IMFs和殘差序列的線性組合,其計(jì)算式表示為:
(1)
式中:N為IMFs的數(shù)量;rN,t是殘差;cj,t(j=1,2,…,N)則代表在時(shí)間t的第j個(gè)IMF。這些IFMs包含不同頻帶,并且隨時(shí)間序列xt的變化而變化,rN,t則代表原始序列xt的中心趨勢。一般地,N=log2T,且N是由T決定的。
EEMD包含了白噪聲。在假設(shè)條件下,觀測數(shù)據(jù)包含了真實(shí)信息和白噪聲。而帶有不同白噪聲等級的數(shù)據(jù)集成平均將使最后的結(jié)果無限逼近真實(shí)序列。EEMD中疊加白噪聲來提取出真正的IMFs,然后集成平均抵消其影響。白噪聲對結(jié)果的影響可以由以下統(tǒng)計(jì)規(guī)則來控制:
(2)
式中:εne為分解最終結(jié)果的標(biāo)準(zhǔn)差;ε為額外噪聲振幅;NE為集合成員的數(shù)目。
原始時(shí)間序列的提前預(yù)測不僅需要最新的樣本,而且還需要以前的數(shù)據(jù)。受益于隱含層的自反饋機(jī)制,RNN模型在處理長期依賴的問題時(shí)具有一定的優(yōu)勢,但在現(xiàn)實(shí)應(yīng)用中仍然存在一些困難[21]。為了解決RNN存在梯度消失和梯度爆炸的問題,Hochreiter等[22]提出了LSTM模型,后來由Graves[23]改進(jìn)和推廣。存儲信息的記憶細(xì)胞組成了LSTM單元,并且LSTM單元是由輸入門、遺忘門和輸出門這三個(gè)特殊的門進(jìn)行更新。LSTM單元結(jié)構(gòu)如圖1所示。
在t時(shí)刻,Ct為記憶細(xì)胞的值,xt為LSTM細(xì)胞的輸入值,ht-1、ht分別為LSTM細(xì)胞前一刻和當(dāng)前輸出值。LSTM單元的具體計(jì)算步驟如下。
(1) 計(jì)算存儲單元:
(3)
式中:WC是權(quán)重矩陣;bC是偏置。
(2) 計(jì)算輸入門的值it:
it=σ(Wi·[ht-1,xt]+bi)
(4)
式中:σ是S型函數(shù);Wi是權(quán)重矩陣;bi是偏置。
(3)計(jì)算遺忘門的值ft:
ft=σ(Wf·[ht-1,xt]+bf)
(5)
式中:Wf和bf分別是權(quán)重矩陣、偏置。
(4)計(jì)算當(dāng)前記憶細(xì)胞Ct:
(6)
式中:Ct-1是最后一個(gè)LSTM單元的狀態(tài)值。
(5) 計(jì)算輸出門的值ot:
ot=σ(Wo·[ht-1,xt]+bo)
(7)
式中:Wo和bo分別是權(quán)重矩陣、偏置。
(6) 計(jì)算LSTM單元的輸出ht:
ht=ottanh(Ct)
(8)
fine-to-coarse法[24]重構(gòu)EEMD分解出來的模態(tài)序列,主要的步驟如下:
步驟2利用統(tǒng)計(jì)量t檢驗(yàn)判別si的均值顯著偏離于零點(diǎn)的序列。
步驟3如果判別出si的均值點(diǎn)偏離零點(diǎn)最遠(yuǎn),則需要重構(gòu)局部序列,即將c1到ci-1疊加成高頻分量,而ci到cm疊加為低頻分量,同時(shí)將殘差項(xiàng)r(t)作為趨勢分量[26]。
基于“分解集成”框架,使用fine-to-coarse(FTC)重構(gòu)技術(shù),以EEMD和LSTM為核心方法構(gòu)建一個(gè)新的集成預(yù)測模型(EEMD-FTC-LSTM),如圖2所示。
圖2 EEMD-FTC-LSTM分解集成模型
該模型的構(gòu)造過程可以由四個(gè)步驟來完成:
(1) 油價(jià)時(shí)序xt(t=1,2,…,T)通過使用EEMD方法后,獲得多個(gè)本征模態(tài)函數(shù)(IMFs)ct(j=1,2,…,N)以及一個(gè)余項(xiàng)rN,t。
(2) 對于首個(gè)IMF,運(yùn)用小波閾值去噪法提取其有效的歷史信息。然后所有模態(tài)序列cj,t采用fine-to-coarse方法論進(jìn)行重構(gòu),從而得出高頻、低頻和趨勢這三個(gè)子時(shí)間序列。
(3) 使用LSTM深度神經(jīng)網(wǎng)絡(luò)分別對這三個(gè)子時(shí)間序列進(jìn)行模態(tài)預(yù)測。
總之,該模式可以縮寫為“EEMD(數(shù)據(jù)分解)-FTC重構(gòu)-LSTM(模態(tài)預(yù)測)”。
本文選取了WTI的油價(jià)數(shù)據(jù)作為實(shí)驗(yàn)樣本,主要由于該原油市場對世界經(jīng)濟(jì)的影響巨大。從美國能源信息署官方網(wǎng)站可以截取實(shí)驗(yàn)樣本,選取1983年4月4日至2019年3月12日的每天數(shù)據(jù)共9 025個(gè)的觀察值。本次研究選取1983年4月4日至2012年1月13日的序列值作為訓(xùn)練集(即劃分80%的實(shí)驗(yàn)樣本作為訓(xùn)練集),共7 220個(gè)觀察值用來模型訓(xùn)練;2012年1月14日至2019年3月12日的序列值(即劃分另外20%的實(shí)驗(yàn)樣本用作測試集),共有1 805個(gè)觀察值用來評估預(yù)測性能。本文采取直接預(yù)測策略,提前1步長的預(yù)測結(jié)果作為判定依據(jù)。
在評估石油價(jià)格水平預(yù)測的準(zhǔn)確度上,不失一般性地選取了平均絕對值百分誤差(MAPE)和均方根誤差(RMSE)這兩種方法作為評價(jià)依據(jù)。
(9)
(10)
式中:N為在測試集中觀察值的長度。
在趨勢預(yù)測上,Dstat統(tǒng)計(jì)指標(biāo)被用來衡量預(yù)測趨勢準(zhǔn)確度,即:
(11)
LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型采用標(biāo)準(zhǔn)的三層結(jié)構(gòu),激活函數(shù)為線性函數(shù),優(yōu)化器為Adma算法,目標(biāo)函數(shù)為均方差,學(xué)習(xí)率為0.01。以RMSE為判斷依據(jù),當(dāng)時(shí)間長度、隱層數(shù)和迭代次數(shù)不同時(shí),可能會出現(xiàn)不同的實(shí)驗(yàn)效果,各分量預(yù)測值如表1至表3所示。通過上述參數(shù)優(yōu)化過程可以得到其余參數(shù)優(yōu)化值,如表4所示。
表1 不同時(shí)間長度下模型預(yù)測效果(迭代350輪)
續(xù)表1
表3 不同迭代次數(shù)下模型預(yù)測效果
表4 三個(gè)子序列參數(shù)設(shè)置
對于高頻固有模態(tài)序列IMF1透過小波閾值去噪法消噪處理,選擇的小波基為db3,分解尺度選擇為5層。本文實(shí)驗(yàn)采用MATLAB 2018進(jìn)行建模和算法實(shí)現(xiàn)。
如表5所示,由MAPE、RMSE和Dstat來評價(jià)模型的預(yù)測能力。通過對比實(shí)驗(yàn)結(jié)果可以看出,無論是在水平預(yù)測和趨勢預(yù)測方面上,EEMD-FTC-LSTM預(yù)測范式在油價(jià)預(yù)測評估中都比其他基準(zhǔn)模型(如ARIMA、BP神經(jīng)網(wǎng)絡(luò)、LSTM和EEMD-LSTM)表現(xiàn)得更好。
表5 模型預(yù)測性能比較
就水平精度而言,即MAPE和RMSE,可以得到結(jié)論為:EEMD-FTC-LSTM集成預(yù)測模型與其他模型(ARIMA、BPNN、LSTM和EEMD-LSTM)相比,誤差最低,性能更好。其內(nèi)在的原因可能存在兩個(gè)方面:(1) 高頻IMF1存在大量的白噪聲,通過小波閾值去噪可以提取出有用的歷史信息。(2) LSTM擁有強(qiáng)大的自學(xué)習(xí)能力,重構(gòu)后能夠提高復(fù)雜的高頻分量的預(yù)測能力。
較低的MAPE和RMSE并不表示預(yù)測油價(jià)在運(yùn)動(dòng)趨勢上有較高的精度。從商業(yè)的角度來看,Dstat比MAPE和RMSE更為重要,因?yàn)镈stat可以視為原油市場投資的重要決策標(biāo)準(zhǔn),所以有必要通過Dstat進(jìn)行對比評價(jià)[25]。從表5可以看出,EEMD-FTC-LSTM分解集成預(yù)測模型在趨勢精度上排名第一,這個(gè)結(jié)果證明了所構(gòu)建的分解集成模型的有效性。可能的原因是因其強(qiáng)大的自學(xué)習(xí)能力,LSTM深度學(xué)習(xí)模型在趨勢預(yù)測精度上要優(yōu)于其他預(yù)測模型。同時(shí)也說明了對于石油價(jià)格數(shù)據(jù)中隱含的高波動(dòng)不規(guī)則的復(fù)雜特征,這種混合與集成模型也能夠有效地捕捉和處理。
根據(jù)WTI原油價(jià)格日度數(shù)據(jù),采用集合經(jīng)驗(yàn)?zāi)B(tài)分解(EEMD)、小波閾值去噪和fine-to-coarse法對油價(jià)時(shí)序分解重構(gòu),然后運(yùn)用LSTM深度學(xué)習(xí)算法對重構(gòu)序列預(yù)測,最后通過簡單加和的方式得到最終結(jié)果。通過所構(gòu)建新的集成學(xué)習(xí)預(yù)測范式,有以下幾點(diǎn)可以總結(jié):(1) 無論是在水平預(yù)測上還是趨勢預(yù)測上,EEMD-FTC-LSTM模型都能夠有效預(yù)測原油價(jià)格,為商業(yè)從業(yè)者或者經(jīng)濟(jì)機(jī)構(gòu)提供了決策參考。(2) 利用小波閾值去噪的方法,能夠有效地去除虛假分量噪聲,從而提取出高頻模態(tài)分量的有用信息,最終提高了油價(jià)預(yù)測精度。(3) 基于fine-to-coarse方法將模態(tài)分量進(jìn)行重構(gòu),降低模態(tài)預(yù)測的復(fù)雜性,減少了模型的訓(xùn)練時(shí)間,提高了模型的計(jì)算能力。