基于粒子群优化WNN股票预测模型的性能评估

2019-05-24 14:12汪志峰钱萌
电脑知识与技术 2019年9期

汪志峰 钱萌

摘要:股票市场数据通常是一个具有极强波动性的非线性时间序列,一般构建小波神经网络(WNN)进行股票预测。但使用BP算法的WNN收敛速度慢且易陷入局部最小,为改善模型性能,提高预测精度,用粒子群算法(PSO)优化WNN,优化WNN参数以建立股票预测模型PSO-WNN。运用MATLAB进行仿真实验,通过分析实验结果,证明该方法的可行性。并将实验结果与优化前的实验结果进行对比分析,证明PSO-WNN的预测精度优于WNN。

关键词:WNN;PSO;PSO-WNN;股票预测

中图分类号:TP311 文献标识码:A

文章编号: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

股票預测即对股票价格指数的运行趋势进行预测,这也是国内外在统计金融领域的研究热点。随着人工智能技术的逐步发展,理论成果也日趋成熟,其在金融领域也得到广泛应用,将神经网络与股票预测相结合构建神经网络股票预测模型成为一种突破性地尝试。但任何模型都会受其在某些方面的局限性而不能完全满足预测要求,所以要将更多的理论相互融合,取长补短,从而达到更佳的预测效果。

将小波理论与神经网络结合起来形成的小波神经网络(WNN)已经成为主要的股票预测方法,WNN是基于小波变换而构成的神经网络模型,即用非线性小波基取代通常的神经元非线性激励函数,这使其融合了小波分析的多尺度分析能力和神经网络的非线性学习能力。在WNN的权值参数修正过程中一般采用梯度修正法,通过修正网络权值和小波基参数使WNN的预测输出不断逼近期望输出,其固定的梯度变化方向会限制参数的优化方向从而导致进化缓慢且易陷入局部最小,这样便难以得到全局最优参数。为了搜索WNN的全局最优参数使预测效果更好,可运用粒子群优化(PSO)算法优化WNN参数修正过程从而寻取最优参数,建立基于粒子群优化小波神经网络(PSO-WNN)的股票预测模型[1-3]。

1 WNN结构及算法

1.1 小波理论

小波函数(wavelet function)是由母小波函数经过平移与尺寸伸缩得到的。

小波变换(wavelet transform)是时间(空间)和频率的局部分析,是时间(空间)和频率的局部变换,因而能有效地从信号中提取信息。通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。具体就是指把某一小波函数如上公式平移后,在不同尺度a下与待分析的信号做内积。

小波分析(wavelet analysis)即把信号分解成一系列小波函数的叠加,通过小波基函数的变换分析信号的局部特征,并且在二维情况下具有信号选择性能力[4-5]。

1.2 小波神经网络拓扑结构

小波神经网络是基于小波变换而构成的神经网络模型,是小波变换与神经网络的有机结合,即用非线性小波基取代通常的神经元非线性激励函数。

图1表示的就是WNN的结构,其由一个输入层、一个隐含层和一个输出层构成。根据神经网络理论,一个三层神经网络具备精确逼近一般非线性函数的能力,运用小波正交或斜交基对函数逼近使得网络节点的冗余度较小。小波基函数取代原Sigmoid函数作为隐含层的激励函数,这样融合了小波分析的时频局部分析特性和神经网络的自适应学习特性的WNN会具备较强的非线性逼近能力[6]。

2.2 PSO算法训练WNN网络学习速率

先设置好原始WNN的网络学习速率,再运用PSO算法搜索WNN的网络学习速率[η]以建立PSO-WNN预测模型。其中WNN的网络学习速率可理解为误差更正的幅度。

PSO-WNN的算法实现步骤如下:

Step1:初始化粒子群。初始化每个粒子的初始位置[x]和初始速度[v],确定粒子群规模为[m],设置最大迭代次数和终止条件精度[Eg]。

Step2:归一化训练数据。利用粒子群算法的迭代公式(10)、(11)在算法规定的最大值内对粒子的速度和位置进行更新,记录每个粒子的历史最优位置。

Step3:将每个粒子的当前位置的适应度值与其历史最优位置适应度值进行比较,更新其最优位置,并记录当前适应度值。

Step4:再将每个粒子的最优位置的适应度值与全局最优位置的适应度值进行比较,更新全局最优位置,并记录当前适应度值。

Step5:计算隐含层的每个节点的实际输入和输出及误差。

Step6:当误差达到终止条件精度或达到最大迭代次数时,终止训练;否则返回步骤3。

Step7:确定WNN的最优参数,输入训练数据到训练好的WNN进行预测[13-17]。

3 仿真实验

3.1 数据来源及处理

本实验所用数据来源于中国证监会官网(www.csrc.gov.cn/pub/newsite/sjtj/zqscyb/),从中采集了从2003年1月到2013年9月共129个月的月末上证指数数据。

将129月的数据当作一组时间序列,前106个时间点的数据作为训练样本,后23个时间点作为测试样本,用训练样本分别训练WNN和PSO-WNN得到预测数据,将预测数据与测试样本进行对比,并分析比较WNN与PSO-WNN的预测精度。具体的实验数据如图。

3.2 实验及结果分析

实验步骤如下:

Step1:初始化网络结构、权值和参数,并对训练数据进行归一化处理。

Step2:用训练数据训练WNN,使WNN具有股票预测能力。

Step3:用训练好的WNN预测股票数据,并以图表的形式表示WNN的预测结果。

Step4:将WNN的预测结果与测试数据进行比较,并用统计指标衡量预测精度。

Step5:运用PSO算法训练WNN参数,建立粒子群优化小波神经网络模型PSO-WNN。

Step6:用训练数据训练PSO-WNN,使PSO-WNN具有股票预测能力。

Step7:用训练好的PSO-WNN预测股票数据,并以图表表示PSO-WNN的预测结果。

Step8:将PSO-WNN的预测结果与测试数据进行比较,并用统计指标衡量预测精度。

Step9:将WNN与PSO-WNN的预测效果进行对比,比较步骤4与步骤8的统计量。

平均绝对误差MSE主要衡量预测精度,数值越小,精度越高。平均相对变动值ARV主要衡量预测值与期望值之间的差别,即泛化能力,ARV越小,泛化能力越强。

实验所使用的仿真软件为MATLABLAB R2016a,所使用计算机的处理器为Intel (R) Core(TM)i7-7700HQ CPU @ 2.80GHz,內存为16.0GB,操作系统为Windows 10。

明确实验相关参数。确定WNN拓扑结构为2-6-2,学习概率分别为0.01和0.001,最大训练次数为100,学习速率分别设为0.15和0.2;PSO-WNN的速度更新系数[c1]=[c2]=1.49445,速度为[-0.5,0.5]。图4和图5为学习率为0.15时的WNN和PSO-WNN的预测结果,图6和图7为学习率为0.2时WNN和PSO-WNN的预测结果。

表2和表3分别为学习率为0.15和0.2时,优化前后的MSE、ARV数值变动情况。由表2可以看出PSO-WNN的MSE值和ARV值相较于优化前提高了38.38%和62.03%。由表3可以看出PSO-WNN的MSE值和ARV值相较于优化前提高了34.68%和57.33%。综合表2和表3,优化效果较为明显,PSO-WNN相比WNN其预测精度得到一定的提升,并拥有更强的泛化能力。学习率设为0.15相比学习率设为0.2在总体上具有更高的预测精度提升比率。表4为优化后预测精度提升比率。但在单个模型的预测精度上,0.2较0.15有更高的预测精度。

参考文献:

[1] Anthony Joseph,MauriceLarrain,ClaudeTurner.Daily stock returns Characteristics and forecastability[J].Procidia computer science.2017(114):481-490.

[2]杨进,陈亮.基于小波神经网络与ARIMA组合模型在股票预测中的应用[J].经济数学,2018,35(2):62-65.

[3]孙冰洁,唐瑞,左毅,等.小波分析下的神经网络股票预测研究[J].计算机与数字工程,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神经网络43个案例分析[M].北京:航空航天大学出版社,2013:279-282,306-307.

[6]孟飞,兰巨龙,胡宇翔.基于改进的量子粒子群优化小波神经网络的网络流量预测[J].计算机应用研究,2015,32(5):1450-1453.

[7] 潘玉民,张晓宇,张全柱,等.基于量子粒子群优化的小波神经网络预测模型[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] 何佳佳,李平,刘井平,等.改进PSO优化神经网络算法的人体姿态识别[J].传感器与微系统,2017,36(1):115-118.

[11] 雷秀娟,史忠科,周亦鹏.PSO优化算法演变及其融合策略[J].计算机工程与应用,2007,43(7):90-91.

[12] 岑翼刚,孙德宝,李宁.WNN中的改进PSO算法及参数初始化[J].华中科技大学学报,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] 郭通,兰巨龙,李玉峰,等.基于量子自适应粒子群优化径向基函数神经网络的网络流量预测[J].电子与信息学报,2013,35(9):2220-2222.

[16] 羅勇,郑金,宁美凤.基于相似日搜索的PSO-WNN组合模型在短期电力负荷预测中的应用[J].信息与控制,2013,42(3):371-375.

[17] 李树荣,雷阳,张强,等.一种求解最优控制问题的混合WNN-PSO算法[J].系统仿真学报,2013,25(3):425-429.

【通联编辑:代影】