基于主成分分析与广义回归神经网络的股票价格预测
2018-10-17于卓熙赵志文
于卓熙,秦 璐,赵志文,温 馨
(1.吉林财经大学a.管理科学与信息工程学院;b.互联网金融重点实验室,长春 130117;2.吉林师范大学 数学学院,吉林 四平 136000)
0 引言
随着股市的发展,国内外学者提出了许多股票预测的方法:(1)传统投资分析法,主要包括基本分析法和技术分析法。基本分析法适用于周期相对较长的证券价格预测,以及相对成熟的证券市场和预测精准度要求不高的领域。技术分析法更适用于短期行情预测,但其方法多种多样,选择哪一种方法依赖于主观判断。多种方法综合使用,对使用者要求较高,并且占用大量时间,影响时效性[1]。(2)时间序列分析法,主要包括趋势外推法、移动平均预测法以及指数平滑法。适用于较为简单、平滑的数列预测,此方法应用简单、直观[1]。(3)非线性系统分析法,主要包括神经网络。适用于处理类似于股价预测等多因素、不确定、非线性的时间序列预测问题,既可以模拟基本分析,也可以模拟技术分析,具有分布处理、自组织、自适应、自学习、容错性等优良特性。但是该算法本身存在一定的局限性[3],比如神经网络不能对输入变量进行选取。如果输入变量过多时,就会使网络结果变得复杂,从而对神经网络的训练造成负担,进而使学习速度下降;同时,如果主观选择变量,很可能选出与输出相关性很小的输入变量,由于带有人为的主观性,会严重影响神经网络的预测精度[2]。针对以上神经网络中的问题,结合Donald(1990)[3]提出的广义神经网(简称GRNN),其是由径向基函数引申而来。与前馈神经网络相比,有较短的训练时间和较低的计算成本以及网络计算结果能达到全局收敛而不会停止在局部收敛的优势。且只有一个自由参数的优点,决定了该网络能够最大限度地避免人为主观选择对预测结果带来影响。
本文运用广义回归神经网络(GRNN)模型对华夏银行(600015)从2013年3月11日到2015年6月3日内的股票数据进行了验证性测试与分析。首先运用主成分分析法对影响股价的因素进行降维,避免输入变量过多和选择主观性问题。将主成分分析与广义回归神经网络相结合的预测效果与时间序列ARIMA模型的预测效果进行了对比分析。
1 主成分分析法与广义回归神经网络
1.1 主成分分析法
确定主成分的方法有两种,一是通过选取特征值大于1的指标来选取主成分;二是通过方差累计贡献率来选取,一般要求选取的主成分的累计贡献率大于等于85%。本文通过第一种方法来选取影响股价的主成分。其主要的算法步骤如下:
(1)对原始变量进行标准化。目的在于消除原始变量间量纲影响和数值差异的影响,使得原始数据间具有可比性。即:
(2)计算相关系数矩阵。
其中,rij为原始变量xi与xj的相关系数。
原变量协方差矩阵的特征根是主成分的方差,即前m个较大特征根为前m个较大主成分方差值;原变量协方差矩阵前m个较大特征值所对应的特征向量为相应主成分Fi表达式的系数。将计算得出的各主成分得分值作为广义神经网络的输入值。
1.2 广义回归神经网络
广义回归神经网络(GRNN)是径向基神经网络(RBF)的一个分支,是一种通用的非参数回归模型,不像传统的回归分析需要先假设一个明确的函数形式,只需要以机率密度函数的方式表达[4]。GRNN神经网络结构的四部分,即分别为输入层、模式层、求和层和输出层,如图1所示。
图1 广义回归神经网络模型的结构
网络的输入为X=[X1,X2,…,Xn-1,…,Xn]T,输出为Y=[Y1,Y2,…,Yn-1,Yn]T。
(1)输入层。用来接收学习样本,并将输入样本直接传送给模式层。
(2)模式层。平滑参数存在于模式层,模式层中不同的神经元对应不同的样本,该层的传递函数为径向基函数,即:
其中,X为网络输入变量;Xi为第i个神经元对应的学习样本;σ代表光滑因子[5]。
(3)求和层。对模式层所有神经元的输出进行求和,该层的传递函数也为径向基函数。该层中使用两类神经元求和:
一类为:
它对所有模式层神经元的输出进行了算术求和,其中,模式层和各个神经元的连接权值为1,传递函数为:
它对所有模式层神经元的输出进行加权求和,模式层中第i个神经元与求和层中第j个分子求和,神经元之间的连接权值为第i个输出样本Yi中的第j个元素[8]。其中传递函数为:
另一类为:
(4)输出层。该层的函数为线性函数,对结果进行输出,对应的函数方程为:
2 实证分析
2.1 数据选择
本文选取了华夏银行(600015)从2013年3月11日到2015年6月3日共543个交易日的数据,根据该股票的信息,选取了开盘价、收盘价、最高价、最低价、成交量、成交金额、每股收益、净资产收益率、每股净资产这9项重要指标进行分析[6]。选择收盘价作为股票价格预测指标,其他指标作为股票价格的影响因素,数据来源于瑞思金融研究数据库。部分数据如表1所示。
表1 华夏银行在批发和零售业的部分数据
2.2 PCA-GRNN神经网络模型
2.2.1 主成分析析结果
运用SPSS软件对所有数据进行分析,从得到的KMO和Bartlett检验结果可以看出,原变量之间存在着很显著的相关关系,说明存在数据冗余,有必要对这些数据指标进行主成分分析。经过选择特征值大于1这项指标进行主成分选择,并结合表2所示的解释总方差,可以看出前两个主成分的累计贡献率已超过85%,因此需要提取两个主成分。
表2 解释的总方差
由表3所示的成分矩阵表,可以提取到的主成分公式为:
式(10)和式(11)中F1、F2分别代表两个主成分,X1、X2、X3、X4、X5、X6、X7、X8、X9分别代表开盘价、最高价、最低价、成交量、成交金额、每股收益、净资产收益率、每股净资产、收盘价。
表3 成分矩阵
2.2.2 GRNN预测建模
将提取出的两个主成分作为PCA-GRNN神经网络模型的输入进行网络训练建模,运用交叉验证法选出最优的输入输出值及最优的平滑参数。经过不断测试,最终选择运用4折交叉验证,再将运用4折交叉验证选出的最优输入输出值进行归一化,归一化的数据分布在[-1,1]区间。运用归一化的输入输出值及最优平滑参数进行建模,进而对后五天的股票价格进行预测,此过程均在Matlab软件中实现,且得到最优的平滑参数值spread为0.009。数据分为两部分,2013年3月11日到2015年5月29日期间的数据作为训练数据集,2015年5月30日到2015年6月3日期间的数据作为测试数据集。本文选取交叉验证方法的原因是:(1)可以从有限的股票数据中获取到尽可能多的信息;(2)从多个方向开始学习样本的,能够有效地避免陷入局部最小值;(3)可以在一定程度上避免过拟合的问题。
2.3 ARIMA模型
ARIMA(p,d,q)模型处理的是平稳序列。本文中原始数据的时序图如图2所示。
图2 时序图
从时序图可以看出总体呈上升趋势,可判断该序列是非平稳序列;需要对该序列进行平稳化处理,即需要对原始序列进行差分,差分后的序列为图3所示。
图3 三阶差分序列图
根据差分后序列方差的变化,最终决定选择三阶差分;接着对差分后的序列进行单位根检验,检验结果为该序列为平稳序列;因此可以根据该序列进行建模。
根据ACF图(下页图4)可以看出在3阶之后截尾;由PACF图(下页图5)可以看出5阶之后,误差大部分都在2倍标准差左右,并根据AIC最小的原则,最终得到的综合模型为ARIMA(1,3,1)。该模型的方程为:
模型的建模参数结果如表4所示。
表4 ARIMA(1,3,1)模型参数估计
从表4可以看出回归系数均显著,且拟合优度相对较高为R2=0.980。
3 结果分析
运用ARIMA模型与基于PCA-GRNN神经网络模型对2015年5月28日到2015年6月3日五天的收盘价进行预测。预测结果如表5所示,并对两种模型的预测结果进行了误差分析,分析结果如表6所示,两种模型对后五天的股票价格的预测值与真实值之间的对比结果如图6所示。
图4 三阶差分序列自相关图
图5 三阶差分序列偏自相关图
表5 预测结果分析
表6 误差分析结果
由表5的对比分析可知,PCA-GRNN神经网络的预测结果比ARIMA模型的预测结果更接近真实值,说明PCA-GRNN是一种较为有效的股票价格预测方法。
从表6可以得出PCA-GRNN模型的均方误差(MSE)为0.062922,要低于ARIMA模型的均方误差值(MSE)0.68748;由平均绝对误差百分比(MAPE),PCA-GRNN神经网络模型1.304%的值也明显低于ARIMA模型的4.522%。说明PCA-GRNN模型的预测效果要优于ARIMA模型。
图6预测值与真实值的对比图
图6 中,y1表示股价真实值,y2表示基于PCA-GRNN模型的预测值,y3表示ARIMA模型的预测值;横坐标x表示天数,1代表预测的第一天即2015年5月28号,依次类推,5代表2015年6月3号。从图6可以得出PCA-GRNN神经网络的预测结果趋势与真实值基本一致,且误差较小,而ARIMA模型的预测结果明显均高于真实值,存在较大的误差。
4 结论
通过主成分分析和广义回归神经网络结合的模型以及时间序列ARIMA模型对股票价格进行预测分析,结果表明:基于PCA-GRNN模型的预测结果要优于ARIMA模型。这主要是由于股票数据是随机的、非线性的、不确定的非平稳时间序列,而ARIMA模型属于线性模型,对股票价格预测分析这种非线性行为的分析与预测存在一定缺陷;而神经网络能够以任意精度逼近任何非线性连续函数,同时它在模拟多变量时,并不需要对输入变量做出复杂的假定,只需依靠观测到的数据,通过训练得到精确的模型。且广义回归神经网络只有一个受人为因素影响的参数,大大降低了人为因素带来的误差[7],对投资者能够准确地预测股票价格及更好地把握股票市场的发展提供了相应的参考依据。