人工智能深度学习-Tensorflow实例:利用LSTM预测股票每日最高价

LSTM全称长短期记忆人工神经网络(Long-Short Term Memory),是对RNN的变种。举个例子,假设我们试着去预测“I grew up in France… 中间隔了好多好多字……I speak fluent __”下划线的词。我们拍脑瓜子想这个词应该是French。对于循环神经网络来说,当前的信息建议下一个词可能是一种语言的名字,但是如果需要弄清楚是什么语言,我们是需要离当前下划线位置很远的“France” 这个词信息。相关信息和当前预测位置之间的间隔变得相当的大,在这个间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。 
这个时候就需要LSTM登场了。在LSTM中,我们可以控制丢弃什么信息,存放什么信息。 
具体的理论这里就不多说了,推荐一篇博文Understanding LSTM Networks,里面有对LSTM详细的介绍,有网友作出的翻译请戳[译] 理解 LSTM 网络

股票预测
在对理论有理解的基础上,我们使用LSTM对股票每日最高价进行预测。在本例中,仅使用一维特征。 
数据格式如下: 
人工智能深度学习-Tensorflow实例:利用LSTM预测股票每日最高价_第1张图片

执行效果如下:

人工智能深度学习-Tensorflow实例:利用LSTM预测股票每日最高价_第2张图片

 

根据股票历史数据中的最低价、最高价、开盘价、收盘价、交易量、交易额、跌涨幅等因素,对下一日股票最高价进行预测。

实验用到的数据长这个样子:

人工智能深度学习-Tensorflow实例:利用LSTM预测股票每日最高价_第3张图片

 

label是标签y,也就是下一日的最高价。列C——I为输入特征。 
本实例用前5800个数据做训练数据。

执行效果如下:

人工智能深度学习-Tensorflow实例:利用LSTM预测股票每日最高价_第4张图片

 

 

本设计实例参考了前辈的代码,但是有的代码拿到没法运行成功,经过改进这个版本可以运行,特别感谢  Scorpio_Lu

lyshello123在他的两篇伯克基础上修改了部分代码,

Tensorflow实例:利用LSTM预测股票每日最高价(一)

Tensorflow实例:利用LSTM预测股票每日最高价(二)

在以上两篇博文中,博主介绍了RNN和LSTM,并使用LSTM实现了股票预测的例子,让人受益匪浅。

但博主提供的代码有一些bug,无法直接运行,经过本人的多番调试,已能完整运行,需要修改的路径问题也已经在代码中给出了注释,希望能在深度学习的路上给大家带来一些帮助。

完整可运行的代码:本实例在Win10  Python3.6 pycharm2018.1.4 上运行成功 ,测试时间2018-11-09-13.45

完整代码下载地址

你可能感兴趣的:(TensorFlow)