【《基于DBLSTM的股票预测探析案例》2700字】_第1页
【《基于DBLSTM的股票预测探析案例》2700字】_第2页
【《基于DBLSTM的股票预测探析案例》2700字】_第3页
【《基于DBLSTM的股票预测探析案例》2700字】_第4页
【《基于DBLSTM的股票预测探析案例》2700字】_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DBLSTM的股票预测分析案例目录TOC\o"1-2"\h\u6071基于DBLSTM的股票预测分析案例 178261.1DBLSTM网络结构 183541.2算法实验及结果分析 21.1DBLSTM网络结构本文在第二章中详细介绍了LSTM神经网络的单元结构和BLSTM网络结构。而本文所采用的DBLSTM模型的具体结构如图4-1所示。这个模型总共由四个部分组成,包括输入层、BLSTM部分、全连接层、输出层。其中,BLSTM部分由三层BLSTM组成。图4-1深度双向LSTM模型(DBLSTM)对于一个时间序列来说,其中某一个时间节点的数据值,既与过去时间的数据有关系,也与未来时间的数据有关系。比如说,有序列为qweRTYU和qwertyu。当我们对qwe之后的数据进行预测时,无法得到准确的结果。但是由于BP神经网络在学习过程中没有考虑到时序的概念,单向循环网络只能通过以往数据学习,因此本篇论文选择双向长短记忆网络。与卷积网络相比,该模型可以较好的进行泛化,而且避免了卷积网络在长时间序列中的纰谬,化解梯度消失和爆炸的难处。除此之外,该模型的优势在于可以利用序列的前后两个方向的数据来进行准确预测。此外,本文通过将三个双向长短记忆神经网络进行叠加,组成了多层神经网络结构,以实现对数据深层特征的挖掘。在双向三层长短记忆神经网络的后面,通过添加一个全连接层,实现对双向长短记忆神经元输出结果的处理,即将这些非线性特征分别加以简易的权重进行组合。1.1.1算法核心过程(1)数据预处理。(2)初始化c(0)和h(0),将作为第一层双向神经元的输入。根据公式分别计算出当前神经单元的记忆候选值ct、输入门i(t)、遗忘门(3)计算出当前神经单元的记忆状态值c(t)和输出值h(t)。保留(4)重复步骤,直到学习完所有的时间序列,计算出h(t(5)重复步骤,直到模型的最后一层,输出。(6)进入全连接层,对t加权计算,获得隐含层的输出。(7)将作为输出层的输入,获得预测值。(8)计算损失函数,更新网络参数,直到迭代停止。1.2算法实验及结果分析1.2.1实验说明(1)实验环境。本文模型试验阶段的程序都是在VScode编辑器上实现的。实验的运行环境为:Intel(R)Core(TM)i5-8250U、12G内存(SSD)、Windows10、64位操作系统、python3.8、pandas、numpy、tensorflow、xlrd、sklearn、matplotlib。(2)训练样本。本文第三章预处理后的数据集,共2915组数据。(3)预测样本。本文第三章预处理后的数据集,共952组数据。(4)LSTM网络设置:一共有4层网络,包括三层双向LSTM网络和一层全连接层,其中,每层双向LSTM网络由32个神经单元组成,全连接层由64个神经单元组成。1.2.2实验步骤Step1:读取数据集,过滤掉上证50指数价格的时间,保存收盘价格的数据,数据读取的过程采用python的xld模块进行读取,而后将读取的table转成numpy的array类型,以方便后续的模型计算。随后将数据进行归一化,并将数据分为训练集和预测集。训练集包含前2915个数据,预测集包括后952个数据。Step2:定义模型。向Sequential模型逐步添加输入层、双向长短记忆神经网络部分、全连接层、输出层。其中双向长短记忆神经网络部分由三层双向LSTM网络和一层全连接层组成,每层双向LSTM网络由32个神经单元组成,全连接层由64个神经单元组成。Step3:编译网络。通过编译,简单的单层序列可以转变为高效的转换矩阵,也可以看作为网络的预计算步骤。在编译过程中,需要指定很多专为培训网络定制的参数。Step4:训练网络。指定训练数据来训练网络。每输入一组数据,在双向LSTM部分,可以分别计算出每个BLSTM层中每个神经单元的记忆状态值c(t)和输出值h(t),得到该隐藏层的状态h(t),最后得到非线性数据特征t;在全连接层计算得到非线性数据特征tStep5:通过损失函数的计算不断更新参数,直到迭代停止。Step6:得到真实预测值。利用该模型对预测集数据进行预测,并且将模型得到的数据进行还原,得到真实的价格预测值,而并非归一化后的值。Step7:评价模型。1.2.3实验结果建立深度双向LSTM模型后,用训练集训练模型,而后用得到的模型对测试集的数据进行预测。特别需要注意的是,模型是通过归一化后的数据训练得到,因此我们通过深度双向LSTM模型得到的预测结果需要还原成真实的预测值。在还原时,特别注意的是,由于在预测时并不知道后一天的价格,因此不能根据测试集上的最大最小值来计算,而是用训练集上的最大最小值计算真实值。得到的预测结果如图4-2所示。图4-2深层双向LSTM模型的预测结果其中,蓝色的点表示实际的股票指数收盘价,红色的点表示通过深度双向长短记忆神经网络预测得到的股票指数收盘价格。而基于单层LSTM模型所得的预测结果如图4-3所示。图4-3基于LSTM模型的预测结果其中,蓝色的点表示实际的股票指数收盘价,红色的点表示通过单层长短记忆神经网络预测得到的股票指数是收盘价格。通过上述两图无法直观比较出两个模型的预测结果好坏,因此,分别计算两个模型的MAE、MSE、RMSE、ExplainedVarianceScore和r2表4-1DBLSTM与LSTM的预测精度模型MAEMSERMSEEVSrDBLSTM模型19.585398.4619.9620.999750.99349LSTM模型23.071546.0923.3690.999770.99107根据表4-1,可以得到深度双向长短记忆神经网络模型的平均绝对误差为19.585,均方误差为398.46,均方根误差为19.962,解释方差评分为0.99975,决定系数r2为0.99349,而单层长短记忆神经网络模型的平均绝对误差为23.071,均方误差为546.09,均方根误差为23.369,解释方差评分为0.99977,决定系数r2为0.99107。深度双向长短记忆神经网络在平均绝对误差、均方误差、均方根误差、决定系数1.2.4添加Dropout层本文提出的模型含有多个隐藏层,且训练样本数量为2915,为了避免局部收敛的情况发生,本文加入了Dropout层。图4-4表示出了加入Dropout层后,参数更新的变化。图4-4加入Dropout层后的参数更新变化加入Dropout层后,深度神经网络的结构发生变化,具体体现在训练过程中。在训练网络的时候,是在不同的网络结构中训练不同的输入的,但是每一次的训练过程中其隐藏层神经元的权值是相互共享的。也就是说,在每一次的训练过程中,通过共享隐藏层神经元的权值参数,使得整个网络在更新参数的过程中可以不考虑隐藏层神经元之间的相互关系,解决了特征之间相互制约的问题,让网络中的节点与节点之间的连接更具多样性,最终得到的网络模型更具泛化性。在模型中增加的Dropout层的作用就是方便使用相同的数据训练出多个共用同一个损失函数的不同的网络模型,增加了网络的鲁棒性。本文在LSTM层和全连接层之间添加系数为0.1的Dropout层。添加Dropout层的DBLSTM模型的预测结果。图4-5添加Dropout层的DBLSTM预测结果同时,对于LSTM模型,也添加Dropout层,所得到的预测结果如图4-6所示。图4-6添加dropout层的DBLSTM预测结果根据折线图,可以感觉添加dropout层的深度双向长短记忆神经网络的预测效果比未添加的模型的预测效果好。表4-2各模型的预测精度模型MAEMSERMSEEVSrDBLSTM模型19.585398.4619.9620.999750.99349Dropout-DBLST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论