基于粒子群算法的GRNN神经网络在股票预测中的应用

2017-07-20 16:41张治华徐元红
数学学习与研究 2017年14期
关键词:粒子群算法

张治华+徐元红

【摘要】广义回归神经网络(GRNN)对于大量数据的非线性模型预测具有很好的效果,且预测过程中只需要调整平滑因子一个参数.粒子群算法(PSO)操作简单,容易实现.利用PSO算法优化GRNN神经网络,可以自动调节平滑因子及连接权值.这两种模型的预测误差都较小,GRNN模型对三只股票的平均MSE误差达到了0.048 6,而PSO-GRNN模型的平均误差减小到了0.010 4.图表分析表明PSO-GRNN模型比GRNN模型更精确,稳定性更好,泛化能力更强.

【关键词】粒子群算法;神经网络模型;股票预测

一、引言

广义回归神经网络(简称GRNN神经网络)是一种基于非线性回归理论的前馈式神经网络模型,具有局部非线性逼近能力强、收敛速度快等特点,是股票预测中常用的神经网络预测之一.由于平滑因子对网络的性能影响比较大,需要不断尝试才能获得最佳值.本文采用粒子群算法优化GRNN神经网络,通过自动调整连接权值及平滑因子,使结果达到最优,建立了PSO-GRNN神经网络模型,对我国三支热门股票上海电力(代码:600021)、中信证券(代码:600030)和中国石化(代码:600028)进行预测.

二、基于粒子群算法的GRNN神经网络及其应用

(一)粒子群算法

粒子群算法(PSO算法)是由Kennedy和Eberhart提出的,通过模拟鸟群飞行觅食过程中的协作行为,使群体达到最优.首先初始化一群随机粒子,其中第i个粒子在D维解空间的位置和速度分别表示为Li=(li1,li2,…,liD),Vi=(vi1,vi2,…,viD),通过迭代搜索产生粒子最优解.每一次迭代,粒子从初始到当前迭代次数搜索产生的最优解为粒子的个体极值Pbest,粒子种群当前的最优解,即所有粒子的最优位置,称为全局极值gbest.第i个粒子通过两个极值更新自己第d维(1≤d≤D)的位置lid和速度vid.

步骤1初始化.确定各个参数并随机初始化种群中粒子的位置和速度,并设定位置的范围[-Lmax,Lmax],速度的范围[-Vmax,Vmax].将每个粒子的Pbest设置为当前位置,gbest值设置为初始群体中适应值最好的粒子位置.

步骤2判断粒子是否达到个体极值.如果满足,转步骤5;否则,转步骤3.

步骤3更新粒子的位置和速度.

步骤4更新粒子的Pbest值和gbest值.对每个粒子,如果适应值小于Pbest的适应值,则Pbest设置为当前位置;如果粒子适应值小于gbest的适应值,则gbest设置为当前位置,转步骤2.

步骤5记录gbest,算法结束.

(二)基于PSO的GRNN神经网络算法

步骤1提取目标输入矢量,并做归一化处理,利用公式计算.xj(i)=xj(i)1max(xj(k)),k=1,2,…,N,式中,xj(i)表示第j个神经元的第i个输入值,N表示有N个训练样本.

步骤2随机初始化种群,设定种群规模为20,初始化粒子速度和位置,设定位置的范围[-Lmax,Lmax]和速度的范围[-Vmax,Vmax].

步骤3将粒子群中每一个体的分量映射为GRNN神经网络的参数,构成一个GRNN神经网络,对每一个GRNN神经网络输入训练样本进行训练,并计算每一个粒子在训练集上的均方误差和作为适应度值.均方误差公式如下:fi=e=11n∑n1i=1(yij-ij)2.其中,N为训练样本容量,yij表示训练样本实际值,ij表示预测模型的输出值.

步骤4根据每一个体的适应度值來评价每个粒子的搜索位置,计算当前每个粒子的个体极值和种群全局极值.

步骤5判断是否满足条件.如果达到最大迭代次数或均方误差达到最初设定值,则结束粒子搜索.否则转到步骤3,重复迭代优化,更新粒子速度和位置.

步骤6输出最优粒子位置,将每一个个体的分量映射为GRNN神经网络的平滑因子和权值,对神经网络的输入样本进行预测.

步骤7算法结束.

三、利用MATLAB工具实现结果

为了确保PSO-GRNN神经网络预测的精确度,我们选择了3组训练数据,每组数据都是从2012年3月29日到2012年4月16日的250天的收盘指数.PSO-GRNN神经网络模型中动量因子取α=0.05,β=0.55.粒子种群规模为20,粒子维数为12,学习因子c1=c2=2,惯性权值的初始值0=0.9,最大迭代次数为250次.为了检验神经网络的泛化能力,我们引入三种评价指标:

均方根误差:MSE=11n∑n1i=1(yi-i)2.

平均绝对误差:MAE=11n∑n1i=1|yi-i|.

平均绝对百分比误差:MAPE=11n∑n1i=1|yi-i|1|yi|×100%.

其中,yi表示训练样本实际值,i表示预测模型的输出值.平均绝对误差(MAE)和平均绝对百分比误差(MAPE)都是衡量预测结果偏离实际的指标,MAE(或者MAPE)值越大,预测误差越大;均方根误差(MSE)能较好地预测效果,MSE值越小,预测效果越好.

经过PSO-GRNN模型和GRNN模型对所选三组数据的训练,两种模型对比结果见下表.在模型样本相同,初始因子相同的情况下,PSO-GRNN模型对样本的预测精度明显优于GRNN模型,泛化能力更强.

四、结论

GRNN神经网络预测在股票预测方面能达到很好的效果,但在调节平滑因子过程中需要不断尝试.粒子群算法改进的GRNN神经网络,通过搜索—更新过程对平滑因子及权值的自动寻优,可以达到更好的效果.在相同训练样本的基础下,PSO-GRNN模型比GRNN模型精确度更高,稳定性更好,泛化能力更强.

猜你喜欢
粒子群算法
几种改进的萤火虫算法性能比较及应用
基于支持向量机的短期电力负荷预测
基于云计算平台的资源调度优化研究
一种基于高维粒子群算法的神经网络结构优化研究
基于PSODE混合算法优化的自抗扰控制器设计
蚁群算法的运用及其优化分析
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
无线传感器网络联盟初始结构生成研究
交通堵塞扰动下多车场车辆路径优化