高藝晉,童紀新,代 杰
(河海大學 商學院,南京 211100)
原油價格的準確預測能夠有效規避能源風險,在此課題上,國內外專家學者從不同的角度提出了眾多的預測方法與理論,主要包括ARIMA、GARCH等傳統的計量經濟學方法[1,2]以及近些年來流行的所屬機器學習類的多種模型。
各類原油時間序列數據具有高度非線性、非平穩、影響因子多而復雜且難以確定的特點,而傳統計量經濟學方法存在著模型參數設置困難,函數選擇不盡如人意的問題。相比之下,人工神經網絡在時間序列預測領域準確率高、泛化能力出眾以及其固有的非線性特點被認為是一種合適的油價預測方法[3]。BP網絡的出現有效地解決了神經網絡的學習機制問題,因而在油價預測領域得到了廣泛的應用。Imad Haidar[4]使用單一隱含層的BP神經網絡,準確預測了石油現貨價格短期走勢。為了優化BP神經網絡的輸入的模式,賈振華等[5]使用主成分分析的方法對油價多影響因子進行有效約減,在解決BP神經網絡“維數災難”的同時有效消除信息噪聲,簡化BP神經網絡結構,提高了BP神經網絡的預測精度。
有研究證明,相比于BP神經網絡,小波神經網絡在逼近能力,泛化能力和收斂速度上更加優秀[6]。范麗偉[7]使用主成分分析的方法對油價影響因素數據進行預處理,再將所提取到的多個主成分輸入小波神經網絡來實現對WTI現貨價格的準確預測,研究結果表明相比于BP神經網絡和基于主成分的BP神經網絡,基于主成分分析的小波神經網絡預測精度更高,預測穩定性更強,泛化能力更出眾。而主成分分析作為獨立成分分析白化步驟的一部?分,分離所得到的信號源僅僅是不相關的,范麗偉已經說明獨立成分分析相比于主成分分析更能發現復雜問題的獨立源影響因素,有利于后續的數據處理[8]。因此在使用主成分分析方法做預處理的研究基礎上,本文選擇基于獨立成分分析預處理的小波神經網絡(ICA-WNN)來對WTI現貨價格的預測做進一步的研究。
獨立成分分析方法(ICA)是一種基于高階統計獨立性,以非高斯源數據作為研究對象,實現多種混合數據分離問題的數學算法。任何復雜數據都可以看成由多維源數據和噪聲數據混合而成的,ICA可以在源數據和混合方法參數未知的情況下,僅由觀測到的混合數據恢復出源數據的各個獨立分量。
該方法適用于對復雜數據進行預處理,在預測問題中,可能面臨影響預測目標因素多而復雜的困難,同時各個影響因素之間存在著相關性與一定的信息重疊,這樣不僅增加了分析問題的難度,也會影響到模型預測的精確度與求解迭代速度,在這種情況下,對數據進行獨立成分分析,有助于去除數據冗余,減少信息噪聲。
在ICA方法中定義:

P=(p1,p2,...,pn)T為觀測到的n維混合數據,S=(s1,s2,...,sm)T為m維源數據即為獨立成分,A為n×m維混合矩陣。ICA方法的目的就是通過求解解混矩陣C來實現對獨立成分Y的準確估計。


當然,進行獨立成分分析的前提是假設源數據服從非高斯分布以及各個獨立成分是統計獨立的。
近些年來快速獨立成分分析方法(FastICA)得到廣泛運用,該算法基于非高斯性最大原理,使用固定點迭代理論尋找非高斯性最大值,它采用牛頓迭代算法對混合信號進行批處理,每次從觀測信號X中分離出一個獨立成分,是獨立成分分析的一種快速算法。該算法的非高斯性函數為[9]:

在式(4)中,v為標準高斯隨機向量,函數G的2種方式可以為[10]:

在式(5)中,a1∈[1 , 2],FastICA算法具有收斂速度快,不需要對源信號概率密度函數進行估計,不需要選擇步長參數以及適用面廣的優點。本文采用基于負熵的Fast-ICA算法,以最大化負熵為求解方向,逐步估計出獨立成分Y。整個Fast-ICA算法過程概述如下:
步驟1:中心化混合數據P,使其均值為零;
步驟2:對中心化后的數據進行白化處理得到結果Z;
步驟3:初始化一個單位向量c,滿足‖C‖=1;
步驟4:更新c←[E { z g (cTz)}]-E{g '(cTz)}c;
步驟5:標準化c,c←c/‖c‖;
步驟6:如果c尚未收斂,則返回步驟(4);
步驟7:根據式(3)計算獨立成分。
在每一次迭代之前都要對 cn+1和 c1,c2,...,cn進行正交化與單位化處理。在獲得n個獨立成分 c1,c2,...,cn的基礎上,計算第n+1個獨立成分cn+1,首先做正交化處理,...,cn正交;再做單位化處理,有cn+1=cn+1/‖cn+1‖ ,接著使用步驟4與步驟5對cn+1進行迭代。
小波變換是根據傅里葉變換的不足發展而來的,它的核心優勢在于具有可以獲取非平穩數據的時頻局域性質,其實質是將待分析的數據分解為一系列小波函數的疊加。而小波函數是由一個母小波函數經過平移與尺寸伸縮而得到的,將母小波函數平移一定單位之后,在不同尺度下與待分析的數據做內積,能夠實現對待分析數據的多尺度分析,有效提取數據的局部特征。
小波神經網絡將小波分析與BP神經網絡緊致結合,在BP神經網絡的結構基礎上,用小波基函數替代傳統的Sigmoid函數作為神經元節點的傳遞函數。
神經元節點是整個神經網絡模型的基本組成單位,設(x1,x2,…,xn)是隱含層第 j個神經元節點從上一層的神經元節點所接收的輸入信號,(w1j,w2j,…,wnj) 分別是這n個輸入信號所對應的權重,w0為神經元節點的閾值,其值為θj,本文研究的WNN模型將小波基函數作為神經元節點的傳遞函數,該函數與傳統的S型傳遞函數相比多了兩個計算參數:伸縮因子與平移因子。該隱含層神經元的輸出為:

其中,f(x)為小波基函數,bj為第 j個神經元所選取小波基函數 f(x)的平移因子,aj為第 j個神經元所選取小波基函數 f(x)的伸縮因子。
本文所選取的小波基函數為morlet母小波函數,其函數表達式為:

(1)信息的正向傳遞
輸入層的神經元接受訓練數據的輸入,在第t次迭代中,隱含層的第 j個神經元節點hj以一定的連接權重從輸入層的每一個神經元處獲得輸入數據,加權求和后再減去閾值,與伸縮因子,平移因子一同作為小波基函數的自變量,代入式(8)得到隱含層神經元hj的輸出值。
考慮從小波神經網絡的n維輸入到k*維輸出建立完整的映射關系,設輸入層有n個神經元,隱含層有m神經元,可以得到小波神經網絡完整的映射方程:

(2)誤差的逆向傳播
在第一階段得到輸出結果后,小波神經網絡將輸出層的輸出結果與預期結果進行對比,并算出輸出結果與預期結果之間的差值e,對于有k個節點的輸出層:

如果該值小于預定誤差ε則表示整個WNN神經網絡訓練完畢;如果該值大于預定誤差ε,則將網絡學習調整進入誤差逆向傳播階段,在誤差逆向傳播階段中將誤差信號按原正向傳遞相反的路徑傳回,并不斷根據誤差,使用最快速下降法調整網絡權值與小波函數的伸縮因子與平移因子[8],在第t+1步訓練下,各參數的調整過程為:

其中,η為學習速率,其值滿足0<η<1,在訓練過程中,η的值越大,各個參數在梯度方向上的改變數值越大。β為動量項,其值也在0到1之間,常被用來改進網絡學習算法中參數調整振蕩和收斂速度慢的缺陷[11]。WNN神經網絡通過多次迭代調整網絡的權重值,平移因子與伸縮因子,直到誤差結果e最終收斂于預定誤差ε,完成整個WNN神經網絡的訓練過程。
本文選用使用獨立成分分析方法進行預處理的小波神經網絡來實現對國際油價的準確預測。整個ICA-WNN網絡模型的預測過程如圖1所示。

圖1 ICA-WNN網絡模型預測過程
首先,運用獨立成分分析的方法消除源信號各個變量之間的相關性,可以得到不多于源信號維數的若干獨立成分(ICs)。將這些獨立成分輸入到小波神經網路中,根據輸入數據進行多次迭代訓練,不斷調整網絡參數直至訓練結束。訓練完成的神經網絡模型可以對未來數據進行預測,最后需要對神經網絡模型的預測結果進行評價。
本文為以主成分分析進行預處理的小波神經網絡油價預測的拓展研究,為了達到結果對比與最優模型選擇的

圖2 分析對象與材料
圖2從上至下的六項數據序列依次為2001年1月到2015年2月的美國石油產量、美國原油庫存量、美國煉油能力、美元指數、美國石油產品銷售量與WTI期貨價格數據,從圖2中可以看出,油價影響因子數據大多呈現雜亂無章,規律性不明顯的特點,如果直接將這些數據信號直接作為預測模型的輸入,不僅會使神經網絡面臨巨大的計算量,延長訓練時間,各個變量之間還存在著數量級的差異,影響到模型預測的準確度。因此,在模型進行預測之前,需要對原始數據進行預處理。
在使用影響因子數據對WTI現貨價格進行預測之前,選用固定點迭代理論(Fixed-point)尋找非高斯性最大的快速獨立成分分析方法(Fast-ICA)對原始數據進行二次重構,得到WTI現貨價格影響因子的多個獨立成分。
在實際運用Fast-ICA方法對原始數據進行重構之前,首先要確定獨立成分的個數,目前,學術界尚不存在統一確定獨立成分個數的方法,考慮到獨立成分分析中數據白化的過程與主成分分析有相似之處,本次研究參考主成分分析中確定主成分個數的方法來確定獨立成分個數。
根據表1的結果,前三個成分的特征根都超過了1,并且前三個成分的累計方差貢獻率達到了92.854%,因此可以確定本文所要重構的獨立成分是三個。使用Fast-ICA工具包對原始數據進行重構,得到獨立成分分析的結果。

表1 總方差解釋
三項獨立成分的趨勢和波動特征各不相同,代表著不同的影響因素,見圖3。

圖3 3個獨立成分圖像
第一項獨立成分波形具有高頻波動,先上升再下降的特點,可以看成是圖2中由美國石油產量的高頻波動特征與美國石油庫存量的波動趨勢重構而成,高頻的特點表示自然災害,戰爭等突發因素對原油價格短時間內的劇烈影響,這類突發因素能夠在短時間內破壞原油供需平衡,因此,第一項獨立成分可以解釋為市場的突發影響項。
第二項獨立成分波形具有低頻,長期下降趨勢,由圖2中美元指數的長期波動趨勢與美國煉油能力的低頻波動特征重構而成,可以有效地解釋為石油供給能力對于原油價格的影響。
第三項獨立成分波動趨勢呈現周期性特點,以12個月為一個周期,在一個周期內波形的頭部與尾部振幅大于波形中部的振幅,與圖2中美國石油產品消費量數據的波動趨勢具有一致性特點。可以解釋為在年初與年末因為天氣寒冷,取暖用石油的消費量與夏季相比出現明顯增長。整體來看,第三個獨立成分波形在前100個月時保持周期性平穩變化,在第100個月時出現下降趨勢與圖2中前期保持平穩在第100個月時出現下降的美元匯率波形相似,究其原因,是受2008年的美國次貸危機的影響。因此,第三個獨立成分可以解釋為常規性需求對于國際油價的影響。
在使用小波神經網絡對油價多影響因素數據進行訓練之前,運用Fast-ICA方法對數據進行預處理,一方面可以找到隱含在多影響因素中的內在影響因素,另一方面,該方法克服了傳統數據驅動預測方法可解釋性差的缺陷,證明了使用獨立成分分析方法分解與重構油價影響因素數據的合理性與必要性。
3.3.1 神經網絡層數確定
含多隱含層的神經網絡與單一隱含層的神經網絡相比,理論上泛化能力強,預測精度高,但是多隱含層的神經網絡結構復雜,訓練時間較長。有理論證明單一隱含層結構的神經網絡可以以任意精度逼近所需擬合的目標函數[11],并且可以通過適當選取隱含層節點數的方式來替代增加隱含層層數所帶來的優勢。基于上述原因,在本次預測中,最終選擇單一隱含層的WNN模型。
3.3.2 神經網絡各層節點數確定
在確定小波神經網絡層數的基礎上,進一步需要確定神經網絡各層神經元節點數。根據獨立成分分析的結果,本次預測為三維輸入,固輸入層含有三個神經元節點;輸出結果為單步預測,輸出層只含有一個神經元節點;目前,尚不存在統一的標準規定隱含層節點數目,本次預測采用“試錯法”探尋最合理的隱含層節點數目,具體做法是,在選取隱含層可能有4、6、8、10、12個節點的情況下,比較小波神經網絡在1000次迭代條件下的訓練誤差和,最終確定小波神經網絡隱含層有8個神經元節點的條件下訓練誤差和最小。由此構建一個3-8-1的小波神經網絡模型。
3.3.3 預測結果評價
將2001年1月到2014年4月從WTI現貨價格影響因素數據中所提取的三個獨立成分與同期的WTI月度現貨價格共同作為訓練集對小波神經網絡進行訓練。運用訓練完畢的網絡對2014年5月到2015年2月的WTI現貨價格進行10個月的數值預測。同時為了說明ICA-WNN模型的預測性能,將ICA-WNN模型與PCA-WNN神經網絡以及BP神經網絡的同期預測結果進行對比,以均方根誤差(RMSE)作為預測模型的評價函數,以度量預測值對真實值的偏離程度,其誤差計算的公式為:

其中,ti為第i個時間節點WTI現貨價格的預測值,為第i個時間節點的WTI現貨價格真實值。
同時,原油產品作為一稀缺資源,其價格走勢的方向在金融市場上受到投資者的關注,本文選用預測方向正確率DS來評估預測模型對原油價格走勢方向的預測能力:在10次隨機實驗中,記錄每次實驗下3種預測模型的均方根誤差。

根據對10個月的WTI現貨價格的月度數據的10次隨機預測結果,得到三種模型預測方向正確率的結果(見表2)。

表2 預測方向正確率結果 (單位:%)
在每一次的隨機預測中,可以得到對10個月的WTI現貨價格的預測值,在10個月數值的9次方向比較中,BP神經網絡預測對5次方向,而PCA-WNN與ICA-WNN模型預測對7次方向。體現出小波函數對非平穩油價數據的局部“聚焦優勢”,同時ICA-WNN模型對于國際油價的未來走勢方向判斷較為準確,可以有效輔助投資人進行決策。

圖4 隨機實驗結果匯總
下頁圖4為3種預測模型在10次實驗中,每次實驗的10個預測結果的均方根誤差結果,從圖4中可以得出如下結論:首先,在10次隨機預測實驗中,ICA-WNN神經網絡與BP神經網絡以及PCA-WNN神經網絡相比在9次隨機試驗中均方根誤差值最小,總體預測精度最高;另外2種小波神經網絡模型的預測精度均明顯高于BP神經網絡的預測精度,事實上,小波神經網絡隱含層所選取的morlet母小波函數與BP神經網絡所選取的S型傳遞函數相比,非線性特點更加顯著,這一差異也就決定了小波神經網絡在描述非線性關系領域比BP神經網絡更加準確;另一方面,使用獨立成分分析的方法對原始數據進行預處理的效果優于主成分分析,這是因為主成分分析只能去除多維數據間的相關性,而獨立成分分析可以得到相互獨立的多維數據,更有效地保留原有信息量,降低數據維數。
國際原油價格的影響因素多而復雜,并且各個影響因素之間存在信息相關性。本文選用獨立成分分析的方法對原油價格的多個顯著影響因素進行分解和重構成為3個獨成分,并在分析3個獨立成分數據波形的基礎上,將3個獨立成分分別解釋為市場突發影響項、石油供給能力和常規需求三個隱含影響因素,克服了常規數據驅動方法缺乏經濟學解釋的缺陷。在此基礎上,將各個獨立成分作為小波神經網絡的訓練數據,構建ICA-WNN預測模型。WTI現貨價格預測的結果證明將獨立成分分析的方法與小波神經網絡緊致結合構建的ICA-WNN模型能夠有效地刻畫原油價格上漲或是下跌的趨勢,并且相比于單一BP網絡以及PCA-WNN網絡在預測精度上提升顯著。