李祥飛,張?jiān)偕?/p>
(天津大學(xué)管理與經(jīng)濟(jì)學(xué)部,天津 300072)
基于誤差同步預(yù)測(cè)的SVM金融時(shí)間序列預(yù)測(cè)方法
李祥飛,張?jiān)偕?/p>
(天津大學(xué)管理與經(jīng)濟(jì)學(xué)部,天津 300072)
在現(xiàn)有支持向量機(jī)(SVM)方法的基礎(chǔ)上提出對(duì)預(yù)測(cè)誤差進(jìn)行同步預(yù)測(cè)的雙重預(yù)測(cè)方法,利用預(yù)測(cè)到的誤差對(duì)初步預(yù)測(cè)值進(jìn)行校正以提高預(yù)測(cè)精度.針對(duì)誤差序列非線性、非平穩(wěn)以及系統(tǒng)動(dòng)力信息不足的特點(diǎn),將經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)和支持向量機(jī)(SVM)方法結(jié)合引入誤差序列的預(yù)測(cè)中.對(duì)誤差序列的預(yù)測(cè)分別運(yùn)用初步訓(xùn)練誤差和測(cè)試誤差對(duì)預(yù)測(cè)集合的誤差進(jìn)行預(yù)測(cè),將所得到的誤差序列分解為若干固有模態(tài)分量(IMF),根據(jù)各個(gè)IMF不同尺度的特點(diǎn),選擇不同的參數(shù)對(duì)其進(jìn)行預(yù)測(cè),最終合成原始序列的誤差預(yù)測(cè)值,將所預(yù)測(cè)到的誤差與初步原始序列預(yù)測(cè)值結(jié)合,得到最終的預(yù)測(cè)值.仿真結(jié)果表明該方法能夠很好地解決預(yù)測(cè)滯后性和拐點(diǎn)誤差大的缺點(diǎn),相對(duì)于普通的SVM預(yù)測(cè)方法具有更好的預(yù)測(cè)精度.
誤差預(yù)測(cè);經(jīng)驗(yàn)?zāi)B(tài)分解;支持向量機(jī);時(shí)間序列
金融時(shí)間序列的預(yù)測(cè)對(duì)于政府經(jīng)濟(jì)政策的頒布、企業(yè)和個(gè)體的投資活動(dòng)具有至關(guān)重要的指導(dǎo)意義,但是復(fù)雜的內(nèi)部規(guī)律和龐大的數(shù)據(jù)處理使得傳統(tǒng)的預(yù)測(cè)方法效果不佳,因此新預(yù)測(cè)技術(shù)的提出和改進(jìn)一直是金融時(shí)間序列研究的重要方向之一.目前主流的金融時(shí)間序列預(yù)測(cè)方法主要有模型法和數(shù)據(jù)挖掘2種.其中模型法是目前對(duì)時(shí)間序列進(jìn)行深層次分析和刻畫的主要方法,一些經(jīng)典的時(shí)間序列分析模型如ARMA、ARCH、GARCH等已經(jīng)被大量應(yīng)用于金融時(shí)間序列預(yù)測(cè)中來.鑒于金融時(shí)間序列數(shù)據(jù)的強(qiáng)噪聲特征,依靠從大量模糊的隨機(jī)數(shù)據(jù)中提取隱含的有價(jià)值信息的數(shù)據(jù)挖掘技術(shù)最近更加受到關(guān)注.典型的數(shù)據(jù)挖掘技術(shù)主要有混沌理論、灰色理論、神經(jīng)網(wǎng)絡(luò)以及支持向量機(jī)(support vector machine,SVM).其中建立在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上的SVM的提出和應(yīng)用有著重要的意義,它在數(shù)據(jù)挖掘的基礎(chǔ)上有效縮小了泛化誤差的區(qū)間和模型的結(jié)構(gòu)風(fēng)險(xiǎn),同時(shí)又保證了樣本預(yù)測(cè)誤差最小[1].從現(xiàn)有的研究來看,SVM在高位模式識(shí)別、函數(shù)擬合、時(shí)間序列預(yù)測(cè)方面表現(xiàn)出其獨(dú)有的優(yōu)勢(shì).基于該優(yōu)勢(shì),SVM在金融時(shí)間序列的預(yù)測(cè)中也表現(xiàn)出較好的效果[2-3].近些年來,基于SVM方法的金融時(shí)間序列預(yù)測(cè)出現(xiàn)了較多的變種,其中有多變量SVM[4]、小波SVM[5]和遺傳算法SVM[6]等,這些在SVM技術(shù)上的改進(jìn)方法使得預(yù)測(cè)精度相對(duì)于傳統(tǒng)預(yù)測(cè)方法有了很大提高,但是現(xiàn)有方法仍未有效地解決SVM預(yù)測(cè)結(jié)果滯后性和拐點(diǎn)處誤差較大的2個(gè)缺點(diǎn),使得預(yù)測(cè)結(jié)果的指導(dǎo)意義仍受局限.
基于此,筆者在SVM預(yù)測(cè)的基礎(chǔ)上提出了對(duì)SVM預(yù)測(cè)誤差進(jìn)行同步預(yù)測(cè)的“雙重預(yù)測(cè)”法.為了克服誤差序列多頻帶信息造成的干擾,在對(duì)預(yù)測(cè)誤差進(jìn)行預(yù)測(cè)時(shí)引入了經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition,EMD)的方法.通過EMD方法將誤差分解為具有不同尺度特征分量的疊加,對(duì)這些分量分別運(yùn)用交叉驗(yàn)證法進(jìn)行參數(shù)選擇和預(yù)測(cè),最終獲得誤差預(yù)測(cè)值.通過預(yù)測(cè)誤差對(duì)初步預(yù)測(cè)值的校正后發(fā)現(xiàn)該方法能夠有效地解決預(yù)測(cè)滯后和拐點(diǎn)誤差的問題,預(yù)測(cè)精度也有了較大的提高.
SVM算法是由Cortes和Vapnik[7]于1995年在統(tǒng)計(jì)學(xué)理論基礎(chǔ)上提出的一種新學(xué)習(xí)方法.SVM預(yù)測(cè)的基本思想是通過非線性映射φ將數(shù)據(jù)Xi映射到高緯度特征空間F中去,在此基礎(chǔ)上進(jìn)行線性回歸.回歸函數(shù)可以表示為
式中:φ(X)為Rm空間到F空間的非線性映射,X∈Rm;w為權(quán)向量;b為偏置水平.傳統(tǒng)的預(yù)測(cè)方法即在集合F中尋找f∈F,使得結(jié)構(gòu)風(fēng)險(xiǎn)值達(dá)到最?。Y(jié)構(gòu)風(fēng)險(xiǎn)公式可以表示為
式中:w2為置信風(fēng)險(xiǎn);R[f]為經(jīng)驗(yàn)風(fēng)險(xiǎn);λ為常
emp數(shù),用來平衡函數(shù)復(fù)雜度與損失誤差;C(ei)為模型經(jīng)驗(yàn)損失;e為樣本的誤差值;S為樣本的容量.w2反
i映了模型的復(fù)雜程度,其值越小則置信風(fēng)險(xiǎn)越小.這樣對(duì)于既定的損失函數(shù),該類問題即可轉(zhuǎn)化為二次規(guī)劃最優(yōu)解的問題,根據(jù)Vapnik的ε不敏感損失函數(shù),定義為
ε控制回歸的誤差范圍,其值越小精度越高,但是泛化能力減弱.基于該類損失函數(shù)則經(jīng)驗(yàn)風(fēng)險(xiǎn)可以定義為
結(jié)合式(1)~式(4),則原問題可以表示為最小化的線性風(fēng)險(xiǎn)泛函的問題,即
式中:C=1/λ;ε為估計(jì)的精度;ζi和ζi*為松弛變量.
為了便于求解將該類問題轉(zhuǎn)化為對(duì)偶問題,即
對(duì)式(6)求解可以得到權(quán)向量w和偏置水平b,將其帶入式(1)得非線性函數(shù)為
定義高維空間內(nèi)積運(yùn)算核函數(shù)為K(xi,xj)= k′( xi) k′( xj),本研究采用徑向基核函數(shù)Krbf(xi,xj)= exp(-γ‖xi-xj‖2)進(jìn)行運(yùn)算.根據(jù)Karush-Kuhn-Tucker定理求得α和α*,其中只有少數(shù)的α 和α*不為0,這些參數(shù)對(duì)應(yīng)的樣本在不靈敏邊界上或外面的樣本為支持向量,這時(shí)可以根據(jù)回歸函數(shù)式f(X)對(duì)未知點(diǎn)進(jìn)行預(yù)測(cè).
EMD方法是Huang等[8-9]提出的一種信號(hào)處理方法.EMD方法的基本思想是:如果原始序列s(t)的極值點(diǎn)個(gè)數(shù)比過零點(diǎn)個(gè)數(shù)多2個(gè)以上,就需要進(jìn)行處理.處理方法是找到原始序列s(t)的極大值點(diǎn)和極小值點(diǎn),為了估計(jì)s(t)包絡(luò)線的函數(shù),采用三次樣條插值法進(jìn)行估計(jì).取極大值和極小值包絡(luò)線的平均值就得到了平均包絡(luò)線m1(t);原始序列S(t)減去該平均包絡(luò)線m1(t)便得到了剔除低頻數(shù)據(jù)分量的另一組序列h1(t),即
如果h1(t)仍然不平穩(wěn),EMD的處理過程將繼續(xù),重復(fù)以上過程,原則上需要最終所得到的平均包絡(luò)值為0為止.但是如果平均包絡(luò)的平均值為0,則可能剔除掉了有幅度和頻率調(diào)制的物理意義,因此將平均包絡(luò)為0適當(dāng)?shù)卣{(diào)整為一個(gè)恰當(dāng)?shù)臉?biāo)準(zhǔn).即令
式中mk(t)為第k次循環(huán)的平均包絡(luò)值.令SD介于0.1~0.2之間,這樣的標(biāo)準(zhǔn)就適當(dāng)放松了求平均包絡(luò)的要求,也在一定程度上保留了IMF分量可能攜帶的物理意義.這樣就得到了第1個(gè)分量C1(t),即
C1(t)作為第1個(gè)分量其頻率最高,用原始序列S(t)減去這一分量就得到“稍微”平穩(wěn)的一組序列r1(t).對(duì)r1(t)重復(fù)進(jìn)行以上操作就可以得到第2個(gè)分量C2(t)和另一個(gè)序列r2(t).如此重復(fù)下去就得到了一個(gè)不能再分解的序列rn(t),這時(shí)EMD分解過程結(jié)束,最終的rn(t)代表了原始序列的總體趨勢(shì).
這時(shí)原始序列就分解成了IMF分量和總體趨勢(shì)的疊加,即
本文運(yùn)用EMD的過程實(shí)際上就是將股價(jià)訓(xùn)練誤差和預(yù)測(cè)誤差序列分解為具有不同時(shí)間尺度特征的分量疊加.在處理數(shù)據(jù)時(shí),為了獲得原始序列的真實(shí)信息,防止原序列極值端點(diǎn)問題給整個(gè)結(jié)果帶來的“污染”,筆者采用多項(xiàng)式擬合算法對(duì)端點(diǎn)做了處理[10].
在運(yùn)用SVM對(duì)時(shí)間序列進(jìn)行預(yù)測(cè)的同時(shí)必然產(chǎn)生一定的誤差,這些誤差導(dǎo)致了預(yù)測(cè)結(jié)果的不理想.若對(duì)模型產(chǎn)生的誤差也能夠準(zhǔn)確測(cè)量,那么將誤差預(yù)測(cè)結(jié)果反饋后得到的預(yù)測(cè)值必然具有更高的精度.為此本研究提出了對(duì)誤差進(jìn)行同步預(yù)測(cè)的“雙重預(yù)測(cè)”思想.值得注意的是,雖然SVM方法具有很強(qiáng)的泛化性,但是誤差序列是一個(gè)具有很強(qiáng)隨機(jī)性的序列,是一種多頻譜交疊的信號(hào).用單一的SVM模型只能擬合出系統(tǒng)的非線性,而誤差序列的非平穩(wěn)性可能使預(yù)測(cè)結(jié)果不理想,如果誤差序列的預(yù)測(cè)有較大偏差,疊加之后會(huì)使得對(duì)預(yù)測(cè)序列的誤差變得更大.因此,為了提高誤差預(yù)測(cè)的精度,本研究采用EMD方法將誤差序列分解為一系列具有不同時(shí)間尺度信息的分量集合.在此基礎(chǔ)上針對(duì)不同尺度的信息對(duì)每一個(gè)信號(hào)分量選用不同的核函數(shù)和最優(yōu)參數(shù)進(jìn)行預(yù)測(cè),最后將預(yù)測(cè)結(jié)果通過疊加得到誤差的預(yù)測(cè)序列.本研究運(yùn)用EMD與SVM結(jié)合的思路如圖1所示.基本步驟描述如下.
步驟1 數(shù)據(jù)預(yù)處理.對(duì)于既定的一段股價(jià)時(shí)間序列{xt,t=1,2,…,n},為滿足支持向量機(jī)的分析方式,需要對(duì)該數(shù)據(jù)集進(jìn)行空間重構(gòu),把時(shí)間序列轉(zhuǎn)化為矩陣形式,構(gòu)造樣本(Xt,Yt),其中Xt={xt-m,xt-m+1,…,xt-1},Yt=xt.設(shè)m為滑動(dòng)時(shí)間窗口大小,代表了用前m個(gè)交易日預(yù)測(cè)第m+1交易日價(jià)格.為了更好地利用現(xiàn)有數(shù)據(jù)對(duì)誤差序列進(jìn)行預(yù)測(cè),需要針對(duì)原始序列進(jìn)行分段處理,根據(jù)各階段特征可以分為訓(xùn)練數(shù)據(jù)集A1、初步預(yù)測(cè)數(shù)據(jù)集A2和最終預(yù)測(cè)數(shù)據(jù)集A3.按空間重構(gòu)原則分別對(duì)3個(gè)數(shù)據(jù)集合進(jìn)行空間重構(gòu).
步驟2 原始序列初步預(yù)測(cè).分別運(yùn)用單一變量SVM和多變量SVM對(duì)原始序列A3集合數(shù)值進(jìn)行初步預(yù)測(cè),選擇相對(duì)準(zhǔn)確的初步預(yù)測(cè)值P(A3).
步驟3 ,EMD分解誤差并預(yù)測(cè).設(shè)想在對(duì)A3集合的誤差值進(jìn)行預(yù)測(cè)時(shí)可以用到2種方法:①利用A1和A2集合的訓(xùn)練誤差Et(A1,A2)建立SVM模型,對(duì)A3集合中誤差值進(jìn)行預(yù)測(cè)得到誤差預(yù)測(cè)值Ep(A3)1;②對(duì)A1集合的誤差集合建立對(duì)A2集合誤差值的SVM模型,得到A2集合的誤差預(yù)測(cè)值Ep(A2),然后利用Ep(A2)的值建立SVM模型對(duì)A3集合誤差進(jìn)行預(yù)測(cè),得到預(yù)測(cè)值Ep(A3)2.本研究將①中對(duì)誤差預(yù)測(cè)并對(duì)初始預(yù)測(cè)值進(jìn)行校正的方法稱為訓(xùn)練誤差預(yù)測(cè)與校正(training error prediction & correction SVM,TEPC-SVM);將②中的方法稱為測(cè)試誤差預(yù)測(cè)與校正(forecast error prediction & correction SVM,F(xiàn)EPC-SVM).
步驟4 參數(shù)確定.參數(shù)的選擇對(duì)于SVM預(yù)測(cè)的精度和泛化能力具有決定性的影響.關(guān)于SVM參數(shù)的選擇尚未有統(tǒng)一的最好方法,當(dāng)前最多被認(rèn)可和廣泛使用的方法就是交叉驗(yàn)證法(cross validation,CV).交叉驗(yàn)證是Hills[11]提出的對(duì)泛化誤差的無偏估計(jì).本文采用K折交叉驗(yàn)證法(K-CV)選擇參數(shù),這樣可以保證較高的分類準(zhǔn)確率以及避免數(shù)據(jù)挖掘技術(shù)導(dǎo)致的學(xué)習(xí)狀態(tài)不穩(wěn)和維度災(zāi)難等問題[12].
步驟5 數(shù)據(jù)預(yù)測(cè).帶入?yún)?shù),得到誤差預(yù)測(cè)結(jié)果并校正初始預(yù)測(cè)值.分別獲得A3集合的初步預(yù)測(cè)值P(A3)以及誤差預(yù)測(cè)值Ep(A3)1和Ep(A3)2.利用Ep(A3)1和Ep(A3)2分別對(duì)初步預(yù)測(cè)值P(A3)進(jìn)行校正,從而得到校正后的預(yù)測(cè)值P*(A3)1和P*(A3)2.
圖1 預(yù)測(cè)模型結(jié)構(gòu)Fig.1 Structure of forecast model
4.1 數(shù)據(jù)樣本的選擇
本文研究樣本選取上證A股指數(shù)2011年1月4日至2012年10月22日的收盤數(shù),為了檢驗(yàn)本方法對(duì)個(gè)股的預(yù)測(cè)能力,筆者隨機(jī)選取了工商銀行(601398)2011年1月4日至2012年10月22日的收盤數(shù)作為樣本.2個(gè)觀測(cè)樣本均為437個(gè)交易日.令m=4,即用前4天的股票收盤價(jià)格預(yù)測(cè)第5天的收盤價(jià)格.?dāng)?shù)據(jù)來源于國信證券金太陽網(wǎng)上交易專業(yè)版軟件.
4.2 初步預(yù)測(cè)
股價(jià)時(shí)間序列是一種有著極強(qiáng)特殊性的序列數(shù)據(jù),其變化趨勢(shì)要受到各種因素的影響.由于SVM方法的特點(diǎn),現(xiàn)有對(duì)股價(jià)多運(yùn)用的是單影響變量的預(yù)測(cè)方法.然而由于變量之間相互影響,現(xiàn)實(shí)中股價(jià)是要受多個(gè)變量影響,變量之間存在極強(qiáng)的相互依賴關(guān)系,僅由單一變量建立回歸預(yù)測(cè)模型很可能無法準(zhǔn)確預(yù)測(cè)其變化趨勢(shì),導(dǎo)致預(yù)測(cè)結(jié)果不理想.因此,為了提高初始預(yù)測(cè)的精度,本文選取單一變量SVM和多變量SVM預(yù)測(cè)結(jié)果的最優(yōu)值作為對(duì)原始序列的初步預(yù)測(cè)值.
利用樣本數(shù)據(jù)的A1集合和A2集合建立支持向量機(jī)預(yù)測(cè)模型,對(duì)樣本集A3進(jìn)行預(yù)測(cè),選取K折交叉驗(yàn)證法確定訓(xùn)練的最優(yōu)參數(shù),步驟如下.
步驟1 對(duì)樣本數(shù)據(jù)做歸一化處理,變換至[0,1]區(qū)間.
步驟2 將參數(shù)進(jìn)行原始化,選取罰函數(shù)c和核函數(shù)g的取值范圍,并將其網(wǎng)格化搜索.采用K-CV法將訓(xùn)練數(shù)據(jù)平均分為K組,記為train(1),train(2),…,train(K).K個(gè)組的數(shù)據(jù)中分別令每一組做測(cè)試數(shù)據(jù)集,剩余的K-1組做訓(xùn)練數(shù)據(jù)集,這樣需要進(jìn)行K次運(yùn)算,K次運(yùn)算對(duì)應(yīng)的準(zhǔn)確率分別為acc(1),…,acc(K).最后運(yùn)用這K組準(zhǔn)確率的平均值作為K-CV分類器性能衡量指標(biāo).運(yùn)用K-CV對(duì)本文選取的2類樣本的單一變量和多變量SVM進(jìn)行參數(shù)選擇,結(jié)果如圖2所示.
圖2 初步預(yù)測(cè)K折交叉法最優(yōu)參數(shù)選擇Fig.2 Preliminary prediction K folding bracketing method optimal parameter selection
如圖2所示,橫縱坐標(biāo)分別為c和g的對(duì)數(shù),取值范圍均為[-4,4],豎坐標(biāo)選用均方誤差.在橫縱坐標(biāo)形成的網(wǎng)格范圍內(nèi)進(jìn)行離散化搜索,選取最佳的c和g組合使得MSE的絕對(duì)值達(dá)到最小.若針對(duì)最小MSE出現(xiàn)多個(gè)c和g組合,則選擇具有最小c值的組合,原因是過大的c值可能導(dǎo)致預(yù)測(cè)模型過學(xué)習(xí)狀態(tài)的產(chǎn)生.
步驟3 將最優(yōu)參數(shù)帶入SVM預(yù)測(cè)模型,通過對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練獲得對(duì)未來股價(jià)的初步預(yù)測(cè)值.在進(jìn)行數(shù)據(jù)訓(xùn)練時(shí)對(duì)本模型采用時(shí)間窗滾動(dòng),即將本點(diǎn)的實(shí)際數(shù)據(jù)視為已知數(shù)據(jù)滾入訓(xùn)練樣本集,去除時(shí)間最遠(yuǎn)點(diǎn),重置訓(xùn)練后得到下一步的股價(jià)預(yù)測(cè)結(jié)果.單一和多維變量的SVM預(yù)測(cè)結(jié)果如圖3所示.
初步的SVM模型預(yù)測(cè)曲線表明,單一維度和多維度的變量預(yù)測(cè)對(duì)于上證A股指數(shù)和隨機(jī)選取的601398個(gè)股均能準(zhǔn)確地反映原始序列的變化趨勢(shì).但是上述提到的2個(gè)問題非常明顯:預(yù)測(cè)曲線相對(duì)于實(shí)測(cè)曲線具有非常明顯的滯后性,這主要體現(xiàn)在單一維度的SVM預(yù)測(cè)上;多維變量的SVM預(yù)測(cè)方法雖然在一定程度上減弱了預(yù)測(cè)結(jié)果的滯后性,但是在拐點(diǎn)處仍存在著較大的誤差.對(duì)于誤差的測(cè)量,筆者選用均方誤差(RMSE)、平均絕對(duì)誤差(MAE)以及平均絕對(duì)百分比誤差(MAPE)3類指標(biāo).各指標(biāo)計(jì)算公式分別為
式中:Ri為預(yù)測(cè)的實(shí)際值;Pi為預(yù)測(cè)值;T為訓(xùn)練數(shù)據(jù)集合的時(shí)間長度;N為預(yù)測(cè)集合的時(shí)間跨度.為了更加準(zhǔn)確地分析兩類方法的優(yōu)劣,分別計(jì)算上證A股指數(shù)和601398預(yù)測(cè)結(jié)果的3類誤差,并將其反映至表1.
總體上來說,相對(duì)于單一維度的SVM預(yù)測(cè),多變量SVM的誤差相對(duì)更小一些,因此本研究運(yùn)用多變量SVM的預(yù)測(cè)結(jié)果作為對(duì)原始序列的初步預(yù)測(cè)值P(A3).雖然多變量SVM體現(xiàn)出了一定的優(yōu)勢(shì),但是根據(jù)圖3和表1的結(jié)果,多變量SVM方法仍然無法有效克服拐點(diǎn)誤差較大的缺點(diǎn).采用預(yù)測(cè)誤差修正后,這一缺點(diǎn)有望得到解決.
圖3 單一和多維變量對(duì)兩類股票價(jià)格的初步預(yù)測(cè)結(jié)果Fig.3 Preliminary prediction results of single and multidimensional variable SVM method
表1 初步預(yù)測(cè)結(jié)果誤差測(cè)量Tab.1 Error measurement of preliminary prediction
4.3 EMD-SVM誤差預(yù)測(cè)模型及誤差校正
本文中出現(xiàn)的兩類誤差序列具有很強(qiáng)的隨機(jī)性,難以選取具有相同時(shí)間尺度特征的影響因素.因此本研究針對(duì)EMD分解后的各IMF分量采用上述的K-CV方法進(jìn)行參數(shù)尋優(yōu),以獲得各個(gè)不同分量的預(yù)測(cè)值.由于本研究擬采用2種誤差預(yù)測(cè)方法,所以需要對(duì)訓(xùn)練誤差和測(cè)試誤差分別進(jìn)行EMD分解.如前面建立模型步驟中描述的,2種誤差序列得到的預(yù)測(cè)值中訓(xùn)練誤差的預(yù)測(cè)值記為Ep(A3)1,預(yù)測(cè)誤差的預(yù)測(cè)值記為Ep(A3)2.
對(duì)上證A股指數(shù)(A1,A2)集合區(qū)間的訓(xùn)練誤差和A2集合區(qū)間的預(yù)測(cè)誤差進(jìn)行EMD分解,得到圖4所示的各個(gè)固有模態(tài)分量IMF和剩余分量R疊加.誤差預(yù)測(cè)和校正后的預(yù)測(cè)結(jié)果如圖5所示.
如圖4所示,TEPC-SVM方法將訓(xùn)練誤差序列分解之后得到7個(gè)IMF分量以及1個(gè)剩余分量,F(xiàn)EPC-SVM方法將預(yù)測(cè)誤差序列分解后得到5個(gè)IMF分量和1個(gè)剩余分量.運(yùn)用上述交叉驗(yàn)證法獲得最優(yōu)的訓(xùn)練參數(shù),運(yùn)用各自的最優(yōu)參數(shù)分別對(duì)各分量進(jìn)行訓(xùn)練,將各分量的預(yù)測(cè)值疊加,獲得最終的誤差預(yù)測(cè)結(jié)果Ep(A3)1和Ep(A3)2,將其反饋到初始預(yù)測(cè)序列P(A3)中,得到校正后的預(yù)測(cè)值P*(A3)1和P*(A3)2.圖5的預(yù)測(cè)結(jié)果表明,對(duì)于上證A股指數(shù),校正后的預(yù)測(cè)值與誤差預(yù)測(cè)值的趨勢(shì)具有較高的一致性,在誤差的預(yù)測(cè)值高于實(shí)際誤差值的時(shí)間點(diǎn)上,校正后的預(yù)測(cè)值會(huì)顯著高于實(shí)際值.可以看出,TEPC-SVM和FEPC-SVM兩類預(yù)測(cè)方法均取得了較好的效果,預(yù)測(cè)結(jié)果滯后性和拐點(diǎn)誤差的問題得到了很好的解決,說明了TEPC-SVM和FEPC-SVM方法在對(duì)股票大盤的預(yù)測(cè)中具有較好的應(yīng)用前景,但僅從圖形判斷難以斷定哪種方法更有優(yōu)勢(shì).
重復(fù)以上步驟,對(duì)601398個(gè)股(A1,A2)集合的訓(xùn)練誤差和A2集合的預(yù)測(cè)誤差分別進(jìn)行EMD分解,得到圖6所示的各個(gè)固有模態(tài)分量IMF和剩余分量R,誤差預(yù)測(cè)和最終預(yù)測(cè)結(jié)果如圖7所示.
如圖6所示,對(duì)于601398,TEPC-SVM訓(xùn)練誤差分解之后得到7個(gè)IMF分量以及1個(gè)剩余分量,F(xiàn)EPC-SVM預(yù)測(cè)誤差分解得到6個(gè)IMF分量和1個(gè)剩余分量.對(duì)各分量運(yùn)用交叉驗(yàn)證法獲得各自最優(yōu)參數(shù)進(jìn)行訓(xùn)練和預(yù)測(cè),圖7的結(jié)果顯示,601398的預(yù)測(cè)結(jié)果滯后性和拐點(diǎn)誤差的問題同樣得到了明顯改善.不同于上證A股指數(shù),從圖形上來看,在對(duì)601398個(gè)股的預(yù)測(cè)上,F(xiàn)EPC-SVM相對(duì)TEPC-SVM更有優(yōu)勢(shì).
圖4 上證A股誤差EMD分解及SVM訓(xùn)練Fig.4 EMD decomposition and SVM training of the Shanghai A-share
圖5 上證A股誤差預(yù)測(cè)結(jié)果及校正后的預(yù)測(cè)值Fig.5 Error prediction results of Shanghai A-share and predicted values after correction
為了更好地衡量和比較2種誤差預(yù)測(cè)方法的預(yù)測(cè)能力,將2類方法預(yù)測(cè)結(jié)果的3類誤差測(cè)量值列出,如表2所示.
圖6 601398誤差EMD分解及SVM訓(xùn)練Fig.6 EMD decomposition and SVM training of the 601398 share
圖7 601398誤差預(yù)測(cè)結(jié)果及校正后的預(yù)測(cè)值Fig.7 Error prediction results of the 601398 share and predicted values after correction
可以發(fā)現(xiàn),2類方法對(duì)于上證A股指數(shù)和601398均具有較強(qiáng)的泛化能力和預(yù)測(cè)準(zhǔn)確性.不同的是對(duì)于大盤指數(shù)的預(yù)測(cè)而言,TEPC-SVM與FEPC-SVM兩類方法各有所長;對(duì)于個(gè)股的預(yù)測(cè)結(jié)果則有明顯的差異:FEPC-SVM要明顯優(yōu)于TEPCSVM.原因可以解釋為SVM模型在用于預(yù)測(cè)之前是由訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練而建立的,產(chǎn)生誤差是已知樣本的擬合誤差,該誤差與預(yù)測(cè)樣本的預(yù)測(cè)誤差具有相似性取決于模型是欠訓(xùn)練還是正常訓(xùn)練而有所不同,而測(cè)試樣本和預(yù)測(cè)樣本對(duì)于SVM模型來說都是未知樣本,因此它們的誤差具有更相似的規(guī)律和特性.
表2 誤差預(yù)測(cè)校正方法預(yù)測(cè)結(jié)果誤差測(cè)量Tab.2 Error measurement of prediction after correction
本文在SVM數(shù)據(jù)挖掘技術(shù)的基礎(chǔ)上提出了一種改進(jìn)方法,即在對(duì)原始時(shí)間序列進(jìn)行預(yù)測(cè)的同時(shí),對(duì)可能產(chǎn)生的誤差同步進(jìn)行預(yù)測(cè).需注意的是,在對(duì)誤差序列進(jìn)行預(yù)測(cè)時(shí),考慮到誤差序列的隨機(jī)性強(qiáng),相鄰頻帶的干擾可能造成誤差序列無法體現(xiàn)反映全部的系統(tǒng)動(dòng)力信息.基于EMD多分辨率的特征,本研究提出將EMD的方法引入對(duì)誤差的預(yù)測(cè)上來,建立了基于EMD和SVM方法融合的預(yù)測(cè)模型.該模型使誤差信號(hào)中包含的信息通過各基本模態(tài)分量得到充分體現(xiàn),簡化了時(shí)間序列各尺度分量特征信息的干涉或耦合.對(duì)本研究選取的上證A股指數(shù)和隨機(jī)選取的個(gè)股601398進(jìn)行仿真測(cè)試,結(jié)果表明該預(yù)測(cè)模型能夠有效解決預(yù)測(cè)結(jié)果滯后和拐點(diǎn)誤差的問題,體現(xiàn)了該類方法的良好應(yīng)用前景.限于篇幅,本研究并未對(duì)其他大盤股指數(shù)和個(gè)股進(jìn)行測(cè)試.進(jìn)一步增加測(cè)試樣本的數(shù)量和測(cè)試范圍,探討該模型的適用性將是未來研究的重要方向之一.
[1] Vapnik V. The Nature of Statistical Learning Theory[M]. New York:Springer-Verlag,1999.
[2] Tay F,Cao L. Modified support vector machines in financial time series forecasting[J]. Neurocomputing,2002,48(1/2/3/4):847-861.
[3] Thissen U,van Brakel R,de Weijer A P,et al. Using support vector machines for time series prediction[J]. Chemometrics and Intelligent Laboratory Systems, 2003,69(1/2):35-49.
[4] 金 桃,岳 敏,穆進(jìn)超,等. 基于SVM的多變量股市時(shí)間序列預(yù)測(cè)研究[J]. 計(jì)算機(jī)應(yīng)用與軟件,2010,27(6):191-194.
Jin Tao,Yue Min,Mu Jinchao,et al. On SVM-based multi-variable stock market time series prediction[J]. Computer Applications and Software,2010,27(6):191-194(in Chinese).
[5] 楊 穌,史耀媛,宋 恒. 基于小波變換域的SVM股市時(shí)間序列預(yù)測(cè)算法[J]. 科學(xué)技術(shù)與工程,2008,8(12):3171-3175.
Yang Su,Shi Yaoyuan,Song Heng. Stock market time series prediction method based on SVM and wavelet[J]. Science Technology and Engineering,2008,8(12):3171-3175(in Chinese).
[6] 李 軍,趙 峰. 基于支持向量回歸神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)[J]. 系統(tǒng)仿真學(xué)報(bào),2008,20(15):4025-4030.
Li Jun,Zhao Feng. Time series prediction using support vector regression neural networks[J]. Journal of System Simulation,2008,20(15):4025-4030(in Chinese).
[7] Cortes C,Vapnik V. Support-vector networks[J]. Machine Learning,1995,20(3):273-297.
[8] Huang N E,Shen Z,Long S R,et al. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis[J]. Proceedings of the Royal Society A:Mathematical,Physical and Engineering Sciences,1998,454(1971):903-995.
[9] Huang N E,Shen Z,Long S R. A new view of nonlinear water waves:The Hilbert spectrum[J]. Annual Review of Fluid Mechanics,1999,31:417-457.
[10] 劉慧婷,倪志偉,李建洋. 經(jīng)驗(yàn)?zāi)B(tài)分解方法及實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用,2006,42(32):44-47.
Liu Huiting,Ni Zhiwei,Li Jianyang. Empirical mode decomposition method and its implementation[J]. Computer Engineering and Applications,2006,42(32):44-47(in Chinese).
[11] Hills M. Allocation rules and their error rates[J]. Journal of the Royal Statistical Society,Series B:Methodological,1966,28(1):1-31.
[12] Du H F,Gong M G,Jiao L C,et al. A novel artificial immune system algorithm for high-dimensional function numerical optimization[J]. Progress in Natural Science,2005,15(5):463-471.
(責(zé)任編輯:孫立華)
Support Vector Machine Method for Financial Time Series Prediction Based on Simultaneous Error Prediction
Li Xiangfei,Zhang Zaisheng
(College of Management and Economics,Tianjin University,Tianjin 300072,China)
A double prediction method by means of synchronous prediction of the prediction error was proposed based on the existing support vector machine (SVM)method, and the predicted error was used to correct the preliminary predicted values in order to improve the prediction accuracy. Considering that the error sequence may have features of non-stationarity, nonlinearity system and insufficient information of system dynamics, the empirical mode decomposition (EMD) method was used and embed into the support vector machine method to predict the error series according to the preliminary training error and test error respectively. In order to get the final prediction error, different parameters were chosen to forecast the error sequence decomposed into several intrinsic mode function(IMF) components according to the different scale characteristics of each IMF. The final prediction results were obtained by using prediction error to correct the preliminary predicted values. Simulation results show that the new method which can solve the problems of forecast hysteresis and inflection point error effectively has better prediction precision.
error prediction;empirical mode decomposition;support vector machine;time series
TP181
A
0493-2137(2014)01-0086-09
10.11784/tdxbz201211039
2012-11-21;
2013-03-15.
國家自然科學(xué)基金資助項(xiàng)目(70971097).
李祥飛(1986— ),男,博士研究生,soar.li@163.com.
張?jiān)偕瑉hangzs@tju.edu.cn.