| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Python深度学习05——Keras循环神经网络实现股价预测 -> 正文阅读 |
|
[人工智能]Python深度学习05——Keras循环神经网络实现股价预测 |
?参考书目:陈允杰.TensorFlow与Keras——Python深度学习应用实战.北京:中国水利水电出版社,2021 本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现深度学习方法。 循环神经网络最初是用来处理文本数据的,自然语言都是时序数据,股价也是。循环神经网络可以专门用来预测时间序列数据,虽然股价预测是很难在实际中去应用,预测的也是不太准,因为股市的数据波动超级大,波动因素也不确定(还有一些别的原因下面数据处理时会介绍).....但是对于具有固定规律的时间序列数据预测还是不错的,比如天气,用电量负荷等等,本次采用Google股价数据作为循环神经网络的案例演示,别的时间序列数据也是通用。由于是预测价格,相当于是回归问题。文本数据处理起来有点麻烦,因为涉及到词向量之类,文本要处理成矩阵才能送入神经网络运算,之后会介绍文本的情感分类问题。本次就当时间序列数据的回归问题案例。 循环神经网络最经典的就是RNN,LSTM,GRU三种,三种其实用法一样,下面都会介绍。 一般来说预测效果是LSTM>=GRU>RNN。 使用循环神经网络预测Google股价Google股价可以在雅虎财经下载,或者去同花顺亿牛网东方财富网等随便下一支A股股价数据都行,一样用。 导入包,读取数据,查看数据长什么样子
?有每天的开盘价,最高价,最低价,收盘价,除权价,成交量,我们一般采用收盘价作为股价,本次使用调整的收盘价,也就是Adj Close 数据标准化,然后分割X和y,训练集和测试集(X是前60天股价,y是第61天股价,然后滑动窗口,得到所有的X和y)
可以直接查看一下X和y的形状。由于是循环神经网络,要三维的数据输入,下面把X改为三维张量,查看形状。
? 1198为样本个数,60是时间步长,1是一个特征,即单变量,只有股价一个特征变量。预测就相当于是前60天股价预测第61天股价。 定义RNN模型?首先使用最普通的循环神经网络——RNN
这里堆叠了两层的RNN,每层50个神经元,训练100轮? ?RNN训练起来特别慢,下面使用LSTM(如果想用GRU,直接把所有的LSTM改成GRU就行,其他的位置不需要任何改动,很方便) 定义LSTM(GRU)模型
这里堆叠了3层LSTM层,训练结果如下 ?只看损失感觉很小,进一步和真实值对比
画图查看对比
?看上去还不错.....但其实差的有点远,股价预测840,和真实值的830差的不多,但是真的实盘操作这10块很致命,可能就是赚钱和亏损的区别。 而且最严重的问题是,这是单步预测,即采用前60天的真实数据去预测61天的数据,下一个样本X也是用的真实数据。也就是说如果不知道真实数据的话,只能预测一步,只能预测到明天的价格,不能预测后天的价格。 当然解决办法是把预测出来的y作为下一个X放进去然后再预测,但是预测出出来的值和真实值是有差异的,X有误差了,那么估计的y也会有误差,并且滑动窗口越多,误差会累计得越来越大.....所以做长期的预测不准确的原因在这里。 当然,对于具有明显的周期性或者是趋势性的时间序列数据来说,循环神经网络的效果还是不错的,股价预测也只能是当案例看看了,只靠这种单一的价格模型去预测股价是很困难的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:41:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |