1、2023 年 2 月 25 日第 7 卷第 4 期现代信息科技Modern Information Technology Feb.2023 Vol.7 No.41131132023.022023.02收稿日期:2022-08-03基于并联 ResNet-GRU 模型的股票价格预测赵萌,王倩影(河北经贸大学,河北 石家庄 050061)摘 要:针对目前股价预测模型在随着网络层数增加而导致梯度发生极端变化的问题,提出一种并联残差神经网络(ResNet)和门控循环单元(GRU)网络模型对股票数据的收盘价进行预测。在沪深 300 股票价格数据上的实验结果表明,该模型的平均绝对误差(MAE)为 6.71
2、4,均方根误差(RMSE)为 60.961,预测误差均低于其他模型;且决定系数(R2)为 99.472%,表明预测值和真实值较为接近。该模型对股票价格预测的效果较好。关键词:股价预测;股票价格;残差神经网络;门控循环单元中图分类号:TP183;F832.5 文献标识码:A 文章编号:2096-4706(2023)04-0113-04Stock Price Prediction Based on Parallel ResNet-GRU ModelZHAO Meng,WANG Qianying(Hebei University of Economics and Business,Shijiazhu
3、ang,Hebei 050061,China)Abstract:Aiming at the problem that the current stock price prediction model changes the gradient extremely as the number of layers of the network increases,a parallel ResNet and GRU network model are proposed to predict the closing price of stock data.Experimental results on
4、the CSI 300 stock price data show that the Mean Absolute Error(MAE)of the model is 6.714,the Root Mean Square Error(RMSE)is 60.961,and the prediction error is lower than that of other models.And the coefficient of determination(R2)is 99.472%,which indicates that the predicted value and the true valu
5、e are relatively close.The model has a better effect on stock price prediction.Keywords:stock price prediction;stock price;ResNet;GRU0 引 言在股票时间序列数据中存在许多噪声信息和不确定性因素,是一个具有非线性、非平稳性和长期记忆性等特点的复杂系统,准确预测股票价格可以降低交易风险且对于投资者来说具有重要意义。股价预测的传统方法有多元线性回归法、自回归移动平均法(ARIMA)等。如李俊豪1通过使用因子分析改进的多元线性回归模型对贵州茅台股票的收盘价进行预测;刘松
6、等2通过建立 ARIMA 模型对西南证券股票的短期数据收盘价进行研究;齐天铧3建立了灰色模型和 ARIMA 模型,分析了模型的应用场景并对股票价格进行预测。近年来,伴随着人工智能网络技术的飞速发展,机器学习和深度学习等算法在各领域中得到广泛应用。通过引入支持向量机、神经网络等方法,进而由线性回归过渡到非线性模型的拟合,来对股价进行预测研究4-9。然而,伴随着预测周期的加长和网络层数的增加,容易产生梯度极端变化等问题10,这样会使得模型的预测效果较差。残差神经网络可以简化深层网络的训练,避免模型梯度的极端变化问题。综合以上模型思想,提出一种并联 ResNet-GRU 模型方法对股票价格进行预测。
7、该模型通过引入残差卷积神经网络和记忆循环神经网络技术对股票价格数据进行训练以提取高维特征。利用了并联残差神经网络(Residual Neural DOI:10.19850/ki.2096-4706.2023.04.029Network,ResNet)的简化深层网络训练能力和门控循环单元(Gate Recurrent Unit,GRU)网络对时间序列数据的记忆能力,将ResNet网络和GRU网络的输出结果进行拼接作为总输出。这进一步提升了对股票价格的预测精度。1 模型构建1.1 卷积神经网络(CNN)卷积神经网络是具有局部连接和权重共享等性质的深度神经网络,其通常是由 Conv 层、Poolin
8、g 层和全连接层共同组成。一般来说,在卷积神经网络中可以有一个或多个Conv 层、Pooling 层和全连接层。网络的基本模型结构如图1 所示。具体内容有:(1)Conv 层。其作用是利用特征提取器(卷积核)对局部区域的特征进行提取,特征提取器的选择可以相同,也可以不同。(2)Pooling 层。也称采样层。作用是对区域特征值进行特征选择,从而降低特征维数,避免过拟合。常用的池化方式有两种:一种是最大值池化(Max Pooling),最大值池化是选取某个区域所有数值中最大的一个作为该区域的代表值;另一种是平均值池化(Mean Pooling),通常是选取区域内所有数值的平均值作为该区域的代表值
9、。(3)全连接层。其作用是连接所有特征,将卷积、池化输出的二维特征数据处理成一维特征向量,用来综合所有信息。1141142023.022023.02第 4 期现代信息科技Inputfeature mapsfeature mapslayerOutputConvolutionsSubsamplingFull connection图 1 卷积神经网络基本结构图1.2 残差网络模型(ResNet)与 CNN 模型相比,ResNet 模型在其中加入了 Shortcut直连边分支结构(也称残差连接(Residual Connection),使其与残差单元以直连边拼接的方式实现来提升网络信息的传播效率。残差
10、网络中的基本模块结构如图 2 所示。模块中包含两种映射:一是恒等映射,即图 2 中右侧的 x 连线;二是残差映射 F(x),最终输出目标函数 H(x)=F(x)+x。weight layerweight layerrelureluxxF(x)H(x)图 2 残差神经网络基本模块图图 2 中,输入数据通过两个卷积层得到:F=W2(W1x)(1)其中 Wi代表权重,代表非线性函数 relu,然后与一个Shortcut 连接,再经过非线性函数 relu,最终获得输出目标函数为:H=F(x,Wi)+x (2)当输入维度与输出维度不一致时,在 Shortcut 处对 x 做线性变换 WS,最终输出目标函
11、数为:H=F(x,Wi)+WSx (3)1.3 门控循环单元模型(GRU)GRU 是 LSTM 网络的进化神经网络,与 LSTM 不同,其网络结构比 LSTM 网络更加简单。GRU 网络通过引入门控机制重置门(Reset Gate)rt与更新门(Update Gate)zt去选择信息。GRU 神经网络的结构如图 3 所示。其门控状态来源于前一刻的信息状态 ht-1和当前时刻的信息状态 xt。ht-1xtrtzthtHttanh1-图 3 GRU 神经网络结构示意图GRU 网络的具体传播过程如下:(1)重置门 rt与更新门 zt。其作用都是将前一刻的状态信息 ht-1与当前时刻信息 xt通过门控
12、状态进行运算,为sigmoid 激活函数。计算表达式为:rt=(Wxr xt+Whr ht-1+br)(4)zt=(Wxz xt+Whzht-1+bz)(5)(2)当前时刻的候选状态。在重置门 rt对上一时刻的状态信息 ht-1实现信息状态的重置后,再将其与当前时刻信息 xt通过函数 tanh 激活,具体计算表达式为:(6)(3)输出层为当前状态 ht。表示要从前一时刻信息状态 ht-1中提取多少信息,且从候选状态 中保留多少信息,即通过更新门的遗忘和选择记忆与当前时刻候选状态共同控制输出。计算表达式为:(7)在式(4)(7)中:Wxr,Wxz,Whr,Whz分别为当前时刻与前一时刻中各输入层
13、之间连接的权重矩阵;br,bz,分别为重置门、更新门和当前时刻隐藏层的偏置项;“”表示点乘。1.4 并联 ResNet-GRU 模型综合以上模型思想,为了提高对股票价格的预测精度,提出了如图 4 所示的并联 ResNet-GRU 神经网络模型。该模型可分为 3 个层次,即 ResNet 通道层、GRU 通道层和特征融合层。在搭建 ResNet 神经网络时,分别尝试了 4 种不同深度的神经网络模型,分别为 8 层、10 层、14 层和 18 层,通过实验训练得出 14 层网络模型的预测效果要优于其他 3种模型。因此,在上层 ResNet 通道中,最终选择由 14 个Conv 层、两个 Pooli
14、ng 层、一个 Flatten 层和一个全连接层组成。在下层 GRU 通道中,包含两个 GRU 单元和一个全连接层。特征融合层是由上层 ResNet 神经网络通道经过逐层卷积提取的股票价格信息在空间维度上的特征和下层 GRU神经网络通道通过重置门和更新门提取的股票价格信息在时间维度上的特征融合而成,最终对预测结果进行输出。输入层预处理Conv(3*3*64)MaxPool (2*2)Conv(3*3*64)Conv(3*3*64)4Conv(3*3*128)Conv(3*3*128)1Conv(3*3*128)Conv(3*3*128)1AvgPoolDropoutDenseGRU1GRU2D
15、ropoutDenseDense5层Conv 8层Conv 输出层图 4 ResNet-GRU 并联神经网络结构图1151152023.022023.02第 4 期2 实证分析2.1 数据采集与处理实验数据选取沪深 300(股票代码 399300)中 1991 年4 月 4 日至 2022 年 7 月 6 日股票数据进行训练和测试,具体用到开盘价、最高价、收盘价、最低价、前收盘和成交金额六个指标。通过对原始数据中预测变量缺失值进行删除得到,有效数据共计 4 253 条,将数据集划分为训练集和测试集两部分,分别占整个数据集的 80%和 20%。为消除指标间不同量纲产生的影响,采用 Min-Max
16、 标准化处理数据,计算公式为:(8)其中,xnorm表示标准化得到的结果;xmin(axis=0)表示数据 x 矩阵中每列的最小值组成的行向量;xmax(axis=0)表示数据 x 矩阵中每列最大值组成的行向量。2.2 模型参数设置所选数据集中共有六个指标,设置以 6 个单元为一个窗口大小,分别将数据的训练集和测试集划分为 66 的单个样本结构,并得到训练集的窗口数据个数为 3 396,测试集的窗口数据个数为 845。对于 ResNet 神经网络,通过 Reshape 层将每一组数据变换为 661 的二维图像输入数据形式,即长宽数值为 6,通道数为 1 的图像。那么在 ResNet 网络上股价数据的训练集结构为 3 39636,测试集结构为 84536;在 GRU 神经网络上股价数据的训练集结构为 3 39666,测试集结构为 84566。对于 ResNet 通道层,在 Conv 卷积层中,卷积核大小为 33,个数为 64,填充 padding 为3,步长为 1,激活函数为 relu,池化层采用最大值池化,步长参数为 2,填充 padding 为 1,输出大小为 6664;在ResCo