汪志峰 錢萌
摘要:股票市場(chǎng)數(shù)據(jù)通常是一個(gè)具有極強(qiáng)波動(dòng)性的非線性時(shí)間序列,一般構(gòu)建小波神經(jīng)網(wǎng)絡(luò)(WNN)進(jìn)行股票預(yù)測(cè)。但使用BP算法的WNN收斂速度慢且易陷入局部最小,為改善模型性能,提高預(yù)測(cè)精度,用粒子群算法(PSO)優(yōu)化WNN,優(yōu)化WNN參數(shù)以建立股票預(yù)測(cè)模型PSO-WNN。運(yùn)用MATLAB進(jìn)行仿真實(shí)驗(yàn),通過分析實(shí)驗(yàn)結(jié)果,證明該方法的可行性。并將實(shí)驗(yàn)結(jié)果與優(yōu)化前的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析,證明PSO-WNN的預(yù)測(cè)精度優(yōu)于WNN。
關(guān)鍵詞:WNN;PSO;PSO-WNN;股票預(yù)測(cè)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)09-0181-03
Abstract:The stock market data is usually a nonlinear time series with very strong volatility, and the general construction of the wavelet neural network (WNN) is used to predict the stock. But the WNN convergence rate of BP algorithm is slow and easy to fall into local optimum. In order to improve the performance of the model and improve the prediction accuracy, particle swarm optimization (PSO) is used to optimize WNN and optimize WNN parameters to establish PSO-WNN prediction model. The simulation experiment was carried out by MATLAB, and the feasibility of the method was proved by the analysis of the experimental results. The experimental results are compared with the experimental results before the optimization, and it is proved that the prediction accuracy of PSO-WNN is better than that of WNN.
Key words:WNN;PSO;PSO-WNN;stock prediction
股票預(yù)測(cè)即對(duì)股票價(jià)格指數(shù)的運(yùn)行趨勢(shì)進(jìn)行預(yù)測(cè),這也是國內(nèi)外在統(tǒng)計(jì)金融領(lǐng)域的研究熱點(diǎn)。隨著人工智能技術(shù)的逐步發(fā)展,理論成果也日趨成熟,其在金融領(lǐng)域也得到廣泛應(yīng)用,將神經(jīng)網(wǎng)絡(luò)與股票預(yù)測(cè)相結(jié)合構(gòu)建神經(jīng)網(wǎng)絡(luò)股票預(yù)測(cè)模型成為一種突破性地嘗試。但任何模型都會(huì)受其在某些方面的局限性而不能完全滿足預(yù)測(cè)要求,所以要將更多的理論相互融合,取長補(bǔ)短,從而達(dá)到更佳的預(yù)測(cè)效果。
將小波理論與神經(jīng)網(wǎng)絡(luò)結(jié)合起來形成的小波神經(jīng)網(wǎng)絡(luò)(WNN)已經(jīng)成為主要的股票預(yù)測(cè)方法,WNN是基于小波變換而構(gòu)成的神經(jīng)網(wǎng)絡(luò)模型,即用非線性小波基取代通常的神經(jīng)元非線性激勵(lì)函數(shù),這使其融合了小波分析的多尺度分析能力和神經(jīng)網(wǎng)絡(luò)的非線性學(xué)習(xí)能力。在WNN的權(quán)值參數(shù)修正過程中一般采用梯度修正法,通過修正網(wǎng)絡(luò)權(quán)值和小波基參數(shù)使WNN的預(yù)測(cè)輸出不斷逼近期望輸出,其固定的梯度變化方向會(huì)限制參數(shù)的優(yōu)化方向從而導(dǎo)致進(jìn)化緩慢且易陷入局部最小,這樣便難以得到全局最優(yōu)參數(shù)。為了搜索WNN的全局最優(yōu)參數(shù)使預(yù)測(cè)效果更好,可運(yùn)用粒子群優(yōu)化(PSO)算法優(yōu)化WNN參數(shù)修正過程從而尋取最優(yōu)參數(shù),建立基于粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)(PSO-WNN)的股票預(yù)測(cè)模型[1-3]。
1 WNN結(jié)構(gòu)及算法
1.1 小波理論
小波函數(shù)(wavelet function)是由母小波函數(shù)經(jīng)過平移與尺寸伸縮得到的。
小波變換(wavelet transform)是時(shí)間(空間)和頻率的局部分析,是時(shí)間(空間)和頻率的局部變換,因而能有效地從信號(hào)中提取信息。通過伸縮和平移等運(yùn)算功能可對(duì)函數(shù)或信號(hào)進(jìn)行多尺度的細(xì)化分析,解決了Fourier變換不能解決的許多困難問題。具體就是指把某一小波函數(shù)如上公式平移后,在不同尺度a下與待分析的信號(hào)做內(nèi)積。
小波分析(wavelet analysis)即把信號(hào)分解成一系列小波函數(shù)的疊加,通過小波基函數(shù)的變換分析信號(hào)的局部特征,并且在二維情況下具有信號(hào)選擇性能力[4-5]。
1.2 小波神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
小波神經(jīng)網(wǎng)絡(luò)是基于小波變換而構(gòu)成的神經(jīng)網(wǎng)絡(luò)模型,是小波變換與神經(jīng)網(wǎng)絡(luò)的有機(jī)結(jié)合,即用非線性小波基取代通常的神經(jīng)元非線性激勵(lì)函數(shù)。
圖1表示的就是WNN的結(jié)構(gòu),其由一個(gè)輸入層、一個(gè)隱含層和一個(gè)輸出層構(gòu)成。根據(jù)神經(jīng)網(wǎng)絡(luò)理論,一個(gè)三層神經(jīng)網(wǎng)絡(luò)具備精確逼近一般非線性函數(shù)的能力,運(yùn)用小波正交或斜交基對(duì)函數(shù)逼近使得網(wǎng)絡(luò)節(jié)點(diǎn)的冗余度較小。小波基函數(shù)取代原Sigmoid函數(shù)作為隱含層的激勵(lì)函數(shù),這樣融合了小波分析的時(shí)頻局部分析特性和神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)特性的WNN會(huì)具備較強(qiáng)的非線性逼近能力[6]。
2.2 PSO算法訓(xùn)練WNN網(wǎng)絡(luò)學(xué)習(xí)速率
先設(shè)置好原始WNN的網(wǎng)絡(luò)學(xué)習(xí)速率,再運(yùn)用PSO算法搜索WNN的網(wǎng)絡(luò)學(xué)習(xí)速率[η]以建立PSO-WNN預(yù)測(cè)模型。其中WNN的網(wǎng)絡(luò)學(xué)習(xí)速率可理解為誤差更正的幅度。
PSO-WNN的算法實(shí)現(xiàn)步驟如下:
Step1:初始化粒子群。初始化每個(gè)粒子的初始位置[x]和初始速度[v],確定粒子群規(guī)模為[m],設(shè)置最大迭代次數(shù)和終止條件精度[Eg]。
Step2:歸一化訓(xùn)練數(shù)據(jù)。利用粒子群算法的迭代公式(10)、(11)在算法規(guī)定的最大值內(nèi)對(duì)粒子的速度和位置進(jìn)行更新,記錄每個(gè)粒子的歷史最優(yōu)位置。
Step3:將每個(gè)粒子的當(dāng)前位置的適應(yīng)度值與其歷史最優(yōu)位置適應(yīng)度值進(jìn)行比較,更新其最優(yōu)位置,并記錄當(dāng)前適應(yīng)度值。
Step4:再將每個(gè)粒子的最優(yōu)位置的適應(yīng)度值與全局最優(yōu)位置的適應(yīng)度值進(jìn)行比較,更新全局最優(yōu)位置,并記錄當(dāng)前適應(yīng)度值。
Step5:計(jì)算隱含層的每個(gè)節(jié)點(diǎn)的實(shí)際輸入和輸出及誤差。
Step6:當(dāng)誤差達(dá)到終止條件精度或達(dá)到最大迭代次數(shù)時(shí),終止訓(xùn)練;否則返回步驟3。
Step7:確定WNN的最優(yōu)參數(shù),輸入訓(xùn)練數(shù)據(jù)到訓(xùn)練好的WNN進(jìn)行預(yù)測(cè)[13-17]。
3 仿真實(shí)驗(yàn)
3.1 數(shù)據(jù)來源及處理
本實(shí)驗(yàn)所用數(shù)據(jù)來源于中國證監(jiān)會(huì)官網(wǎng)(www.csrc.gov.cn/pub/newsite/sjtj/zqscyb/),從中采集了從2003年1月到2013年9月共129個(gè)月的月末上證指數(shù)數(shù)據(jù)。
將129月的數(shù)據(jù)當(dāng)作一組時(shí)間序列,前106個(gè)時(shí)間點(diǎn)的數(shù)據(jù)作為訓(xùn)練樣本,后23個(gè)時(shí)間點(diǎn)作為測(cè)試樣本,用訓(xùn)練樣本分別訓(xùn)練WNN和PSO-WNN得到預(yù)測(cè)數(shù)據(jù),將預(yù)測(cè)數(shù)據(jù)與測(cè)試樣本進(jìn)行對(duì)比,并分析比較WNN與PSO-WNN的預(yù)測(cè)精度。具體的實(shí)驗(yàn)數(shù)據(jù)如圖。
3.2 實(shí)驗(yàn)及結(jié)果分析
實(shí)驗(yàn)步驟如下:
Step1:初始化網(wǎng)絡(luò)結(jié)構(gòu)、權(quán)值和參數(shù),并對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行歸一化處理。
Step2:用訓(xùn)練數(shù)據(jù)訓(xùn)練WNN,使WNN具有股票預(yù)測(cè)能力。
Step3:用訓(xùn)練好的WNN預(yù)測(cè)股票數(shù)據(jù),并以圖表的形式表示W(wǎng)NN的預(yù)測(cè)結(jié)果。
Step4:將WNN的預(yù)測(cè)結(jié)果與測(cè)試數(shù)據(jù)進(jìn)行比較,并用統(tǒng)計(jì)指標(biāo)衡量預(yù)測(cè)精度。
Step5:運(yùn)用PSO算法訓(xùn)練WNN參數(shù),建立粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)模型PSO-WNN。
Step6:用訓(xùn)練數(shù)據(jù)訓(xùn)練PSO-WNN,使PSO-WNN具有股票預(yù)測(cè)能力。
Step7:用訓(xùn)練好的PSO-WNN預(yù)測(cè)股票數(shù)據(jù),并以圖表表示PSO-WNN的預(yù)測(cè)結(jié)果。
Step8:將PSO-WNN的預(yù)測(cè)結(jié)果與測(cè)試數(shù)據(jù)進(jìn)行比較,并用統(tǒng)計(jì)指標(biāo)衡量預(yù)測(cè)精度。
Step9:將WNN與PSO-WNN的預(yù)測(cè)效果進(jìn)行對(duì)比,比較步驟4與步驟8的統(tǒng)計(jì)量。
平均絕對(duì)誤差MSE主要衡量預(yù)測(cè)精度,數(shù)值越小,精度越高。平均相對(duì)變動(dòng)值A(chǔ)RV主要衡量預(yù)測(cè)值與期望值之間的差別,即泛化能力,ARV越小,泛化能力越強(qiáng)。
實(shí)驗(yàn)所使用的仿真軟件為MATLABLAB R2016a,所使用計(jì)算機(jī)的處理器為Intel (R) Core(TM)i7-7700HQ CPU @ 2.80GHz,內(nèi)存為16.0GB,操作系統(tǒng)為Windows 10。
明確實(shí)驗(yàn)相關(guān)參數(shù)。確定WNN拓?fù)浣Y(jié)構(gòu)為2-6-2,學(xué)習(xí)概率分別為0.01和0.001,最大訓(xùn)練次數(shù)為100,學(xué)習(xí)速率分別設(shè)為0.15和0.2;PSO-WNN的速度更新系數(shù)[c1]=[c2]=1.49445,速度為[-0.5,0.5]。圖4和圖5為學(xué)習(xí)率為0.15時(shí)的WNN和PSO-WNN的預(yù)測(cè)結(jié)果,圖6和圖7為學(xué)習(xí)率為0.2時(shí)WNN和PSO-WNN的預(yù)測(cè)結(jié)果。
表2和表3分別為學(xué)習(xí)率為0.15和0.2時(shí),優(yōu)化前后的MSE、ARV數(shù)值變動(dòng)情況。由表2可以看出PSO-WNN的MSE值和ARV值相較于優(yōu)化前提高了38.38%和62.03%。由表3可以看出PSO-WNN的MSE值和ARV值相較于優(yōu)化前提高了34.68%和57.33%。綜合表2和表3,優(yōu)化效果較為明顯,PSO-WNN相比WNN其預(yù)測(cè)精度得到一定的提升,并擁有更強(qiáng)的泛化能力。學(xué)習(xí)率設(shè)為0.15相比學(xué)習(xí)率設(shè)為0.2在總體上具有更高的預(yù)測(cè)精度提升比率。表4為優(yōu)化后預(yù)測(cè)精度提升比率。但在單個(gè)模型的預(yù)測(cè)精度上,0.2較0.15有更高的預(yù)測(cè)精度。
參考文獻(xiàn):
[1] Anthony Joseph,MauriceLarrain,ClaudeTurner.Daily stock returns Characteristics and forecastability[J].Procidia computer science.2017(114):481-490.
[2]楊進(jìn),陳亮.基于小波神經(jīng)網(wǎng)絡(luò)與ARIMA組合模型在股票預(yù)測(cè)中的應(yīng)用[J].經(jīng)濟(jì)數(shù)學(xué),2018,35(2):62-65.
[3]孫冰潔,唐瑞,左毅,等.小波分析下的神經(jīng)網(wǎng)絡(luò)股票預(yù)測(cè)研究[J].計(jì)算機(jī)與數(shù)字工程,2016,44(6):1031-1034.
[4] AmjadyN,KeyniaF.Short-term load forecasting of power systems by combination of wavelet transform and neuroevolutionary.algorithm[J].Energy,2009,34(1):46-57.
[5] 王小川,史峰,郁磊,等.MATLAB神經(jīng)網(wǎng)絡(luò)43個(gè)案例分析[M].北京:航空航天大學(xué)出版社,2013:279-282,306-307.
[6]孟飛,蘭巨龍,胡宇翔.基于改進(jìn)的量子粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2015,32(5):1450-1453.
[7] 潘玉民,張曉宇,張全柱,等.基于量子粒子群優(yōu)化的小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型[J].信息與控制,2012,41(6):745-746.
[8] Wang Q,Wang P H,Su Z G.A hybird search strategy-based particles swarm optimization algorithm[C]//IEEE Conference on Industrial Electronics and Applications,2013:301-306.
[9] Higashi N,IbaH.Particle Swarm Optimization with Gaussian mutation[C]//Proceedings of the 2003 Congress on Evolutionary Computation.Piscataway,NJ:IEEE Press,2003:72-79.
[10] 何佳佳,李平,劉井平,等.改進(jìn)PSO優(yōu)化神經(jīng)網(wǎng)絡(luò)算法的人體姿態(tài)識(shí)別[J].傳感器與微系統(tǒng),2017,36(1):115-118.
[11] 雷秀娟,史忠科,周亦鵬.PSO優(yōu)化算法演變及其融合策略[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(7):90-91.
[12] 岑翼剛,孫德寶,李寧.WNN中的改進(jìn)PSO算法及參數(shù)初始化[J].華中科技大學(xué)學(xué)報(bào),2006,34(8):43-45.
[13]VarshneySarika,SrivastavaLaxmi,andPanditManjaree.Parameter tuning of Statcom using particle swarm optimization based neural network[J].Advances in Intelligent and Soft Computing,2012,130:813-824.
[14] Shi Y,Eberhart R C.A modified particle swarm optimizer[C]//Proce.of the Conference on Evolutionary Computation.Anchorage,USA:IEEE Press,1998:899-907.
[15] 郭通,蘭巨龍,李玉峰,等.基于量子自適應(yīng)粒子群優(yōu)化徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)[J].電子與信息學(xué)報(bào),2013,35(9):2220-2222.
[16] 羅勇,鄭金,寧美鳳.基于相似日搜索的PSO-WNN組合模型在短期電力負(fù)荷預(yù)測(cè)中的應(yīng)用[J].信息與控制,2013,42(3):371-375.
[17] 李樹榮,雷陽,張強(qiáng),等.一種求解最優(yōu)控制問題的混合WNN-PSO算法[J].系統(tǒng)仿真學(xué)報(bào),2013,25(3):425-429.
【通聯(lián)編輯:代影】