王衛(wèi)紅,卓鵬宇
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 浙江 杭州 310023)
基于PCA-FOA-SVR的股票價(jià)格預(yù)測(cè)研究
王衛(wèi)紅,卓鵬宇
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 浙江 杭州 310023)
摘要:研究股票價(jià)格預(yù)測(cè)問(wèn)題,針對(duì)影響股票價(jià)格因素多存在數(shù)據(jù)冗余,傳統(tǒng)方法無(wú)法消除數(shù)據(jù)冗余,準(zhǔn)確穩(wěn)定預(yù)測(cè)股價(jià)非線性變化.為提高預(yù)測(cè)精度,在傳統(tǒng)的支持向量機(jī)回歸(Support vector regression, SVR)方法的基礎(chǔ)上引入主成分分析(Principal component analysis, PCA)和果蠅算法(Fruit fly optimization algorithm, FOA),提出了一種PCA-FOA-SVR的股票價(jià)格預(yù)測(cè)方法.首先利用PCA對(duì)影響股票價(jià)格的因素進(jìn)行分析降維,消除冗余信息,然后用果蠅算法優(yōu)化SVR的參數(shù),利用優(yōu)化后的SVR對(duì)非線性變化的股票價(jià)格建模預(yù)測(cè).最后利用PCA-FOA-SVR模型對(duì)寧滬高速(600377)股票價(jià)格數(shù)據(jù)進(jìn)行仿真實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明:與傳統(tǒng)的BP和SVR相比,PCA-FOA-SVR模型在股票價(jià)格預(yù)測(cè)中進(jìn)一步減小了預(yù)測(cè)誤差,有更高的預(yù)測(cè)精度,是一種有效可行的股票價(jià)格預(yù)測(cè)方法.
關(guān)鍵詞:主成分分析;支持向量回歸機(jī);果蠅優(yōu)化算法;股票價(jià)格預(yù)測(cè)
股票市場(chǎng)價(jià)格是反映經(jīng)濟(jì)動(dòng)向的晴雨表,對(duì)股票價(jià)格的準(zhǔn)確預(yù)測(cè)可以引導(dǎo)市場(chǎng)平穩(wěn)運(yùn)行,降低風(fēng)險(xiǎn),也可以使投資者最大限度地規(guī)避風(fēng)險(xiǎn),做出正確的投資策略,獲得最大收益.由于受到政治、經(jīng)濟(jì)和社會(huì)等各種因素的綜合影響,股票價(jià)格波動(dòng)大,變化異常復(fù)雜,因此準(zhǔn)確把握股票價(jià)格的運(yùn)行態(tài)勢(shì)一直是金融領(lǐng)域的研究重點(diǎn).
國(guó)內(nèi)外學(xué)者對(duì)股票價(jià)格預(yù)測(cè)進(jìn)行了深入的研究,提出了各種預(yù)測(cè)方法.時(shí)間序列分析是最先應(yīng)用于股票價(jià)格預(yù)測(cè)的方法,文獻(xiàn)[1]對(duì)股票開(kāi)盤價(jià)格建立ARMA模型,對(duì)股票開(kāi)盤價(jià)進(jìn)行短期預(yù)測(cè).由于受到各種因素的影響,股票價(jià)格呈現(xiàn)出非線性變化,基于線性模型的時(shí)間序列分析法不能很好地反映股票非線性變化規(guī)律,預(yù)測(cè)精度低,應(yīng)用受限.隨著人工智能技術(shù)的興起,BP神經(jīng)網(wǎng)絡(luò)因?yàn)槠鋸?qiáng)大的非線性映射能力被廣泛應(yīng)用在股票價(jià)格預(yù)測(cè)中.文獻(xiàn)[2]提出一種基于BP神經(jīng)網(wǎng)絡(luò)的股票價(jià)格預(yù)測(cè)模型SPPM,對(duì)股票價(jià)格建立多個(gè)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè).神經(jīng)網(wǎng)絡(luò)在非線性的股票預(yù)測(cè)中取得了良好的效果,但同時(shí)存在著學(xué)習(xí)記憶不穩(wěn)定,收斂速度慢,容易陷入局部最優(yōu)值的問(wèn)題.支持向量機(jī)回歸(SVR)作為一種新型的機(jī)器學(xué)習(xí)算法[3],可以克服神經(jīng)網(wǎng)絡(luò)過(guò)擬合,小樣本,局部最小值等缺陷,被越來(lái)越多地運(yùn)用在股票價(jià)格預(yù)測(cè)中[4-5].由于SVR對(duì)參數(shù)選取敏感,合適回歸參數(shù)的選取對(duì)SVR模型預(yù)測(cè)精度有著決定性作用,但目前沒(méi)有有效的理論指導(dǎo)原則.文獻(xiàn)[6]用粒子群算法對(duì)支持向量機(jī)的參數(shù)進(jìn)行優(yōu)化,文獻(xiàn)[7]用遺傳算法優(yōu)化搜尋支持向量機(jī)的各項(xiàng)參數(shù),粒子群算法和遺傳算法為SVR參數(shù)的選取提供了一定的指導(dǎo),但容易陷入局部最優(yōu)值.筆者提出了一種利用果蠅算法優(yōu)化支持向量回歸機(jī)參數(shù)的股票價(jià)格預(yù)測(cè)方法(PCA-FOA-SVR).果蠅優(yōu)化算法[8]是Pan受果蠅覓食行為的啟發(fā)而推演出來(lái)的一種群體智能優(yōu)化算法.該算法參數(shù)設(shè)置簡(jiǎn)單,適應(yīng)性強(qiáng),搜索效率高,相比其他智能算法全局尋優(yōu)能力強(qiáng),不容易陷入局部最優(yōu)值.這里,筆者采用果蠅算法來(lái)優(yōu)化SVR的參數(shù),同時(shí)利用主成分分析法對(duì)SVR的輸入維數(shù)進(jìn)行分析降維,提取主成分,消除輸入數(shù)據(jù)的冗余,以簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),提高預(yù)測(cè)精度.在傳統(tǒng)支持向量機(jī)回歸的基礎(chǔ)上通過(guò)引入主成分分析和果蠅算法,克服股票價(jià)格數(shù)據(jù)冗余,有效解決SVR參數(shù)難以選擇的問(wèn)題,為股票價(jià)格預(yù)測(cè)提供了一個(gè)新的途徑.用PCA-FOA-SVR股票預(yù)測(cè)模型對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)仿真,并與其他模型對(duì)比,驗(yàn)證模型的有效性.
1PCA-FOA-SVR模型
1.1建?;舅枷?/p>
股票市場(chǎng)作為一個(gè)復(fù)雜的動(dòng)態(tài)非線性系統(tǒng),對(duì)股票價(jià)格的預(yù)測(cè)一直是研究者關(guān)注的重點(diǎn).股票預(yù)測(cè)的基本思想一般是利用股票價(jià)格的歷史數(shù)據(jù)對(duì)股票未來(lái)的價(jià)格進(jìn)行預(yù)測(cè)判斷[9].但影響股票價(jià)格的因素很多,包括歷史數(shù)據(jù),技術(shù)指標(biāo),市場(chǎng)因素等,這些數(shù)據(jù)之間往往存在著高度冗余,選取影響股票未來(lái)價(jià)格的有效因素對(duì)股票預(yù)測(cè)至關(guān)重要,如果將所有數(shù)據(jù)都作為網(wǎng)絡(luò)的輸入,則會(huì)增加網(wǎng)絡(luò)復(fù)雜度,延長(zhǎng)網(wǎng)絡(luò)訓(xùn)練時(shí)間.PCA可以消除數(shù)據(jù)之間冗余,有效選取影響股票價(jià)格的主成分,因此先利用PCA進(jìn)行數(shù)據(jù)分析,降低輸入維數(shù),提高訓(xùn)練樣本有效性.SVR作為后來(lái)發(fā)展起來(lái)的機(jī)器學(xué)習(xí)算法,可以克服神經(jīng)網(wǎng)路的缺陷,被越來(lái)越多地用在非線性時(shí)間序列領(lǐng)域,尤其是SVR良好的泛化能力在處理非線性股票價(jià)格的預(yù)測(cè)中有著較大的優(yōu)勢(shì),因此利用SVR對(duì)PCA分析后的輸入變量進(jìn)行建模預(yù)測(cè).然而,利用SVR的優(yōu)勢(shì)進(jìn)行股票價(jià)格預(yù)測(cè)的前提是選擇合適的回歸參數(shù),股票價(jià)格預(yù)測(cè)精度與回歸參數(shù)的選取有著緊密的聯(lián)系.SVR參數(shù)選取的過(guò)程實(shí)質(zhì)是一個(gè)搜索優(yōu)化的過(guò)程.果蠅算法作為一種全新的群體智能優(yōu)化算法,考慮到其算法簡(jiǎn)單,搜索效率高,收斂速度快,在參數(shù)尋優(yōu)方面有著獨(dú)特的優(yōu)勢(shì),因此這里采用果蠅算法對(duì)SVR的參數(shù)進(jìn)行尋優(yōu)處理,用優(yōu)化好后的SVR模型對(duì)股票價(jià)格進(jìn)行建模預(yù)測(cè).算法流程圖如圖1所示.
圖1 PCA-FOA-SVR算法流程圖Fig.1 Flow chart of PCA-FOA-SVR algorithm
1.2主成分分析
主成分分析[10](PCA)是一種利用原始變量之間的相關(guān)性,通過(guò)原來(lái)變量的少數(shù)幾個(gè)線性組合解釋原始變量來(lái)實(shí)現(xiàn)降維的多元統(tǒng)計(jì)方法.在股票價(jià)格預(yù)測(cè)問(wèn)題的研究中,影響股票價(jià)格的因素很多,有些對(duì)結(jié)果的影響大,有些對(duì)結(jié)果的影響小.主成分分析法就是把影響股票價(jià)格的幾個(gè)因素集中到某幾個(gè)綜合指標(biāo)(也就是主成分)上,原始變量通過(guò)線性組合來(lái)反應(yīng)每一個(gè)主成分,主成分之間互為正交,用幾個(gè)主成分盡可能多地反映原有變量所包含的信息,繼而可以縮短多變量時(shí)間序列的維數(shù),去除冗余信息,減少隱含在多變量時(shí)間序列中的部分噪聲,使問(wèn)題大大簡(jiǎn)化[11].主成分的求解步驟如下:
1) 確定分析變量,搜集數(shù)據(jù)資料.
假設(shè)有一樣本,含有n個(gè)樣本、p個(gè)變量,用自變量矩陣X(n×p)表示樣本集.
2) 對(duì)原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化變換.
原始數(shù)據(jù)標(biāo)準(zhǔn)化是為了消除由于量綱的不同可能帶來(lái)的一些不合理影響.
標(biāo)準(zhǔn)化后的自變量為
(1)
3) 計(jì)算原始觀測(cè)變量樣本數(shù)據(jù)矩陣X經(jīng)標(biāo)準(zhǔn)化變換后的協(xié)方差矩陣R,計(jì)算式為
(2)
4) 計(jì)算協(xié)方差矩陣R的特征值矩陣L和特征向量矩陣A,計(jì)算式為
RA=AL
(3)
5) 根據(jù)特征值矩陣L和特征向量矩陣A分別計(jì)算變量的主成分貢獻(xiàn)率及累計(jì)貢獻(xiàn)率.由累計(jì)貢獻(xiàn)率的大小來(lái)判定主成分的個(gè)數(shù),一般要求累計(jì)貢獻(xiàn)率不小于85%.貢獻(xiàn)率和累計(jì)貢獻(xiàn)率的計(jì)算式分別為
(4)
(5)
6) 根據(jù)確定的主成分替代原始數(shù)據(jù).
1.3支持向量機(jī)回歸
支持向量機(jī)回歸問(wèn)題可以解釋為:根據(jù)輸入-輸出數(shù)據(jù)集(xi,yi)(i=1,…,M),來(lái)求取輸入和輸出之間的關(guān)系.其中,xi是第i個(gè)m維輸入向量,yi是第i個(gè)輸出標(biāo)量,M是訓(xùn)練樣本數(shù).
在支持向量回歸中,首先將輸入向量通過(guò)一個(gè)非線性映射φ(x)映射到一個(gè)高維特征空間,然后在高維特征空間中構(gòu)造優(yōu)化超平面,進(jìn)行線性回歸,線性回歸函數(shù)表現(xiàn)形式為
f(x)=〈w,φ(x)〉+b
(6)
式中:w為超平面的權(quán)值向量;b為偏置量.SVR實(shí)質(zhì)上是一個(gè)優(yōu)化問(wèn)題,可以通過(guò)最小化目標(biāo)函數(shù),目標(biāo)函數(shù)式[12]為
s.t.
yi-f(xi)≤ξi+ε,i=1,…,k
(7)
這是一個(gè)二次優(yōu)化問(wèn)題,引入拉格朗日函數(shù),將二次優(yōu)化問(wèn)題轉(zhuǎn)化為其對(duì)偶形式為
s.t.
(8)
解二次優(yōu)化的對(duì)偶形式,可以得到a的值,其中ω的表達(dá)式為
(9)
因此回歸函數(shù)的表達(dá)式為
(10)
計(jì)算b的值,按照Kuhn-Tucker定理,根據(jù)不同的約束條件,可由不同的表達(dá)式計(jì)算得出,即
(11)
1.4基于果蠅算法的SVR參數(shù)優(yōu)化
SVR模型參數(shù)的選取對(duì)模型的預(yù)測(cè)精度和推廣能力有著決定性影響.SVR的參數(shù)一般有不敏感系數(shù)ε,懲罰因子c,核函數(shù)參數(shù)g等[13].不敏感系數(shù)控制函數(shù)擬合誤差大小,與支持向量機(jī)的數(shù)目有著密切關(guān)系:ε過(guò)大,會(huì)使支持向量機(jī)數(shù)目變少,進(jìn)而會(huì)降低模型預(yù)測(cè)精度;ε過(guò)小,支持向量機(jī)數(shù)目多,導(dǎo)致模型復(fù)雜,推廣能力差.懲罰因子c影響著模型的復(fù)雜度和穩(wěn)定性:c取值大,學(xué)習(xí)精度高,泛化能力差;c取值小,對(duì)經(jīng)驗(yàn)誤差的懲罰小,訓(xùn)練誤差變大.核函數(shù)參數(shù)影響著學(xué)習(xí)樣本在空間分布的復(fù)雜程度:g取值大,模型的預(yù)測(cè)精度得不到保證;g取值小,模型復(fù)雜,推廣能力受限.因此如果選取的參數(shù)合適,就可以得到穩(wěn)定準(zhǔn)確的回歸模型.
果蠅優(yōu)化算法是根據(jù)果蠅獨(dú)特的覓食行為而推演出來(lái)的一種全新群體智能優(yōu)化算法.果蠅有著優(yōu)于其他物種的嗅覺(jué)和視覺(jué),在尋找食物過(guò)程中,首先根據(jù)空氣中食物的氣味來(lái)搜尋食物的來(lái)源,當(dāng)飛近食物后再利用其敏銳的視覺(jué)來(lái)定位食物和種群其他果蠅的位置,并往該方向飛去.
利用FOA對(duì)SVR的參數(shù)進(jìn)行優(yōu)化,首先建立關(guān)于參數(shù)(c,g)的目標(biāo)函數(shù),通過(guò)迭代算法尋找一組最優(yōu)的參數(shù)(c,g)使目標(biāo)函數(shù)的值最小.FOA算法主要步驟[14]為
1) 隨機(jī)初始化果蠅位置:(Xaxis,Yaxis).
2) 賦予果蠅隨機(jī)方向和距離:
Xi=Xaxis+RandomValue
Yi=Yaxis+RandomValue
(12)
3) 計(jì)算味道濃度判定值S.由于食物的具體位置開(kāi)始無(wú)法確定,因此先估計(jì)果蠅與原點(diǎn)間的距離Dist,再根據(jù)Dist計(jì)算味道濃度判定值S:
(13)
Si=1/Disti
(14)
4) 求果蠅味道濃度Smell.為求出每個(gè)果蠅個(gè)體位置的味道濃度Smelli,引入味道濃度判定函數(shù)(Fitness function),將味道濃度判定值Si帶入該函數(shù)中:
Smelli=Function(Si)
(15)
5) 在果蠅群體中找出味道濃度最高的果蠅(最優(yōu)個(gè)體):
[bestSmell,bestIndex]=max(Smelli)
(16)
6) 對(duì)味道濃度值最佳的果蠅,保留其X,Y的坐標(biāo)值,果蠅群體其他果蠅利用視覺(jué)飛往該位置:
Smellbest=bestSmell
(17)
Xaxis=X(bestindex)
Yaxis=Y(bestindex)
(18)
7) 進(jìn)入迭代優(yōu)化階段.重復(fù)步驟2)到步驟6)判斷果蠅的味道濃度是否優(yōu)于上一代的味道濃度,若是則用新一代最佳濃度果蠅坐標(biāo)值替換上一代的坐標(biāo)值,依次直到找出最佳濃度果蠅坐標(biāo)值.
2PCA-FOA-SVR模型股票價(jià)格預(yù)測(cè)
利用PCA-FOA-SVR模型對(duì)股票價(jià)格預(yù)測(cè)的流程如圖2所示,具體步驟如下:
1) 選取模型訓(xùn)練樣本,確定影響股票價(jià)格的幾個(gè)因素,對(duì)樣本數(shù)據(jù)進(jìn)行歸一化處理.
2) 對(duì)影響股票價(jià)格的因素進(jìn)行主成分分析,消除冗余信息,選擇主成分個(gè)數(shù),得出主成分.確定SVR的輸入、輸出變量.
3) 建立目標(biāo)函數(shù),其表達(dá)式為
(19)
4) 初始化模型參數(shù).選取SVR的核函數(shù)和參數(shù);確定目標(biāo)函數(shù)式(19)為果蠅味道濃度判定函數(shù)(Fitness function).確定果蠅優(yōu)化算法的迭代次數(shù)maxgen,群體規(guī)模sizepop,算法終止的bestSmell等參數(shù).
5) 利用果蠅優(yōu)化算法對(duì)SVR的參數(shù)(c,g)迭代尋優(yōu).根據(jù)式(13,14)計(jì)算果蠅味道濃度判定值Si,將Si帶入式(19)中計(jì)算果蠅味道濃度Smelli,迭代循環(huán),尋找使目標(biāo)函數(shù)最小的最優(yōu)果蠅味道濃度值bestSmell.
6) 當(dāng)bestSmell小于指定值或者gen=maxgen時(shí),算法終止,取得使味道濃度值最佳的(c,g).
7) 利用最優(yōu)的(c,g)建立SVR預(yù)測(cè)模型.對(duì)股票未來(lái)幾天的價(jià)格進(jìn)行預(yù)測(cè).
圖2 PCA-FOA-SVR模型股票價(jià)格預(yù)測(cè)流程圖Fig.2 The flow chart of PCA-FOA-SVR model for stock prediction
3實(shí)驗(yàn)仿真
3.1股票預(yù)測(cè)指標(biāo)體系
選取股票寧滬高速(600377)2013年6月24日到2014年3月5日之間的交易數(shù)據(jù)為實(shí)驗(yàn)對(duì)象.數(shù)據(jù)分為兩部分,2013年6月24日到2014年2月18日的交易數(shù)據(jù)作為訓(xùn)練集來(lái)構(gòu)建模型,2014年2月19日到2014年3月5日的交易數(shù)據(jù)作為測(cè)試集,驗(yàn)證模型的有效性.選取股票的開(kāi)盤價(jià)、收盤價(jià)、最高價(jià)、最低價(jià)、成交額和成交量等為影響股票價(jià)格的幾個(gè)因素,作為股票價(jià)格預(yù)測(cè)模型的輸入變量.股票交易數(shù)據(jù)見(jiàn)表1.
表1 寧滬高速股票成交信息表
為了避免原始輸入變量由于量綱與數(shù)量級(jí)的不同對(duì)結(jié)果造成影響,對(duì)原始數(shù)據(jù)進(jìn)行無(wú)量綱化處理,標(biāo)準(zhǔn)化公式為
(20)
3.2預(yù)測(cè)因子的PCA處理
利用SPSS軟件對(duì)股票的開(kāi)盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、成交額和成交量等6個(gè)技術(shù)指標(biāo)作主成分分析,分析結(jié)果見(jiàn)表2.由表2可以發(fā)現(xiàn)前兩項(xiàng)成分的方差累計(jì)貢獻(xiàn)率就達(dá)到了99.056%,即保留前兩個(gè)主成分即可概括原始數(shù)據(jù)的絕大部分信息.因此將主成分一和主成分二作為支持向量機(jī)的輸入變量,第二天的收盤價(jià)作為輸出變量.用主成分一和主成分二預(yù)測(cè)第二天的收盤價(jià).
表2 主成分分析結(jié)果
3.3利用果蠅算法優(yōu)化SVR參數(shù)
利用果蠅算法對(duì)SVR參數(shù)(c,g)進(jìn)行迭代尋優(yōu),設(shè)置果蠅優(yōu)化算法的最大迭代次數(shù)maxgen=100,設(shè)置群體規(guī)模sizepop=10.圖3為優(yōu)化過(guò)程中目標(biāo)函數(shù)值隨迭代次數(shù)變化情況.
圖3 目標(biāo)函數(shù)值隨迭代次數(shù)變化情況Fig.3 Results of objective function value changes with the number of iterations
從圖3中可以看到:果蠅算法在迭代初期,目標(biāo)函數(shù)值就迅速下降,隨著迭代次數(shù)的增加目標(biāo)函數(shù)值逐漸趨向于一個(gè)穩(wěn)定值,當(dāng)?shù)降谑舜鷷r(shí)目標(biāo)函數(shù)值已逼近算法最優(yōu)值.這表明果蠅算法有著較快的收斂速度和全局尋優(yōu)能力.
3.4利用SVR對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)
將果蠅優(yōu)化算法得到的最優(yōu)c和g值帶入到SVR中,重新建立SVR模型對(duì)股票價(jià)格進(jìn)行預(yù)測(cè).圖4為PCA-FOA-SVR模型的預(yù)測(cè)結(jié)果.
圖4 PCA-FOA-SVR模型的預(yù)測(cè)結(jié)果Fig.4 Prediction results of PCA-FOA-SVR model
從圖4中可以看到:PCA-FOA-SVR模型預(yù)測(cè)值的總體趨勢(shì)與實(shí)際股票價(jià)格走勢(shì)基本一致,模型預(yù)測(cè)值與真實(shí)值誤差較小,預(yù)測(cè)效果較好.
3.5模型預(yù)測(cè)性能對(duì)比分析
為了驗(yàn)證模型的有效性,選取BP模型、SVR模型作為對(duì)比模型.BP神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置為:三層神經(jīng)網(wǎng)絡(luò),訓(xùn)練次數(shù)為3 000,誤差為0.001,學(xué)習(xí)率為0.005;SVR模型采用交叉驗(yàn)證選取最佳參數(shù)c和g.用前160個(gè)數(shù)據(jù)作為訓(xùn)練樣本,后10個(gè)數(shù)據(jù)作為測(cè)試樣本.
用誤差均方根RMSE(Rootmeansquareerror)和相對(duì)誤差絕對(duì)值平均MAPE(Meanabsolutepercentageerror)作為評(píng)價(jià)指標(biāo)來(lái)評(píng)價(jià)模型的有效性和魯棒性.RMSE和MAPE的定義分別為
(21)
(22)
各個(gè)模型的預(yù)測(cè)結(jié)果如表3所示.
表3 各個(gè)模型預(yù)測(cè)結(jié)果
各個(gè)模型的預(yù)測(cè)誤差值如表4所示.
表4 模型的預(yù)測(cè)誤差
分析各個(gè)模型預(yù)測(cè)結(jié)果,由表3可知:PCA-FOA-SVR模型的預(yù)測(cè)值更接近于真實(shí)值,圖5中PCA-FOA-SVR模型的走勢(shì)更接近于真實(shí)曲線,與原始數(shù)據(jù)的擬合度最高.RMSE和MAPE作為衡量模型優(yōu)劣的重要指標(biāo),從表4可以看出:SVR模型的預(yù)測(cè)誤差低于BP模型的預(yù)測(cè)誤差,PCA-FOA-SVR模型的預(yù)測(cè)誤差低于SVR的預(yù)測(cè)誤差,相比BP和SVR模型,PCA-FOA-SVR模型有更高的預(yù)測(cè)精度.
圖5 各模型預(yù)測(cè)值對(duì)比Fig.5 Comparison results of different models
4結(jié)論
利用股票寧滬高速(600377)2013年6月24日到2014年3月5日之間的交易數(shù)據(jù)建立PCA-FOA-SVR模型,通過(guò)對(duì)影響股票價(jià)格數(shù)據(jù)進(jìn)行PCA分析,將原始的6 個(gè)輸入變量用兩個(gè)主成分替代,消除了數(shù)據(jù)冗余,簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)在SVR訓(xùn)練過(guò)程中加入果蠅算法,利用果蠅良好的尋優(yōu)能力,解決SVR了參數(shù)難以確定的問(wèn)題.實(shí)驗(yàn)結(jié)果表明:PCA-FOA-SVR模型相比其他模型有著更好的預(yù)測(cè)精度和泛化能力,該模型較好地反應(yīng)股票價(jià)格漲跌趨勢(shì),可以為投資者提供合理有效的參考.
參考文獻(xiàn):
[1]馮盼,曹顯兵.基于ARMA模型的股價(jià)分析與預(yù)測(cè)的實(shí)證研究[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2011,22:84-90.
[2]陳嶷瑛,張澤星,李文斌.基于神經(jīng)網(wǎng)絡(luò)的股票價(jià)格預(yù)測(cè)模型[J].計(jì)算機(jī)應(yīng)用與軟件,2014(5):89-92.
[3]鄭莉莉,黃鮮萍,梁榮華.基于支持向量機(jī)的人體姿態(tài)識(shí)別[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(6):670-675.
[4]陳海英.基于支持向量機(jī)的上證指數(shù)預(yù)測(cè)和分析[J].計(jì)算機(jī)仿真,2013(1):297-300.
[5]張世軍,程國(guó)勝,蔡吉花,等.基于網(wǎng)絡(luò)輿情支持向量機(jī)的股票價(jià)格預(yù)測(cè)研究[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2013,24:33-40.
[6]蘭秀菊,張麗霞,魯建廈,等.基于小波分析和PSO-SVM的控制圖混合模式識(shí)別[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(5):532-536.
[7]吳景龍,楊淑霞,劉承水.基于遺傳算法優(yōu)化參數(shù)的支持向量機(jī)短期負(fù)荷預(yù)測(cè)方法[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(1):180-184.
[8]PANWT.Anewfruitflyoptimizationalgorithm:takingthefinancialdistressmodelasanexample[J].Knowledge-basedsystems,2012,26(2):69-74.
[9]蔡紅,陳榮耀.基于PCA-BP神經(jīng)網(wǎng)絡(luò)的股票價(jià)格預(yù)測(cè)研究[J].計(jì)算機(jī)仿真,2011(3):365-368.
[10]李靜萍.多元統(tǒng)計(jì)分析:原理與基于SPSS的應(yīng)用[M].2版.北京:中國(guó)人民大學(xué)出版社,2015.
[11]馬銀曉,柳虹.因子分析法在城鎮(zhèn)居民消費(fèi)結(jié)構(gòu)分析中的研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2012,40(3):336-339.
[12]楊杰,占君,張繼傳.Matlab神經(jīng)網(wǎng)絡(luò)30例[M].北京:電子工業(yè)出版社,2014.
[13]任洪娥,霍滿冬.基于PSO優(yōu)化的SVM預(yù)測(cè)應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2009(3):867-869.
[14]潘文超.果蠅最佳化演算法[M].臺(tái)北:滄海書局,2011.
(責(zé)任編輯:陳石平)
Research on stock price prediction based on PCA-FOA-SVR
WANG Weihong, ZHUO Pengyu
(College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)
Abstract:Stock price prediction has been regarded as an intractable task due to the intrinsic nonlinearity and instability of stock market. In this paper, based on the traditional SVR approach, a forecasting model that integrates principal component analysis ( PCA) and fruit fly optimization algorithm (FOA) for predicting stock price was proposed. In the algorithm, in order to eliminate the redundant information, the factors which influence stock price were analyzed by PCA firstly. Second, the parameters of SVR were optimized by the fruit fly optimization algorithm. Then, with the best parameters, the SVR model was used to establish a prediction model for the nonlinearity stock price. Real data sets of stock 600377 was used for simulation experiments base on the model of PCA-FOA-SVR. Experimental results indicate that the PCA-FOA-SVR model can improve the accuracy of prediction and reduce errors. The PCA-FOA-SVR model was proved to be an effective and feasible method.
Keywords:principal component analysis; support vector regression; fruit fly optimization algorithm; stock price prediction
收稿日期:2016-01-15
基金項(xiàng)目:國(guó)家自然科學(xué)專項(xiàng)基金項(xiàng)目(61340058);浙江省自然科學(xué)基金重點(diǎn)項(xiàng)目(LZ14F020001)
作者簡(jiǎn)介:王衛(wèi)紅(1969—),男,浙江臨海人,教授,研究方向?yàn)檫b感信息提取、空間信息服務(wù)等,E-mail: wwh@zjut.edu.cn.
中圖分類號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1006-4303(2016)04-0399-06