楊馨園 趙穎祺 吳曼 劉進祿 徐捷 劉可 高翔
摘要:為研究貴金屬價格的變化趨勢,以100g現(xiàn)貨黃金Au100g為例進行數(shù)據(jù)處理和建模。綜合考慮多重因素對貴金屬價格的影響,主要包括石油價格、通貨膨脹(具體體現(xiàn)在居民消費物價指數(shù)、商品零售價格指數(shù)等)、人民幣美元匯率、股票市場(具體可以體現(xiàn)在道瓊斯指數(shù)、納斯達克指數(shù)、滬深指數(shù)等),整合07年以來近九年的Au100g價格日數(shù)據(jù)和月度數(shù)據(jù)以及各種影響因素的相關數(shù)據(jù)。利用馬爾科夫模型、神經(jīng)網(wǎng)絡、偏最小二乘分析等多種數(shù)學模型,取長補短,從長短期等多角度進行充分的數(shù)據(jù)挖掘,進而預測Au100g的價格,本文重點以人工神經(jīng)網(wǎng)絡模型展開介紹。
關鍵詞:貴金屬價格預測;神經(jīng)網(wǎng)絡;馬爾科夫模型;偏最小二乘分析
中圖分類號:TF83 文獻識別碼:A 文章編號:1001-828X(2016)012-000-04
一、模型一:馬爾科夫模型
1.馬爾科夫模型基本介紹
馬爾科夫預測模型的構建,即利用初始狀態(tài)的概率向量和狀態(tài)轉(zhuǎn)移矩陣來推測預測對象未來某一時間所處的狀態(tài)。S(k)=S(k-1)· P=S(0)·Pk,其中,P為一步轉(zhuǎn)移概率矩陣。由模型可知,第K期的狀態(tài)概率取決于初始狀態(tài)概率和一步轉(zhuǎn)移概率矩陣的K次方。由此可見,若已知初始狀態(tài)概率向量S(0)及轉(zhuǎn)移矩陣P,則可求出預測對象在任一時間處于任一狀態(tài)的概率。
2.馬爾科夫模型的約束性[1]
運用馬爾科夫預測模型對預測對象在預測期間的約束條件為:
(1)每一個時期向下一個時期的轉(zhuǎn)移概率不變,均為一步轉(zhuǎn)移概率;
(2)預測期間狀態(tài)的個數(shù)不變;
(3)無后效性,即狀態(tài)的轉(zhuǎn)移僅與它前一期的狀態(tài)和取值有關,而與前一期以前所處的狀態(tài)和取值無關。符合上述約束條件的預測對象即構成馬爾科夫過程,我們可對其建立預測模型進行預測。
但值得注意的是,由于長期來看轉(zhuǎn)移概率矩陣將發(fā)生變化,馬爾科夫預測法只適合于短期預測。在短期內(nèi),如果貴金屬市場無特殊事件發(fā)生,運行正常,那么貴金屬價格的變化過程可看作一個動態(tài)的隨機過程,滿足馬爾科夫過程的條件,可以運用馬爾科夫預測法進行價格的預測。
3.模型的建立與求解
步驟如下:
①根據(jù)歷史數(shù)據(jù)推算貴金屬價格的轉(zhuǎn)移率,算出轉(zhuǎn)移率的轉(zhuǎn)移矩陣;
②統(tǒng)計作為初始時刻點的貴金屬價格分布狀況;
③建立馬爾科夫模型,預測未來貴金屬價格供給狀況。
本文選取2015年6月-2016年2月共183個交易日的收盤價變動情況為例,將黃金價格的增長率劃分為5種狀態(tài):快速增長(價格增長超過0.05%)、緩慢增長、相對不變、緩慢下降、快速下降(價格下跌超過0.05%),分別記為狀態(tài)1、2、3、4、5。
由程序運行結(jié)果知:出現(xiàn)各種狀態(tài)的次數(shù)矩陣如下:
又因為最后一個交易日的大盤狀態(tài)為4,所以預測下一個交易日黃金價格處于狀態(tài)1、2、3、4、5的概率矩陣為[0 0.5278 0.0694 0.3889 0.0139],即下一個交易日黃金價格緩慢增長的可能性最大,概率為52.78%。進而求出兩補狀態(tài)轉(zhuǎn)移矩陣如下:
預測下一個交易日黃金價格處于狀態(tài)1、2、3、4、5的概率矩陣為[0.0057 0.4997 0.0710 0.4078 0.0158],即再下一個交易日黃金價格仍然是緩慢增長的可能性最大,概率為49.97%。但是可以看出價格處于四種狀態(tài)的概率越來越接近,預測結(jié)果越來越不明顯,所以表明馬爾科夫模型只適用于做短期預測。
由求解結(jié)果與實際金價對比可知,運用馬爾科夫方法構建的預測模型對貴金屬價格的預測顯示出一定的成功率。當然,也應該指出這種概率預測方法得出的結(jié)果只是表明了預測對象將來將以某一概率趨向于某種狀態(tài),而不是絕對處于這種狀態(tài),也并不能完全得到貴金屬價格的具體數(shù)值。由于貴金屬市場的波動是一個復雜的非線性系統(tǒng),貴金屬價格的變化受到了多種因素的影響,因而包括馬爾科夫預測法在內(nèi)的任何一種預測方法都不可能準確地預測出貴金屬價格每日的變化。雖然運用馬爾科夫預測法對金價作短期預測只能取得一定的效果,但其新的預測思路也頗具借鑒意義。
二、模型二:人工神經(jīng)網(wǎng)絡
1.神經(jīng)網(wǎng)絡模型基本介紹
人工神經(jīng)網(wǎng)絡是由具有適應性的簡單單元組成的廣泛并行互連的網(wǎng)絡,它的組織能夠模擬生物神經(jīng)系統(tǒng)對真實世界物體所作出的交互反應。BP神經(jīng)網(wǎng)絡是訓練方式為誤差反向傳播,激勵函數(shù)為S-sigmoid函數(shù),即為:f(x)=1/(1+exp(-x))。BP網(wǎng)絡模型處理信息的基本原理是:輸入信號通過中間節(jié)點(隱層點)作用于輸出節(jié)點,經(jīng)過非線形變換,產(chǎn)生輸出信號,網(wǎng)絡訓練的每個樣本包括輸入向量和期望輸出量,網(wǎng)絡輸出值與期望輸出值之間的偏差,通過調(diào)整輸入節(jié)點與隱層節(jié)點的聯(lián)接強度取值和隱層節(jié)點與輸出節(jié)點之間的聯(lián)接強度以及閾值,使誤差沿梯度方向下降,經(jīng)過反復學習訓練,確定與最小誤差相對應的網(wǎng)絡參數(shù)(權值和閾值),訓練即告停止。此時經(jīng)過訓練的神經(jīng)網(wǎng)絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經(jīng)過非線形轉(zhuǎn)換的信息。
BP網(wǎng)絡模型包括其輸入輸出模型、作用函數(shù)模型、誤差計算模型和自學習模型[2]。
節(jié)點輸出模型
f-非線形作用函數(shù);q-神經(jīng)單元閾值;
作用函數(shù)模型
誤差計算模型
誤差計算模型是反映神經(jīng)網(wǎng)絡期望輸出與計算輸出之間誤差大小的函數(shù),本文所采取的是殘差計算方式:
其中,表示 i節(jié)點的期望輸出值;表示i節(jié)點計算輸出值。
學習(權值更正)模型
神經(jīng)網(wǎng)絡的學習過程,即連接下層節(jié)點和上層節(jié)點之間的權重拒陣的設定和誤差修正過程。BP網(wǎng)絡有導師學習方式-需要設定期望值和無導師學習方式-只需輸入模式之分。自學習模型
表示學習因子;表示輸出節(jié)點i的計算誤差;表示輸出節(jié)點j的計算輸出;表示動量因子。
過程神經(jīng)網(wǎng)絡與一般的人工神經(jīng)網(wǎng)絡最大的不同在于,某一時刻的系統(tǒng)輸入量不止是當前時刻的輸入量,而且還包含之前某段時間的輸入量,輸入層節(jié)點用于接受時變的輸入函數(shù),個時變輸入函數(shù)的空間加權聚合、時間累積聚合以及激勵運算,并將運算結(jié)果輸出至輸出層;輸出層也不僅接受來自隱層神經(jīng)元的激勵計算結(jié)果,而且直接接受來自輸入層的時變輸入函數(shù)信號,并將接受到的信號在進行完空間加權聚合及時間累積聚合的運算后完成系統(tǒng)的激勵輸出。
2.過程BP神經(jīng)網(wǎng)絡的模型建立
由于黃金價格的自身時間序列預測,是根據(jù)之前某段時間的價格預測之后某個時間點的價格,基于這一點思想,建立了過程BP神經(jīng)網(wǎng)絡,由于對輸入量時間維度的階數(shù)最優(yōu)性的不確定,本文分別構建了1-12階的過程神經(jīng)網(wǎng)絡,即當前系統(tǒng)的輸入量分別為之前1-12個時刻的輸入值(黃金價格),以此來構建1-12階的過程神經(jīng)網(wǎng)絡。分別比較得到的12個神經(jīng)網(wǎng)絡的實際輸出與預期輸出的關系,選取其中誤差最小的階數(shù),作為最優(yōu)過程神經(jīng)網(wǎng)絡的階數(shù)。
同時對于劃分好的輸入量,輸出量,選取其中的百分之九十進行學習,并用剩余的百分之十進行檢驗,即可以防止學習不足,數(shù)據(jù)信息提取不完善,又可以做到防止過擬合,過度依賴于原數(shù)據(jù)而失去了對其他數(shù)據(jù)的處理能力。
輸入量和相應輸出量數(shù)據(jù)提取。在進行第階的過程神經(jīng)網(wǎng)絡的構造時,輸入量的組數(shù)為 [N/k](其中N為總黃金價格日數(shù)據(jù)的個數(shù)),其中第組輸入量為,輸出量分別為。
輸入量和相應輸出量的歸一化處理。由于數(shù)據(jù)差異性基本都在同一數(shù)量級,為了神經(jīng)網(wǎng)絡的權值不會特別受輸入量,本文所采取的歸一化方式為把最小值歸一化為0,把最大值歸一化為1,歸一化公式如下:
神經(jīng)網(wǎng)絡基本結(jié)構的創(chuàng)建。過程BP神經(jīng)網(wǎng)絡的結(jié)構選取為,輸入神經(jīng)元個數(shù)等于階數(shù),共含有兩個隱含層,每個隱含層含有五個神經(jīng)元,輸出神經(jīng)元個數(shù)為1,基本結(jié)構如下:
神經(jīng)網(wǎng)絡的學習過程。神經(jīng)網(wǎng)絡的學習過程按照梯度下降法進行,以11階輸入為例,學習過程的相關圖像如下。
隨著迭代次數(shù)的殘差變化情況如下:
神經(jīng)網(wǎng)絡的相關參數(shù)值的變化示意圖如下:
神經(jīng)網(wǎng)絡訓練45代之后,訓練數(shù)據(jù)、測試數(shù)據(jù)、檢驗數(shù)據(jù)和全部數(shù)據(jù)分別與實際數(shù)據(jù)的相關性程度示意圖如下:
利用學習的結(jié)果進行預測,并根據(jù)誤差計算公式,計算分析每一階數(shù)的預測效果。
3.模型的求解
模型求解得到階數(shù)1-12的預測誤差如下:
在此給出具有代表性的兩幅預測圖像:
(即綜合誤差最大的2階圖像、綜合誤差最小的10階圖像)
最優(yōu)階數(shù)所對應的神經(jīng)網(wǎng)絡的訓練結(jié)果如下:
三、模型三:偏最小二乘法
1.偏最小二乘法基本介紹[3]
偏最小二乘法的基本公式為:
偏最小二乘回歸≈主成分分析+典型相關分析+ 多元線性回歸分析[4]
偏最小二乘法的基礎是最小二乘法,在盡可能提取包含自變量更多信息的成分的基礎上,保證了提取成分和因變量的最大相關性,即偏愛與因變量有關的部分,所以稱其為偏最小二乘回歸。
2.模型的建立與求解
模擬黃金價格與各因素之間的關系,變?yōu)闃嬙煲粋€變量與自變量之間的函數(shù)關系。通過主成分分析的方法,在自變量中提取主要成分,在因變量中提取主要成分,并且讓(通過典型相關分析實現(xiàn)),然后進行因變量,若精度滿足要求,即在本文中要求交叉有效性小于0.0985,則停止進行下一個主成分的選取。否則再繼續(xù)選取第二主成分,然后進行,直到滿足精度的要求。當構建完成,再得到因變量與自變量偏最小二乘方程[5]。
經(jīng)Matlab程序運行后得到交叉有效性-0.1723以及主成分的系數(shù)矩陣,進而得到因變量與自變量之間的偏最小二乘回歸方程:
易知三種方法的精確程度:神經(jīng)網(wǎng)絡>偏最小二乘分析>馬爾科夫模型。馬爾科夫模型精度最低,我們僅用該模型通過黃金價格的數(shù)據(jù)預測其變化趨勢及大致浮動范圍,無法加入相關因素的擾動進行分析與預測。神經(jīng)網(wǎng)絡是模擬生物神經(jīng)系統(tǒng)對真實世界物體所作出的交互反應,因此其預測數(shù)據(jù)的擬合度最高。偏最小二乘分析法則是通過純數(shù)理方法進行預測,相對神經(jīng)網(wǎng)絡缺少交互性。
參考文獻:
[1]李海濤.運用馬爾科夫預測法預測股票價格[J].統(tǒng)計與決策,2002(5).
[2]張立明.人工神經(jīng)網(wǎng)絡的模型及其應用[M].上海:復旦大學出版,1993.
[3]高惠璇,著.應用多元統(tǒng)計分析[M].北京:北京大學出版社,2005,1.
[4]王惠文.偏最小二乘回歸方法及其應用[M].北京:國防工業(yè)出版社,1999,4.
[5]何曉群.回歸分析與經(jīng)濟數(shù)學建模[M].北京:中國人民大學出版社,1997,5.