国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SDE的BP神經(jīng)網(wǎng)絡(luò)股票價(jià)格預(yù)測(cè)

2018-09-20 11:29劉雯琦
無(wú)線互聯(lián)科技 2018年15期
關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò)

劉雯琦

摘要:股票價(jià)格預(yù)測(cè)是投資者關(guān)注的熱點(diǎn)問(wèn)題,用人工智能對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)是近年來(lái)十分流行的預(yù)測(cè)方式。文章針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度受初始化權(quán)值和閾值影響較大的不足,給出一種使用差分進(jìn)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化的方法,建立了一種基于自適應(yīng)差分進(jìn)化算法的BP神經(jīng)網(wǎng)絡(luò)股票價(jià)格預(yù)測(cè)模型,利用真實(shí)的股票數(shù)據(jù)通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了模型的有效性。

關(guān)鍵詞:股票價(jià)格預(yù)測(cè);BP神經(jīng)網(wǎng)絡(luò);自適應(yīng)差分進(jìn)化算法

近年來(lái),隨著人工智能和計(jì)算機(jī)專(zhuān)業(yè)軟件的發(fā)展,股票價(jià)格預(yù)測(cè)出現(xiàn)了許多新方法。其中神經(jīng)網(wǎng)絡(luò)在非線性逼近和對(duì)復(fù)雜信息進(jìn)行綜合處理方面具有良好表現(xiàn),其自身具備的自學(xué)習(xí)、自適應(yīng)等特性,能夠克服普通預(yù)測(cè)方法存在的局限性,因此神經(jīng)網(wǎng)絡(luò)在人工智能領(lǐng)域處于領(lǐng)先地位,并得到了廣泛應(yīng)用和關(guān)注。所以,使用神經(jīng)網(wǎng)絡(luò)對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)有獨(dú)特的優(yōu)勢(shì),能有效克服股票價(jià)格高度非線性的問(wèn)題[1]。

1 差分進(jìn)化算法

差分進(jìn)化算法(Differential Evolution,DE)是一種新型的模擬自然界生物進(jìn)化的群智能隨機(jī)優(yōu)化算法,由美國(guó)學(xué)者Stora和Price于1995年提出。算法通過(guò)采用實(shí)數(shù)編碼的方式在連續(xù)域空間內(nèi)對(duì)問(wèn)題的解進(jìn)行隨機(jī)捜索和優(yōu)化[2]。差分進(jìn)化算法的原理簡(jiǎn)單,控制參數(shù)較少,易于實(shí)現(xiàn),目前已被證實(shí)是一種高效的全局啟發(fā)式進(jìn)化算法,具有廣泛的研究和應(yīng)用前景[3]。

差分進(jìn)化算法是一種基于種群遺傳進(jìn)化的隨機(jī)優(yōu)化算法,包括變異、交叉、選擇3種遺傳操作[3]。

標(biāo)準(zhǔn)DE算法包括種群初始化、變異操作、交叉操作和選擇操作[4]。

1.1 種群初始化

差分進(jìn)化算法使用實(shí)數(shù)編碼機(jī)制,種群中的每個(gè)個(gè)體都被視為問(wèn)題搜索空間中的一個(gè)解。初始化群體大小Np,染色體長(zhǎng)度,縮放或突變因子F,交叉率CR和基因值范圍[Umin,Umax]這幾個(gè)參數(shù)。種群用式(l)隨機(jī)初始化,產(chǎn)生個(gè)體Xij:

1.2 變異操作

在進(jìn)化計(jì)算模型中變異則指的是通過(guò)隨機(jī)擾動(dòng)方法來(lái)對(duì)某個(gè)位置的數(shù)值進(jìn)行改變。差分進(jìn)化算法通過(guò)變異操作來(lái)保持群體的多樣性。

1.3 交叉操作

完成變異操作之后,個(gè)體i就會(huì)有一個(gè)貢獻(xiàn)向量(Vi)生成,此時(shí)再把目標(biāo)向量x與貢獻(xiàn)向量v交叉,交叉操作后就產(chǎn)生了試驗(yàn)向量u。

交叉操作按照式(3)產(chǎn)生:

1.4 選擇操作

差分進(jìn)化算法采用了一對(duì)一的競(jìng)爭(zhēng)機(jī)制,經(jīng)變異與交叉算子操作以后產(chǎn)生了試驗(yàn)向量uiG+1和xiG,選擇適應(yīng)度較高的個(gè)體進(jìn)入新一代的種群。選擇操作的方程如式(4)所示:

2 自適應(yīng)差分進(jìn)化算法

DE算法中涉及的各種關(guān)鍵參數(shù)的設(shè)置對(duì)算法的性能存在顯著影響。本文通過(guò)引入自適應(yīng)變異因子和自適應(yīng)交叉因子來(lái)對(duì)標(biāo)準(zhǔn)的差分進(jìn)化算法進(jìn)行改進(jìn),形成自適應(yīng)差分進(jìn)化算法(Self-adaptive DE,SDE),以提高算法性能。

自適應(yīng)的變異因子由式子(5)計(jì)算所得:

式中的CRmin與CRmax分別為交叉因子的最小值和最大值。

2.1 基于自適應(yīng)差分進(jìn)化算法的BP神經(jīng)網(wǎng)絡(luò)

基于SDE的BP神經(jīng)網(wǎng)絡(luò)是把自適應(yīng)差分進(jìn)化算法和BP神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,該算法的基本思想就是先利用SDE算法預(yù)先搜索全局最優(yōu)連接權(quán)值和BP神經(jīng)網(wǎng)絡(luò)的閾值,然后將最優(yōu)的搜索結(jié)果分配給初始BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值。

基于SDE優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的算法流程如下:

(1)種群初始化。首先初始化種群規(guī)模Np、迭代次數(shù),以及變異因子F和交叉因子CR,然后用式(5)產(chǎn)生初始種群。

(2)評(píng)估迭代以確定其是否完成。如果當(dāng)前最小的適應(yīng)度值達(dá)到預(yù)設(shè)的精度要求或迭代次數(shù)G與最大迭代次數(shù)相同,則SDE算法終止,獲得適應(yīng)度最佳個(gè)體;否則,程序進(jìn)入下一個(gè)步驟。

(3)根據(jù)自適應(yīng)差分算法中變異、交叉與選擇的操作方法生成后代個(gè)體xiG+1。

(4)重復(fù)步驟(3)并生成后代種群。

(5)對(duì)后代的適合度值進(jìn)行評(píng)價(jià),最小值就是當(dāng)前的最優(yōu)值,相應(yīng)的個(gè)體就是全局的最優(yōu)個(gè)體。

(6)設(shè)置G=G+l,然會(huì)返回步驟(2)。

(7)把來(lái)自SDE優(yōu)化的最優(yōu)個(gè)體指定為網(wǎng)絡(luò)初始權(quán)值與閾值,然后用訓(xùn)練樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而建立最佳網(wǎng)絡(luò)。

(8)在網(wǎng)絡(luò)中輸入測(cè)試樣本,使用訓(xùn)練完成的網(wǎng)絡(luò)對(duì)其進(jìn)行預(yù)測(cè)。

綜上可知,基于自適應(yīng)差分進(jìn)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)權(quán)值和閾值均為經(jīng)自適應(yīng)差分進(jìn)化算法優(yōu)化得到的最優(yōu)網(wǎng)絡(luò)權(quán)值和閾值。

2.2 SDE-BP神經(jīng)網(wǎng)絡(luò)設(shè)置

SDE-BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)主要是對(duì)網(wǎng)絡(luò)的各項(xiàng)參數(shù)進(jìn)行設(shè)置,主要包括了網(wǎng)絡(luò)層數(shù)、神經(jīng)元個(gè)數(shù)及其余各項(xiàng)參數(shù)初始的值。本節(jié)主要對(duì)BP神經(jīng)網(wǎng)絡(luò)所需的各項(xiàng)參數(shù)進(jìn)行分析和設(shè)置。SDE-BP神經(jīng)網(wǎng)絡(luò)的各項(xiàng)參數(shù)如下。網(wǎng)絡(luò)層數(shù):3;輸入層、隱含層、輸出層的神經(jīng)元數(shù)分別為:20, 5, 1;隱含層、輸出層激活函數(shù)分別為:tansig,purelin;訓(xùn)練函數(shù):trainln;學(xué)習(xí)率:0.25;初始權(quán)值和初始閾值隨機(jī)選取,后經(jīng)SDE優(yōu)化;神經(jīng)網(wǎng)絡(luò)訓(xùn)練目標(biāo)誤差:le-6;神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù):200;種群規(guī)模:50,迭代次數(shù):500;變異因子:Fmax=0.9,F(xiàn)min=0.2;交叉因子:CRmax=0.5,CRmin=0.1。

3 實(shí)驗(yàn)分析

3.1 樣本數(shù)據(jù)選取

本文實(shí)驗(yàn)用到的股票數(shù)據(jù)來(lái)源于股票證券交易分析軟件同花順,以三峽水利(600116)作為本文的研究對(duì)象。使用股票開(kāi)盤(pán)價(jià)、最低價(jià)、最高價(jià)以及收盤(pán)價(jià)為股票的預(yù)測(cè)數(shù)據(jù),然后選取第1?20個(gè)交易日中股票的開(kāi)盤(pán)價(jià)、最低價(jià)、最高價(jià)及收盤(pán)價(jià),將這些數(shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù),將第21日的收盤(pán)價(jià)作為模型的測(cè)試數(shù)據(jù);再選取第2?21個(gè)交易日中的開(kāi)盤(pán)價(jià)、最低價(jià)、最高價(jià)及收盤(pán)價(jià)來(lái)作為訓(xùn)練數(shù)據(jù),用22日的收盤(pán)價(jià)來(lái)測(cè)試。按照此方法依次對(duì)樣本數(shù)據(jù)進(jìn)行訓(xùn)練,然后再將待預(yù)測(cè)日之前的20日股票數(shù)據(jù)作為測(cè)試樣本,輸入訓(xùn)練完成的BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)最終的輸出即為要預(yù)測(cè)的股票收盤(pán)價(jià),最終通過(guò)預(yù)測(cè)值與真實(shí)值比對(duì)來(lái)分析模型預(yù)測(cè)的精度。

3.2 樣本數(shù)據(jù)處理

為防止股價(jià)參差不齊影響預(yù)測(cè)精度,本文對(duì)股價(jià)進(jìn)行了歸一化處理。將股價(jià)格歸一化至[0,1]這個(gè)區(qū)間之內(nèi),縮減了BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時(shí)間,式(7)為采用的歸一化公式:

式中X表示歸一化后的股票價(jià)格,X是原始股票價(jià)格的序列;Xmax是原始股票價(jià)格序列中的最大值;而Xmin則為原始股票價(jià)格序列中的最小值。

3.3 實(shí)驗(yàn)結(jié)果分析

表1為BP神經(jīng)網(wǎng)絡(luò)與SDE-BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練次數(shù)與訓(xùn)練時(shí)間,經(jīng)過(guò)對(duì)比發(fā)現(xiàn),SDE-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型相比傳統(tǒng)的BP網(wǎng)絡(luò)預(yù)測(cè)模型而言,能有效減少訓(xùn)練次數(shù),縮短訓(xùn)練時(shí)間,從而改善了BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)效率。

圖1為分別用兩種模型對(duì)實(shí)際的股票價(jià)格進(jìn)行預(yù)測(cè)后得到的誤差曲線圖,可知,基于自適應(yīng)差分進(jìn)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差顯著低于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)誤差。

實(shí)驗(yàn)結(jié)果表明,基于SDE的BP神經(jīng)網(wǎng)絡(luò)明顯縮短了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的訓(xùn)練時(shí)間,在用其對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)時(shí),降低了網(wǎng)絡(luò)預(yù)測(cè)的誤差,在股票價(jià)格預(yù)測(cè)方面的效果比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)效果更好。因此說(shuō)明基于自適應(yīng)差分進(jìn)化算法的BP神經(jīng)網(wǎng)絡(luò)提高了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效率和預(yù)測(cè)精度。

4 結(jié)語(yǔ)

本文首先介紹了標(biāo)準(zhǔn)的差分進(jìn)化算法,針對(duì)標(biāo)準(zhǔn)差分

進(jìn)化算法缺陷提出引入自適應(yīng)的交叉和變異因子的方法對(duì)算法進(jìn)行改進(jìn),給出了一種自適應(yīng)差分進(jìn)化算法。使用改進(jìn)后的差分進(jìn)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,給出一種基于自適應(yīng)差分進(jìn)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型。最后通過(guò)實(shí)驗(yàn),驗(yàn)證了基于自適應(yīng)差分進(jìn)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在股票價(jià)格預(yù)測(cè)方面的高效性和優(yōu)越性。

[參考文獻(xiàn)]

[1]朱元.證券投資學(xué)原理[M].上海:立信會(huì)計(jì)圖書(shū)用品社,1992.

[2]王超學(xué).智能優(yōu)化算法與應(yīng)用[M].西安:西北大學(xué)出版社,2012.

[3]張慶科.粒子群優(yōu)化算法及差分進(jìn)行算法研究[D].濟(jì)南:山東大學(xué),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.

猜你喜歡
BP神經(jīng)網(wǎng)絡(luò)
基于神經(jīng)網(wǎng)絡(luò)的北京市房?jī)r(jià)預(yù)測(cè)研究
提高BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率的算法研究