APP下载

基于正则化LSTM模型的股票指数预测

2018-05-03王建华王传美王建祥

计算机应用与软件 2018年4期
关键词:正则神经网络预测

任 君 王建华, 王传美 王建祥

1(武汉理工大学理学院 湖北 武汉 430000)2(武汉谱数科技有限公司 湖北 武汉 430000)

0 引 言

在复杂的股票市场环境中,神经网络算法在股票预测中已经得到了广泛使用,这是由于其自身具有较好的学习性能和高度的模拟能力,相对于传统的经济计量学方法,神经网络在金融时间序列预测方面更具优势。

近年来,国内外学者对于在股票市场的神经网络预测问题做了很多的研究工作。Shapiro[1]将神经网络、遗传算法和粗糙集组合成集成算法对股票市场价格趋势进行综合预测,但是文中没有作对比验证,而且模型中没有考虑到金融时间序列的依赖关系,预测结果并不客观;Ozbayoglu等[2]通过对比人工神经网络和贝叶斯方法在金融市场的预测性能,发现这两种算法均有效,但是人工神经网络的预测效果更佳;Bildirici等[3]将BP神经网络与条件异方差模型相结合,对1987年到2008年的伊斯坦布尔市场的股票数据做训练及预测,实证表明,这种结合模型的预测精度更加可靠,但是面对海量数据,此模型提取特征比较困难;Hammda等[4]采用多层BP神经网络对约旦股票市场的指数价格的趋势做预测,研究发现多层BP神经网络具有预测精度高、泛化能力强的优点,但文中没有解决BP神经网络容易陷入局部最小的问题;孙晨等[5]通过布谷鸟算法优化BP神经网络,然后对金通灵(SZ300091)股票做预测,得出此方法预测精度较高,但是文中选取训练样本较少而且股票指数不具代表性,可信度不高;杨世娟等[6]利用灰色系统与BP神经网络组合模型对2015年及2016年安徽省财政收入做预测,得出该组合模型预测精度较高。考虑到股票市场的数据繁杂及其具有长期依赖性等问题,以上模型在时间序列预测上还存在一些问题,而递归神经网络RNN(Recurrent Neural Networks)可以改善这些问题。RNN是一种新型的网络模型,具有时序性,且隐藏层之间互连,这种结构等价于时间序列之间的相互影响关系,但是RNN存在着梯度下降快、无法收敛到最优解等问题[7]。LSTM模型[8]是一种特殊形式的递归神经网络,它的选择性记忆功能和其单元内部的特殊结构改进了RNN网络,使得LSTM模型更加适合分析金融时间序列。然而,国内外学者对于RNN和LSTM模型的应用主要停留在语音识别[9-10]、文本处理[11-13]等方面,在金融市场预测方面的研究较少。孙瑞奇[14]将BP神经网络、RNN和LSTM模型分别对美股和上证指数做预测,实验得出LSTM模型的预测精度最高;金雪军等[15]采用深度LSTM模型研究美国的扩张性货币政策对中国膨胀的影响。综上可知,利用LSTM模型对于股票价格预测的研究极少。

本文针对RNN存在的梯度问题和神经网络的过拟合问题,提出正则化LSTM模型对股票指数进行预测。通过修改LSTM模型的目标函数,从而提高了LSTM模型对金融时间序列预测性能。在相同的条件下,通过对比实验,发现弹性网正则化LSTM模型具有更好的泛化能力,对股票指数有更佳的预测效果。

1 正则化LSTM模型

1.1 LSTM模型

由于传统RNN网络的隐藏层的相关权重的大小会对网络的学习训练过程产生巨大的影响。如果权重较小可能会导致“梯度消失”;如果权重较大,则导致“梯度爆炸”,以至于无法收敛,所以对于解决长期依赖问题,RNN网络显得十分困难。

为了解决RNN网络出现的梯度问题,本文引入常见的“窥探孔连接”的LSTM模型,它的基本单元包含一个或多个存储器块和三个自适应乘法门,分别为输入门、输出门和遗忘门(见图1)。通过这三个门实现信息的保存和控制。

图1 LSTM模型单元结构示意图

图1中CEC表示“恒定误差转盘”,通过无限循环激活和错误信号,使得CEC延长时间段,为被选择的信息提供短期的存储。图中X为输入数据,Sc为Cell的状态值,在时刻t,LSTM各单元更新情况如下步骤:

对于输入门:

(1)

(2)

式(1)中下标带有l的变量是与输入门相关的,第一项是外部单元输入,第三项是来自Cell的虚线部分的输入;下标带有h的第二项是一个泛指,因为LSTM模型中单元之间可以互联,隐藏节点之间也可以互联,所以它可以表示成外部输入的一部分,bi表示输入门的偏置向量。式(2)中f(*)为sigmoid激活函数,下列公式中f(*)均为此函数。

对于遗忘门:

(3)

(4)

式(3)表示连接到遗忘门的都有输入层的输入,泛指的输入和Cell虚线部分的输入,bφ表示遗忘门的偏置向量。

对于Cell:

(5)

(6)

对于输出门:

(7)

(8)

式(7)表示连接到输出门的都有输入层的输入,泛指的输入和Cell虚线部分的输入,bw为输出门的偏置向量。

对于隐藏层单元状态值输出:

(9)

式(9)中h(*)为tanh激活函数。

(10)

(11)

通过式(11)可得LSTM模型的累积误差为:

(12)

通过ADAM[16]优化算法,最小化目标函数E,不断更新网络中的参数,进而使网络达到最优。

1.2 LSTM模型正则化方法

正则化方法是在模型中加入某种指定的正则项或者几种正则项的组合,使得这个模型具有某种特定的性质,公式表达如下:

(13)

式中:l(·,·)为模型中损失函数,用来评价模型的泛化性能;λρ(w)为正则项,λ称为正则化可调参数,用于控制正则项与损失函数之间的平衡关系,w为模型中待估计的参数。在正则项中,ρ(w)具有多种不同性质的表达形式,如比较常用的L1范数、L2范数等。当正则项取不同的范数罚,整个模型会有不同的泛化方向。L2正则化对待估计参数会进行一定程度的压缩,但并不能将其压缩为零,因此不能产生稀疏解。而L1正则项可使模型具有稀疏性,从而控制模型的过拟合问题,但是由于参数值大小和模型复杂度成正比,因此L1范数较大,最终可能会影响模型的预测性能。为了克服不同范数正则项的缺点,引入弹性网正则化[17],也就是将L1范数和L2范数线性组合作为一个正则项。

由于弹性网的优势,本文将弹性网引入到LSTM模型中,对网络中输入权重w实施正则化处理,以期提升LSTM模型的泛化性能,模型如下:

(14)

通过修改式(14)中正则化参数λ1和λ22可得到不同组合的正则化项,当λ1=0、λ2=0时,为普通的LSTM模型;当λ1=0、λ2≠0时,为L2正则化网络;当λ1≠0、λ22=0时,为L1正则化网络;当λ1和λ22都不等于0时,为弹性网正则化网络,所以通过改变正则化参数λ值能够得到四种不同的LSTM模型。

1.3 正则化LSTM模型的股票指数预测步骤

由于LSTM在训练的过程中,容易出现过拟合现象,而正则化方法通过限制网络中权重的大小,可以对一些因子施加惩罚,所以利用正则化方法来优化LSTM模型能够弥补网络本身的不足。正则化LSTM模型对股票指数的预测具体步骤如下:

步骤一在金融市场中选取股指数据,首先经过初步筛选,选择尽可能正确反应交易规律的股指数据,并结合LSTM对输入数据的要求,对其进行预处理。

步骤二将预处理之后的数据Xt与前一时刻隐藏层状态值ht-1共同传输到隐藏层单元,并依次通过三个门进行计算。

步骤三Xt与ht-1首先经过单元中的遗忘门,通过sigmoid层产生一个0到1 的yφ值,用来决定是否让上一时刻的Cell的状态值St-1通过此单元。

步骤五最后经过单元的输出门用于决定隐藏层单元的输出值。首先是通过sigmoid层得到一个初始输出yw,然后使用tanh函数将St值缩放到-1到1之间,再与yw逐对相乘,从而得到隐层单元的输出ht。

步骤七待LSTM训练完成之后,将测试数据作为LSTM的输入,则LSTM的输出值即为股票指数预测的收盘价。

2 实证分析

2.1 数据来源及预处理

本文针对美国股市中具有代表性的道琼斯指数进行实例研究,选取从2000年6月1日到2017年2月15日的道琼斯指数日数据,即包括指数的开盘价、收盘价、最低价、最高价、交易量和交易金额,共4 204个样本数据。其中,将收盘价作为输出变量,其他5个指标作为模型的输入变量。本数据来源于雅虎财经网站。

在模型拟合数据之前,使用Python3.5中的sklearn函数库对数据集做转换处理。首先,为了使时间序列数据趋于稳定,对数据做滞后一次差分处理;然后将预测收盘价转化为有监督学习问题,也就是将数据组合成输入和输出模式,将上次时间步长的观测值用作预测当前时间步长观测值的输入;最后对原始数据进行归一化处理,将其转换到[-1,1]之间。

将处理后的数据按顺序分成训练集和测试集,其中前3 600个数据做训练集,后600个数据做测试集,在数据测试完成之后,将预测值做反转换处理,以便计算预测性能指标。

2.2 正则化LSTM网络结构的设定

本文选取均方根误差RMSE(Root Mean Square Error)来定量的评价网络模型的预测性能,RMSE通过计算预测值对观察值的平均偏离程度来反映模型的预测性能,值越小预测效果越好。其公式定义如下:

(15)

网络的结构和参数的设置可以决定着模型的性能和复杂度,正则化LSTM模型的结构主要包括网络的层数、神经元的个数、训练批量大小、更新期次数、实验次数和正则化组合参数等参数。

本文LSTM模型在Python3.5中的Keras框架下搭建并完成计算过程。通过将两层LSTM层与一层Dense层相结合来建立预测模型。由于数据量较大,数据时间间隔较长,如果对数据整体做训练,则模型可能会忽视某段时间内数据的局部波动性。所以本文以小批量数据进行训练,再做滚动预测,模型中设置批量大小为50。为了消除一次实验结果的偶然性,对每种方案进行30次实验,每进行一次实验,给定的配置都会受到训练,而且都会输出相应的RMSE。对于LSTM模型,不同的更新epochs数会影响着该模型的时间复杂度和预测精度。本文通过设定不同epochs的LSTM模型,得到每个网络模型的均方根误差,如图2所示,当epochs为50和100时,该模型预测的RMSE几乎相等,考虑到运行时间问题,则选取epochs为50。

图2 比较更新epochs数的箱形图

在建立LSTM模型之后需要对正则化参数λ赋值,由式(13)可知,通过调节λ值可得到三种正则化网络模型分别为:L1正则化网络、L2正则化网络和弹性网正则化网络。因此要确定三种模型的λ参数。通过网格搜索法在λ1和λ2的范围[0.000,0.500]内,以步长为0.001遍历区间内所有的点,对比每组参数实验的RMSE来确定最佳参数配置,最终确定三种模型中正则化参数λ分别为λ1=0.012、λ2=0.015和λ1=0.010、λ2=0.010。

2.3 对比实验及结果分析

通过上文中对每种模型结构及参数的确定,共得到了四种不同的LSTM模型。为了比较这四种网络模型的预测性能,将每个模型对道琼斯指数数据做训练及预测,分别得到30个均方根误差,其每组误差的统计值见表1。由表1可以看出三种正则化LSTM模型的RMSE的均值比LSTM模型小,而L2正则化网络比L1正则化网络的RMSE稍小一些,弹性网正则化LSTM模型在30次实验中所得到的RMSE最低,RMSE的标准偏差也只有0.044。

表1 道琼斯指数预测均方根误差统计表

为了更清晰地分辨每个模型的预测效果,从这四种模型中分别选取各自最小的RMSE的实验预测结果图。由于重合度较高,为了清楚地看出预测与实际的差异,所以选取了测试集的最后50个数据 (2016/12/5至2017/2/15)做图,如图3-图6所示。

图3 LSTM模型预测结果图

图4 L1正则化网络预测结果图

图5 L2正则化网络预测结果图

图6 弹性网正则化网络预测结果图

通过图4到图6和表1的综合分析得知,弹性网正则化LSTM模型对于道琼斯指数的预测效果要好于其他三种网络模型,L1正则化网络和L2正则化网络的预测效果基本相同,而LSTM模型的预测效果最差。同时,为了比较弹性网正则化LSTM模型与传统BP神经网络和RNN在股指预测方面的差异,分别采用这三种网络对股指数据做预测分析,其中BP神经网络和RNN的预测效果见图7、图8,其均方根误差见表2。

表2 道琼斯指数预测均方根误差值

图7 BP神经网络预测效果图

图8 RNN预测效果图

从以上实验结果可得,弹性网正则化LSTM模型预测结果更加准确,误差最小,所以在股票指数趋势预测方面,弹性网正则化LSTM模型更加尊重事实,网络模型更加合理。

3 结 语

本文提出了使用正则化LSTM模型对道琼斯指数进行预测,通过对比四种LSTM模型实验,发现弹性网正则化LSTM模型具有较强的泛化能力,其预测效果

也更加优于传统的BP神经网络和RNN。正则化LSTM模型的主要优点概况如下。

1) 因为LSTM模型具有独特的网络结构,所以它可以更好地学习过去的股票数据,并且能够找出时间序列之间的关系,还能利用选择性记忆的功能,对股票价格的固有规律进行更进一步挖掘,从而具有较好的预测效果。

2) 通过利用正则化参数的先验信息,对LSTM模型的目标函数做出修改,使其在对股指数据的应用中具有更好的泛化能力。

当面对复杂多变的股票市场,对股指预测的要求将会更加便捷、更加精确。而在股指预测中应用人工智能算法,将是解决此问题的有效途径。

[1] Shapiro A F. The merging of neural networks, fuzzy logic, and genetic algorithms[J].Insurance Mathematics & Economics, 2002, 31(1):115-131.

[2] Ozbayoglu A M,Bahadir I.Comparison of bayesian estimation and neural network model in stock market trading[M]// Intelligent Engineering Systems Through Artificial Neural Networks,2008.

[3] Bildirici M, Ersinöö. Improving forecasts of GARCH family models with the artificial neural networks: An application to the daily returns in Istanbul Stock Exchange[J]. Expert Systems with Applications, 2009, 36(4):7355-7362.

[4] Hammad A A A, Ali S M A, Hall E L. Forecasting the Jordanian Stock Prices Using Artificial Neural Networks[M]// Intelligent Engineering Systems Through Artificial Neural Networks. 2007:502-505.

[5] 孙晨,李阳,李晓戈,等. 基于布谷鸟算法优化BP神经网络模型的股价预测[J].计算机应用与软件,2016, 33(2): 276-279.

[6] 杨世娟,卢维学,方辉平.灰色系统与BP神经网络组合模型及其应用[J]. 统计与决策,2016(24):82-84.

[7] Kolen J, Kremer S. Gradient Flow in Recurrent Nets:The Difficulty of Learning Long Term Dependencies[M]. Wiley-IEEE Press,2001.

[8] Sepp H, Jurgen S. Long short-term memory[J].Neural Computation,1997,9(8).

[9] Liu Y,Sun C,Lin L,et al.Learning Natural Language Inference using Bidirectional LSTM model and Inner-Attention[J].arXiv preprint arXiv:1605.09090,2016.

[10] 黄光许,田垚,康健,等.低资源条件下基于i-vector特征的LSTM递归神经网络语音识别系统[J].计算机应用研究,2017, 34(2):392-396.

[11] Zhou C, Sun C, Liu Z, et al. A C-LSTM Neural Network for Text Classification[J]. Computer Science, 2015, 1(4):39-44.

[12] 贺欣.自然场景文字切分和文本行识别方法研究[D].中国科学院大学,2016.

[13] 谢铁,郑啸,张雷,等.基于并行化递归神经网络的中文短文本情感分类[J].计算机应用与软件,2017, 34(3):205-211.

[14] 孙瑞奇.基于LSTM神经网络的美股股指价格趋势预测模型的研究[D].首都经济贸易大学,2015.

[15] 金雪军,曹赢.美国扩张性货币政策对中国通胀的影响——基于深度长短期记忆神经网络的分析[J].上海金融,2016(3):80-83.

[16] Kingma D, Ba J. Adam:A Method for Stochastic Optimization[C]// Proceedings of the 3rd International Conference for Learning Representations, San Diego, 2015.

[17] 刘建伟,崔立鹏,刘泽宇,等.正则化稀疏模型[J].计算机学报,2015(7):1307-1325.

猜你喜欢

正则神经网络预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
基于递归模糊神经网络的风电平滑控制策略
选修2—2期中考试预测卷(A卷)
π-正则半群的全π-正则子半群格
Virtually正则模
带低正则外力项的分数次阻尼波方程的长时间行为
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析