劉雯琦
摘要:股票價格預測是投資者關注的熱點問題,用人工智能對股票價格進行預測是近年來十分流行的預測方式。文章針對傳統(tǒng)BP神經(jīng)網(wǎng)絡的預測精度受初始化權(quán)值和閾值影響較大的不足,給出一種使用差分進化算法對BP神經(jīng)網(wǎng)絡的初始權(quán)值和閾值進行優(yōu)化的方法,建立了一種基于自適應差分進化算法的BP神經(jīng)網(wǎng)絡股票價格預測模型,利用真實的股票數(shù)據(jù)通過仿真實驗驗證了模型的有效性。
關鍵詞:股票價格預測;BP神經(jīng)網(wǎng)絡;自適應差分進化算法
近年來,隨著人工智能和計算機專業(yè)軟件的發(fā)展,股票價格預測出現(xiàn)了許多新方法。其中神經(jīng)網(wǎng)絡在非線性逼近和對復雜信息進行綜合處理方面具有良好表現(xiàn),其自身具備的自學習、自適應等特性,能夠克服普通預測方法存在的局限性,因此神經(jīng)網(wǎng)絡在人工智能領域處于領先地位,并得到了廣泛應用和關注。所以,使用神經(jīng)網(wǎng)絡對股票價格進行預測有獨特的優(yōu)勢,能有效克服股票價格高度非線性的問題[1]。
1 差分進化算法
差分進化算法(Differential Evolution,DE)是一種新型的模擬自然界生物進化的群智能隨機優(yōu)化算法,由美國學者Stora和Price于1995年提出。算法通過采用實數(shù)編碼的方式在連續(xù)域空間內(nèi)對問題的解進行隨機捜索和優(yōu)化[2]。差分進化算法的原理簡單,控制參數(shù)較少,易于實現(xiàn),目前已被證實是一種高效的全局啟發(fā)式進化算法,具有廣泛的研究和應用前景[3]。
差分進化算法是一種基于種群遺傳進化的隨機優(yōu)化算法,包括變異、交叉、選擇3種遺傳操作[3]。
標準DE算法包括種群初始化、變異操作、交叉操作和選擇操作[4]。
1.1 種群初始化
差分進化算法使用實數(shù)編碼機制,種群中的每個個體都被視為問題搜索空間中的一個解。初始化群體大小Np,染色體長度,縮放或突變因子F,交叉率CR和基因值范圍[Umin,Umax]這幾個參數(shù)。種群用式(l)隨機初始化,產(chǎn)生個體Xij:
1.2 變異操作
在進化計算模型中變異則指的是通過隨機擾動方法來對某個位置的數(shù)值進行改變。差分進化算法通過變異操作來保持群體的多樣性。
1.3 交叉操作
完成變異操作之后,個體i就會有一個貢獻向量(Vi)生成,此時再把目標向量x與貢獻向量v交叉,交叉操作后就產(chǎn)生了試驗向量u。
交叉操作按照式(3)產(chǎn)生:
1.4 選擇操作
差分進化算法采用了一對一的競爭機制,經(jīng)變異與交叉算子操作以后產(chǎn)生了試驗向量uiG+1和xiG,選擇適應度較高的個體進入新一代的種群。選擇操作的方程如式(4)所示:
2 自適應差分進化算法
DE算法中涉及的各種關鍵參數(shù)的設置對算法的性能存在顯著影響。本文通過引入自適應變異因子和自適應交叉因子來對標準的差分進化算法進行改進,形成自適應差分進化算法(Self-adaptive DE,SDE),以提高算法性能。
自適應的變異因子由式子(5)計算所得:
式中的CRmin與CRmax分別為交叉因子的最小值和最大值。
2.1 基于自適應差分進化算法的BP神經(jīng)網(wǎng)絡
基于SDE的BP神經(jīng)網(wǎng)絡是把自適應差分進化算法和BP神經(jīng)網(wǎng)絡算法相結(jié)合,該算法的基本思想就是先利用SDE算法預先搜索全局最優(yōu)連接權(quán)值和BP神經(jīng)網(wǎng)絡的閾值,然后將最優(yōu)的搜索結(jié)果分配給初始BP神經(jīng)網(wǎng)絡的權(quán)值與閾值。
基于SDE優(yōu)化的BP神經(jīng)網(wǎng)絡的算法流程如下:
(1)種群初始化。首先初始化種群規(guī)模Np、迭代次數(shù),以及變異因子F和交叉因子CR,然后用式(5)產(chǎn)生初始種群。
(2)評估迭代以確定其是否完成。如果當前最小的適應度值達到預設的精度要求或迭代次數(shù)G與最大迭代次數(shù)相同,則SDE算法終止,獲得適應度最佳個體;否則,程序進入下一個步驟。
(3)根據(jù)自適應差分算法中變異、交叉與選擇的操作方法生成后代個體xiG+1。
(4)重復步驟(3)并生成后代種群。
(5)對后代的適合度值進行評價,最小值就是當前的最優(yōu)值,相應的個體就是全局的最優(yōu)個體。
(6)設置G=G+l,然會返回步驟(2)。
(7)把來自SDE優(yōu)化的最優(yōu)個體指定為網(wǎng)絡初始權(quán)值與閾值,然后用訓練樣本對網(wǎng)絡進行訓練,從而建立最佳網(wǎng)絡。
(8)在網(wǎng)絡中輸入測試樣本,使用訓練完成的網(wǎng)絡對其進行預測。
綜上可知,基于自適應差分進化算法優(yōu)化的BP神經(jīng)網(wǎng)絡,其網(wǎng)絡權(quán)值和閾值均為經(jīng)自適應差分進化算法優(yōu)化得到的最優(yōu)網(wǎng)絡權(quán)值和閾值。
2.2 SDE-BP神經(jīng)網(wǎng)絡設置
SDE-BP神經(jīng)網(wǎng)絡的設計主要是對網(wǎng)絡的各項參數(shù)進行設置,主要包括了網(wǎng)絡層數(shù)、神經(jīng)元個數(shù)及其余各項參數(shù)初始的值。本節(jié)主要對BP神經(jīng)網(wǎng)絡所需的各項參數(shù)進行分析和設置。SDE-BP神經(jīng)網(wǎng)絡的各項參數(shù)如下。網(wǎng)絡層數(shù):3;輸入層、隱含層、輸出層的神經(jīng)元數(shù)分別為:20, 5, 1;隱含層、輸出層激活函數(shù)分別為:tansig,purelin;訓練函數(shù):trainln;學習率:0.25;初始權(quán)值和初始閾值隨機選取,后經(jīng)SDE優(yōu)化;神經(jīng)網(wǎng)絡訓練目標誤差:le-6;神經(jīng)網(wǎng)絡訓練次數(shù):200;種群規(guī)模:50,迭代次數(shù):500;變異因子:Fmax=0.9,F(xiàn)min=0.2;交叉因子:CRmax=0.5,CRmin=0.1。
3 實驗分析
3.1 樣本數(shù)據(jù)選取
本文實驗用到的股票數(shù)據(jù)來源于股票證券交易分析軟件同花順,以三峽水利(600116)作為本文的研究對象。使用股票開盤價、最低價、最高價以及收盤價為股票的預測數(shù)據(jù),然后選取第1?20個交易日中股票的開盤價、最低價、最高價及收盤價,將這些數(shù)據(jù)作為模型的訓練數(shù)據(jù),將第21日的收盤價作為模型的測試數(shù)據(jù);再選取第2?21個交易日中的開盤價、最低價、最高價及收盤價來作為訓練數(shù)據(jù),用22日的收盤價來測試。按照此方法依次對樣本數(shù)據(jù)進行訓練,然后再將待預測日之前的20日股票數(shù)據(jù)作為測試樣本,輸入訓練完成的BP神經(jīng)網(wǎng)絡,網(wǎng)絡最終的輸出即為要預測的股票收盤價,最終通過預測值與真實值比對來分析模型預測的精度。
3.2 樣本數(shù)據(jù)處理
為防止股價參差不齊影響預測精度,本文對股價進行了歸一化處理。將股價格歸一化至[0,1]這個區(qū)間之內(nèi),縮減了BP神經(jīng)網(wǎng)絡訓練的時間,式(7)為采用的歸一化公式:
式中X表示歸一化后的股票價格,X是原始股票價格的序列;Xmax是原始股票價格序列中的最大值;而Xmin則為原始股票價格序列中的最小值。
3.3 實驗結(jié)果分析
表1為BP神經(jīng)網(wǎng)絡與SDE-BP神經(jīng)網(wǎng)絡模型的訓練次數(shù)與訓練時間,經(jīng)過對比發(fā)現(xiàn),SDE-BP神經(jīng)網(wǎng)絡預測模型相比傳統(tǒng)的BP網(wǎng)絡預測模型而言,能有效減少訓練次數(shù),縮短訓練時間,從而改善了BP神經(jīng)網(wǎng)絡模型的預測效率。
圖1為分別用兩種模型對實際的股票價格進行預測后得到的誤差曲線圖,可知,基于自適應差分進化算法優(yōu)化的BP神經(jīng)網(wǎng)絡預測誤差顯著低于傳統(tǒng)BP神經(jīng)網(wǎng)絡的預測誤差。
實驗結(jié)果表明,基于SDE的BP神經(jīng)網(wǎng)絡明顯縮短了傳統(tǒng)BP神經(jīng)網(wǎng)絡預測模型的訓練時間,在用其對股票價格進行預測時,降低了網(wǎng)絡預測的誤差,在股票價格預測方面的效果比傳統(tǒng)BP神經(jīng)網(wǎng)絡效果更好。因此說明基于自適應差分進化算法的BP神經(jīng)網(wǎng)絡提高了傳統(tǒng)BP神經(jīng)網(wǎng)絡的預測效率和預測精度。
4 結(jié)語
本文首先介紹了標準的差分進化算法,針對標準差分
進化算法缺陷提出引入自適應的交叉和變異因子的方法對算法進行改進,給出了一種自適應差分進化算法。使用改進后的差分進化算法對BP神經(jīng)網(wǎng)絡進行優(yōu)化,給出一種基于自適應差分進化算法優(yōu)化的BP神經(jīng)網(wǎng)絡模型。最后通過實驗,驗證了基于自適應差分進化算法優(yōu)化的BP神經(jīng)網(wǎng)絡在股票價格預測方面的高效性和優(yōu)越性。
[參考文獻]
[1]朱元.證券投資學原理[M].上海:立信會計圖書用品社,1992.
[2]王超學.智能優(yōu)化算法與應用[M].西安:西北大學出版社,2012.
[3]張慶科.粒子群優(yōu)化算法及差分進行算法研究[D].濟南:山東大學,2017.
[4]WANG L, ZENG Y, CHEN T.Back propagation neural network with adaptive differential evolution algorithm for time seriesforecasting[J].Expert Systems with Applications, 2015(2):855-863.