李棟,張文宇
西安郵電大學管理工程學院,西安 710061
基于ELM和FOA的股票價格預測
李棟,張文宇
西安郵電大學管理工程學院,西安 710061
大量研究表明,股票價格是一個動態(tài)的、非線性的復雜系統(tǒng),具有突發(fā)性、隨機性和規(guī)律性等特點,傳統(tǒng)線性模型已不適用于日趨復雜化的股票價格研究。神經(jīng)網(wǎng)絡是一種對非線性數(shù)據(jù)具有良好預測性能的工具,目前已經(jīng)成為股票價格預測的研究熱點之一[1-2],但神經(jīng)網(wǎng)絡存在訓練速度慢、參數(shù)尋優(yōu)難、過擬合、局部最優(yōu)以及隱含層節(jié)點數(shù)人為指定等問題,這些問題直接影響了股票價格的預測精度[3-4]。
為了克服神經(jīng)網(wǎng)絡存在的這些問題,Huang等提出了極限學習機(Extreme Learning Machine,ELM)[5-6]。ELM是依據(jù)摩爾-彭羅斯(MP)廣義逆矩陣理論提出的一種機器學習新算法,該算法僅通過一步計算即可解析求出學習網(wǎng)絡的輸出權值。同神經(jīng)網(wǎng)絡和支持向量機相比,ELM極大提高了網(wǎng)絡的泛化能力和學習速度。但是,由于ELM存在隨機給定左側權值和隱含層閾值的缺陷,使得回歸模型容易產(chǎn)生泛化性能不高與穩(wěn)定性不理想等問題[7-10]。
本文針對極限學習機穩(wěn)定性不理想的問題,提出了一種基于改進果蠅優(yōu)化算法的極限學習機股票價格預測方法。該方法首先采用因子分析法綜合股票價格的各原始輸入指標,消除指標數(shù)據(jù)之間的冗余,減少極限學習機的輸入?yún)?shù),這樣做有助于提高極限學習機的學習效率;然后利用果蠅優(yōu)化算法優(yōu)化極限學習機的輸入層與隱含層連接權值和隱含層閾值,確定極限學習機預測模型的各個參數(shù);最后使用優(yōu)化得到的極限學習機預測模型對股票價格進行預測,并將預測結果與實際值進行比較,驗證模型的有效性。
極限學習機(Extreme Learning Machine,ELM)是一種針對單隱層前饋神經(jīng)網(wǎng)絡(Single-hidden Layer Feedforward Neural Networks,SLFN)的學習算法。與傳統(tǒng)神經(jīng)網(wǎng)絡訓練方法相比,該算法具有學習速度快,泛化性能好等優(yōu)點[11-12]。SLFN的基本結構如圖1所示。
圖1 單隱層前饋神經(jīng)網(wǎng)絡結構圖
設隱含層的神經(jīng)元個數(shù)為l個,并給定Q個股票價格訓練樣本(xi,yi)和一個任意區(qū)間無限可微的激活函
是連接隱含層和輸出層的權重矩陣;則根據(jù)圖1可知:
其中,H為隱含層神經(jīng)網(wǎng)絡的隱含層輸出矩陣,具體形式見式(2),H+為隱含層輸出矩陣H的Moore-Penrose廣義逆。
式中,ωi=[ωi1ωi2…ωin],xj=[x1jx2j…xnj]T,g(x)為隱含層神經(jīng)元激活函數(shù)。
根據(jù)以上分析可知,在ELM學習過程中,系統(tǒng)會隨機產(chǎn)生輸入層與隱含層權重矩陣ω和隱含層的閾值b,同時還需要人為指定隱含層神經(jīng)元數(shù)量l,而這些參數(shù)將會影響到ELM學習效率以及未來預測模型的泛化能力和穩(wěn)定性。因而,需要通過果蠅優(yōu)化算法對這些參數(shù)加以優(yōu)化,來增強ELM預測模型的泛化能力和穩(wěn)定性。
3.1 基本果蠅優(yōu)化算法
果蠅優(yōu)化算法(Fruit Fly of Algorithm,F(xiàn)OA)是一種基于果蠅覓食行為推演出的尋求全局優(yōu)化的新方法。果蠅本身在感官知覺上優(yōu)于其他物種,尤其是在嗅覺與視覺上。果蠅的嗅覺器官能很好地搜集飄浮在空氣中的各種氣味,然后飛近食物位置后亦可使用敏銳的視覺發(fā)現(xiàn)食物與同伴聚集的位置,并且往該方向飛去。依據(jù)果蠅搜索食物特性,將果蠅優(yōu)化算法歸納為以下幾個步驟[13-14]:
(1)給定群體規(guī)模SizePop,最大迭代數(shù)Maxgen,隨機初始化果蠅群體位置x_axis、y_axis。
(2)賦予果蠅個體利用嗅覺搜尋食物之隨機方向λ與群半徑r,i次迭代尋優(yōu)后果蠅群位置坐標為:
其中λ為[0,1]的隨機數(shù),i為迭代尋優(yōu)次數(shù)。
(3)由于無法得知食物位置,因此先估計與原點之距離Disti,再計算味道濃度判定值Si,此值為距離之倒數(shù):
(4)將味道濃度判定值Si代入味道濃度判定函數(shù)(或稱為適應度函數(shù)Fitness function,用來求出果蠅個體位置的味道濃度Smell)。
(5)找出該果蠅群體中味道濃度最佳的果蠅(適用于最小化問題):
(6)記錄并保留最佳味道濃度值bestSmell及其坐標(xbest,ybest),此時果蠅群體中各個果蠅利用視覺向該位置飛去。
(7)進入迭代尋優(yōu),重復執(zhí)行步驟(2)~(5),并判斷最佳味道濃度是否優(yōu)于前一迭代最佳味道濃度,并且當前迭代次數(shù)小于最大迭代數(shù)Maxgen,若是則執(zhí)行步驟(6)。
3.2 改進的果蠅優(yōu)化算法(Improved Fruit Fly of Algorithm,IFOA)
通過對基本的果蠅優(yōu)化算法的分析可知,果蠅的搜索范圍受到群半徑r的限制,如果r值過大,則初期有利于使其在全局范圍內(nèi)搜索,但到迭代后期則可能出現(xiàn)算法錯過最優(yōu)解,從而使算法收斂速度慢或不能收斂;但是如果r過小,則會導致果蠅只能在局部區(qū)域搜索,無法跳出局部最優(yōu)解。要克服這一問題,就必須提供一種機制,讓算法既能在全局范圍內(nèi)尋找最優(yōu)解,又能保證局部區(qū)域的搜索精度。
因此,本文提出了一種改進果蠅優(yōu)化算法的方法,該方法針對群半徑r提出這樣一種機制,當?shù)螖?shù)i為奇數(shù)時,則要求算法加強對全局范圍內(nèi)的搜索,也就是將r值設置為足夠大的值;接著在其后的偶數(shù)次迭代時,則要求算法在當前搜索到的最優(yōu)值附近區(qū)域內(nèi)搜索更優(yōu)值,即將r設置為足夠小的值。通過如此循環(huán),從而保證算法能夠在全局范圍內(nèi)搜索到全局最優(yōu)值。r值的確定方法見式(10),式中ΔSmellbest為每次最優(yōu)值優(yōu)化的幅度,i為當前迭代次數(shù),Maxgen為最大迭代次數(shù),并假設Maxgen為奇數(shù)。
根據(jù)公式(10)可知,當i為奇數(shù)時,隨著ΔSmellbest越來越小,算法陷入局部最優(yōu)的可能性將越來越大,因此將1/ΔSmellbest作為r的一個因子??紤]到算法初始時可能出現(xiàn)ΔSmellbest值較大,從而可能導致r的搜索范圍較小,因此加入Maxgen/i進行平衡。當i為偶數(shù)時,隨著ΔSmellbest越來越小,算法要進一步加強對當前最優(yōu)值附近區(qū)域的搜索,搜索范圍應越來越小,因此將ΔSmellbest和(Maxgen-i)/Maxgen同時作為r的因子,從而保證當前區(qū)域內(nèi)的搜索精度。
3.3 IFOA與FOA性能對比
為了驗證本文提出的IFOA算法的性能,這里設計了兩類實驗:(1)FOA優(yōu)化實驗;(2)IFOA優(yōu)化實驗。實驗中選用了2個優(yōu)化算法比較基準函數(shù),函數(shù)的形式、維數(shù)、理論極小值見表1所示。
為了比較IFOA與FOA算法的性能,本文在進行兩類實驗時,均選用相同的參數(shù),具體參數(shù)設置為:群體規(guī)模SizePop=15,最大迭代數(shù)Maxgen=100;迭代的果蠅搜尋食物的隨機飛行方向與距離區(qū)間為[-1,1]。性能評估采用兩種算法運行20次的平均最優(yōu)解的比較。具體比較結果見表2。
表1 用于測試改進算法的優(yōu)化函數(shù)
表2 各算法的平均最大值及其標準差
由表2的比較結果可知,本文提出的IFOA算法具有更好的全局與局部搜索能力,在收斂可靠性及收斂精度上較FOA算法有較大的提高。
將IFOA與ELM相結合,得到IFOA-ELM。IFOAELM主要思想是利用改進果蠅優(yōu)化算法對ELM的輸入層與隱含層連接權重矩陣ω和隱含層閾值b進行訓練和優(yōu)化,從而得到最優(yōu)的ωbest和bbest,然后根據(jù)公式(1)計算得到βbest;接著將這些參數(shù)代入ELM預測模型進行預測。
步驟1果蠅優(yōu)化算法的參數(shù)初始化,包括:群體規(guī)模SizePop,迭代次數(shù)Maxgen,初始位置x_axis、y_axis,當前全局最優(yōu)值Smellbest0以及最優(yōu)值優(yōu)化幅度ΔSmellbest。
步驟2構建ELM網(wǎng)絡拓撲結構,設置隱含層神經(jīng)元初始值l,并設定隱含層神經(jīng)元l的搜索區(qū)間[a,c][8],通過設置隱含層神經(jīng)元數(shù)量的上下限可以有效減少搜索區(qū)間的范圍,提高搜索效率。
式中,ni和no分別為神經(jīng)網(wǎng)絡的輸入層和輸出層的神經(jīng)元的數(shù)量。
步驟3根據(jù)優(yōu)化對象“輸入層與隱含層的連接權重矩陣ω”和“隱含層的閾值b”生成果蠅群,并隨機初始化每只果蠅的位置和群半徑。式中,S為果蠅的維數(shù),ni為輸入層神經(jīng)元數(shù)量,l為隱含層神經(jīng)元數(shù)量。
步驟4參照公式(4)、(5)計算味道濃度判定值Si。
步驟5計算果蠅個體位置的味道濃度,濃度判定函數(shù)是衡量果蠅個體位置優(yōu)劣的標準,對于第i個果蠅的味道濃度表示為:
式中,n為訓練樣本數(shù),SizePop為種群規(guī)模。
步驟6根據(jù)公式(7)找出該果蠅群體中味道濃度最佳的果蠅及其味道濃度值,并判斷當前找到的味道濃度值是否優(yōu)于全局最優(yōu)值,如果優(yōu)于則參照公式(9)更新ΔSmellbest;否則更新隱含層神經(jīng)元數(shù)量值l=l+1,返回步驟3。
步驟7記錄并保留最佳味道濃度值bestSmell及其坐標(xbest,ybest),初始化果蠅種群位置為全局最優(yōu)位置(xbest,ybest),并根據(jù)公式(10)更新r。
步驟8當l值小于隱含層神經(jīng)元數(shù)量的最大值c時,返回步驟3。否則退出果蠅優(yōu)化,將得到的最優(yōu)果蠅賦給ELM的輸入層與隱含層的連接權重矩陣ω和隱含層的閾值b,ELM將根據(jù)這些參數(shù)對股票價格進行預測。
5.1 仿真環(huán)境
5.1.1 實驗數(shù)據(jù)
本文選擇在上海證券交易所上市的中國銀行(601988)為實驗對象,并將股票的開盤價、最高價、最低價、漲幅、振幅、總手、成交金額、換手、成交次數(shù)這9個指標作為預測模型的輸入指標集,將股票第二日的收盤價作為輸出指標。在數(shù)據(jù)區(qū)間選擇上,本文選取從2012年8月13日到2013年7月1日之間的210個交易日數(shù)據(jù),其中前200個工作日數(shù)據(jù)作為訓練集,后10個工作日數(shù)據(jù)作為測試集。由于數(shù)據(jù)較多,這里只列出部分訓練集和全部的測試集,數(shù)據(jù)見表3(數(shù)據(jù)來源于同花順軟件)。
5.1.2 實驗數(shù)據(jù)預處理
在果蠅優(yōu)化極限學習機的過程中,果蠅的維數(shù)S的增加將降低算法的執(zhí)行效率。因此,需要對果蠅的維數(shù)S進行優(yōu)化,從而提高果蠅優(yōu)化算法的執(zhí)行速度,減少算法執(zhí)行所需的內(nèi)存空間。由公式(14)可知,S的影響因子有兩個,分別為輸入層神經(jīng)元數(shù)量ni和隱含層神經(jīng)元數(shù)量l。由于隱含層神經(jīng)元數(shù)量l無法事先確定,因此只能對ni進行優(yōu)化。于是本文提出使用因子分析法對股票價格影響因子數(shù)據(jù)進行縮減,從而間接實現(xiàn)果蠅的維數(shù)S的減少,達到提高果蠅優(yōu)化算法執(zhí)行效率的目的。
表3 中國銀行股票成交信息表
為保證因子分析的效果,本文利用SPSS21.0工具提供的Bartlett球形檢驗和KMO對原始數(shù)據(jù)進行了因子分析檢驗。根據(jù)表4的檢驗結果可知,本文研究數(shù)據(jù)的KMO值為0.624>0.6,表示可以進行因子分析。同時,Bartlett球形檢驗的值為9 427.322(自由度為36),Sig.(顯著性水平值)為0.000<0.05,達到了顯著性水平,說明研究數(shù)據(jù)的相關變量之間有共同因素存在,適合進行因子分析。
表4 KMO和Bartlett的檢驗結果表
在構造因子變量過程中,本文采用映象分析法提取綜合因子,并依據(jù)碎石圖的結果選擇5作為綜合因子的提取數(shù)量,其累計方差貢獻率達到99.925%;接著本文使用方差最大法對5個綜合因子進行旋轉,使每個變量在盡可能少的因子上有比較高的載荷;最后,本文使用Thomson回歸法計算公共因子的因子得分,并將計算結果保存,作為未來ELM的輸入數(shù)據(jù)。
5.1.3 參比模型與參數(shù)設置
在Matlab R2010b環(huán)境下,采用Matlab語言編寫算法程序,構建三種預測模型,分別為:ELM模型、FOAELM模型和IFOA-ELM模型。
ELM模型參數(shù)設置:隱含層神經(jīng)元數(shù)量為6,隱含層神經(jīng)元激活函數(shù)選用sigmoid函數(shù)。
FOA-ELM模型參數(shù)設置:ELM的隱含層神經(jīng)元數(shù)量的搜索范圍[15]為隱含層神經(jīng)元激活函數(shù)選用sigmoid函數(shù)。FOA的參數(shù)設置:種群規(guī)模為100,迭代次數(shù)為100。
IFOA-ELM模型中,各參數(shù)設置同F(xiàn)OA-ELM。
5.2 仿真結果
將上述數(shù)據(jù)經(jīng)因子分析后,分別用ELM、FOA-ELM和IFOA-ELM模型進行預測,得到仿真圖如圖2所示。
圖2 IFOA-ELM模型預測圖(mse=0.001 438 8)
根據(jù)IFOA-ELM模型得到的預測結果如圖2所示,圖中用“*”畫出的曲線代表真實數(shù)據(jù),用“○”畫出的曲線代表預測值。從圖2可以看到,IFOA-ELM模型預測的總體趨勢和實際股票價格的走勢基本一致,且誤差較小,預測效果較好。
為了進一步驗證本文提出模型的優(yōu)劣性,使用ELM和FOA-ELM作為參比模型,各模型對比結果見圖3、圖4和表5。
圖3 多模型預測值比較圖
圖4 多模型訓練時間對比圖
由圖3和表5可知,本文提出的IFOA-ELM模型的預測結果是所有參比模型中精度最高者,其預測值與實際值最為接近。通過對各模型預測精度對比可以發(fā)現(xiàn),ELM的預測精度最低,F(xiàn)OA-ELM的預測精度高于ELM,IFOA-ELM的預測精度又顯著高于FOA-ELM。在訓練時間上,由于ELM模型沒有參數(shù)優(yōu)化過程,因此這里重點對比FOA-ELM模型和IFOA-ELM模型。由圖4及表5可知,IFOA-ELM模型的訓練時間明顯少于FOA-ELM,究其原因,主要是因為IFOA-ELM的收斂速度快,減少了最優(yōu)值的替代次數(shù),從而減少了預測模型的訓練時間。通過以上討論,可以發(fā)現(xiàn)IFOA-ELM是一個有效的、高精度的、高效率的股價預測模型。
表5 各模型運行結果對比表
本文通過提出IFOA-ELM算法,來解決極限學習機預測模型穩(wěn)定性不理想的問題。相比基本的FOA算法,IFOA算法收斂速度快,增加了后期跳出局部最優(yōu)的可能性,有利于找到全局最優(yōu)解。文中使用IFOA-ELM預測模型對中國銀行(601988)2013年6月19日到2013年7月2日的收盤價格進行了預測,與ELM預測模型和FOA-ELM預測模型相比,該方法提高了模型的預測精度和訓練速度,降低了FOA-ELM預測模型陷入局部極小的可能性。
[1]Zhang Yudong,Wu Lenan.Stock market prediction of S&P 500 via combination of improved BCO approach and BP neural network[J].Expert Systems with Applications,2009,36(5):8849-8854.
[2]Vanstone B,F(xiàn)innie G.An empirical methodology for developing stock market trading systems using artificial neural networks[J].Expert Systems with Applications,2009,36(3):6668-6680.
[3]郝華寧,劉陽.基于遺傳神經(jīng)網(wǎng)絡的個股價格短期預測[J].西安石油大學學報:自然科學版,2010(2).
[4]鄭斯日古楞.灰色神經(jīng)網(wǎng)絡在股票價格預測中的應用[J].計算機仿真,2012(2):392-395.
[5]Huang G B,Zhu Q Y,Siew C K.Extreme learning machine:a new learning scheme of feedforward neural networks[C]// 2004 International Joint Conference on Neural Networks,Budapest,Hungar,2004:958-990.
[6]Huang G B,Zhu Q Y,Siew C K.Extreme learning machine:theory and applications[J].Neurocomputing,2006,70(1/3):489-501.
[7]高光勇,蔣國平.采用優(yōu)化極限學習機的多變量混沌時間序列預測[J].物理學報,2012,61(4):37-45.
[8]Suresh S,Babu R V,Kim H J.No-reference image quality assessment using modified extreme learning machine classifier[J].Applied Soft Computing,2009(2):541-552.
[9]Huang G B,Chen L,Siew C K.Universal approximation using incremental feedforward networks with arbitrary input weights[J].Neural Networks,2006,17(4):879-892.
[10]Lan Yuan,Yeng C S,Huang Guangbin.Ensemble of online sequential extreme learning machine[J].Neurocomputing,2009,72(1):3391-3395.
[11]劉學藝,李平,郜傳厚.極限學習機的快速留一交叉驗證算法[J].上海交通大學學報,2011,45(8):1140-1145.
[12]陸慧娟,安春霖,馬小平,等.基于輸出不一致測度的極限學習機集成的基因表達數(shù)據(jù)分類[J].計算機學報,2013(2):341-348.
[13]Pan Wentsao.A new fruit fly optimization algorithm:taking the financial distress model as an example[J]. Knowledge-based Systems,2012,26:69-74.
[14]Pan Wentsao.A new evolutionary computation approach:fruit fly optimization algorithm[C]//Proc of the 11th Conference on Digital Technology and Innovation Management,2011.
[15]夏克文,李昌彪,沈鈞毅.前向神經(jīng)網(wǎng)絡隱含層節(jié)點數(shù)的一種優(yōu)化算法[J].計算機科學,2005(10):143-145.
LI Dong,ZHANG Wenyu
School of Management Engineering,Xi’an University of Posts and Telecommunications,Xi’an 710061,China
Extreme Learning Machine(ELM)is not stable in predicting stock price.To address the problem,this paper proposes an Improved Fruit Fly of Algorithm(IFOA)that optimizes ELM by improving fruit fly.In the algorithm,fruit fly swarm constantly adjusts its radius to optimize the ELM input weights and thresholds of hidden layer,building an ELM prediction model with the optimized results.The IFOA-ELM model proposed in this paper can be applied to predicting stock price.Compared with ELM and FOA-ELM,IFOA-ELM model is more accurate and stable in predicting stock price.
stock price;prediction;Fruit Fly of Algorithm(FOA);Extreme Learning Machine(ELM)
針對股票價格預測中應用極限學習機預測存在穩(wěn)定性不理想的問題,提出了一種改進果蠅優(yōu)化極限學習機(IFOA-ELM)預測模型的算法。在該算法中,果蠅群通過不斷調(diào)整群半徑來優(yōu)化ELM的輸入層與隱含層連接權值和隱含層閾值,并以優(yōu)化后的結果為基礎,構建ELM預測模型。將IFOA-ELM模型用于股票價格預測。實驗表明,與ELM和FOA-ELM相比,IFOA-ELM在股票價格預測中具有更高的預測精度和更好的穩(wěn)定性。
股票價格;預測;果蠅優(yōu)化算法;極限學習機
A
TP183
10.3778/j.issn.1002-8331.1401-0037
LI Dong,ZHANG Wenyu.Stock price prediction based on ELM and FOA.Computer Engineering and Applications,2014,50(18):14-18.
陜西省自然科學基金(No.2012GQ8050);陜西省教育廳專項科研計劃項目(No.13JK0403);西安郵電大學中青年基金(No.104-0410)。
李棟(1981—),男,在讀博士生,講師,研究領域為數(shù)據(jù)挖掘;張文宇(1973—),女,博士,教授,研究領域為智能決策、數(shù)據(jù)挖掘、知識發(fā)現(xiàn)。E-mail:ddli1009@126.com
2014-01-06
2014-03-14
1002-8331(2014)18-0014-05
CNKI網(wǎng)絡優(yōu)先出版:2014-03-19,http://www.cnki.net/kcms/doi/10.3778/j.issn.1002-8331.1401-0037.html