首页
学习
活动
专区
圈层
工具
发布

使用LSTM模型预测股价基于Keras

本期作者:Derrick Mwiti 本期翻译:HUDPinkPig 未经授权,严禁转载 编者按:本文介绍了如何使用LSTM模型进行时间序列预测。...本文将通过构建用Python编写的深度学习模型来预测未来股价走势。 虽然预测股票的实际价格非常难,但我们可以建立模型来预测股票价格是上涨还是下跌。...) X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1)) 构建LSTM 我们需要导入Keras的一些模型来构建LSTM...从图中我们可以看到,股票实际价格出现上涨时,模型也预测股价会上涨,较为吻合。这清晰地显示了LSTMs在分析时间序列和序列数据等方面的强大作用。...结论 预测股价的方法还有很多,比如移动平均线、线性回归、k近邻、ARIMA和Prophet。读者可以自行测试这些方法的准确率,并与Keras LSTM的测试结果进行比较。

4.3K20

预测金融时间序列——Keras 中的 MLP 模型

因此,为了训练我们的神经网络,我们将收到以下 X、Y对: 30 天收盘价和 [1, 0] 或 [0, 1],具体取决于二进制文件的价格值分类增加或减少;30 天的价格百分比变化和回归的第二天变化。...神经网络架构 我们将使用多层感知器作为基本模型。让我们把Keras作为一个实现框架——它非常简单、直观,你可以用它来实现相当复杂的计算图,但到目前为止我们还不需要它。...Keras 还允许我们非常灵活地控制训练过程,例如,如果我们的结果没有改善,最好减少梯度下降步骤的值——这正是 Reduce LR On Plateau 所做的,我们将其添加为回调到模型训练。...预测金融时间序列 - 分类问题 让我们训练我们的第一个模型并查看图表: 可以看到,测试样本的准确率一直保持在±1值的误差,训练样本的误差下降,准确率增加,说明过拟合了。...我们将从最常见的方式开始——在权重总和的L2 范数中向误差函数添加一个附加项,在Keras 中, 这是使用 keras.regularizers.activity_regularizer 完成的。

5.7K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Keras学习(一)—— Keras 模型(keras.model): Sequential 顺序模型 和 Model 模型

    Keras Model模型 Keras 中文文档 Keras 模型 Sequential 顺序模型 Sequential使用方法 一个简单的Sequential示例 构建方法 input shape 输入的形状...Keras 模型 Keras提供的模型,其中分为两类: Sequential 顺序模型 Model 类模型 我们可以通过 from keras.models import Sequential 或者 from...keras.models import Model 来导入对应的模型。...Sequential 顺序模型 ---- 参考Keras文档: https://keras.io/models/sequential/ ---- Sequential 模型结构: 层(layers)的线性堆栈...Model 模型 ---- 参考Keras文档:https://keras.io/models/model/ ---- Model 模型是带有函数API的,不是线性的,它是一个可以多输入、多输出的模型。

    1.9K30

    基于Keras的房价预测

    预测房价:回归问题 回归问题预测结果为连续值,而不是离散的类别。 波士顿房价数据集 通过20世纪70年代波士顿郊区房价数据集,预测平均房价;数据集的特征包括犯罪率、税率等信息。...比如,有0~1,1~12以及0~100的等等。...from keras import models from keras import layers def build_model(): model = models.Sequential()...使用激活函数将会限制输出结果的范围,比如使用sigmoid激活函数,输出结果在0~1之间。这里,因为最后一层只是一个线性层,模型的输出结果可能是任意值。 模型的损失函数为mse均方误差。...#模型训练silent模型 val_mse, val_mae = model.evaluate(val_data, val_targets, verbose=0) # 验证集上评估 all_scores.append

    1.9K30

    Keras 实现 LSTM时间序列预测

    本文将介绍如何用 keras 深度学习的框架搭建 LSTM 模型对时间序列做预测。 1 项目简单介绍 1.1 背景介绍 本项目的目标是建立内部与外部特征结合的多时序协同预测系统。...课题通过进行数据探索,特征工程,传统时序模型探索,机器学习模型探索,深度学习模型探索(RNN,LSTM等),算法结合,结果分析等步骤来学习时序预测问题的分析方法与实战流程。...,其他与预测一样。...4 建立模型并训练 ? ? 5 模型预测并可视化 ? ?...蓝色曲线为真实输出 绿色曲线为训练数据的预测输出 黄色曲线为验证数据集的预测输出 红色曲线为测试数据的预测输出(能看出来模型预测效果还是比较好的)

    2.5K12

    从0到1,轻松构建数据预测模型

    直接看图,能一眼认出来是哪一种(如下图) image.png 认清楚走势以后,就能选择对应的模型啦。 先看躺平型的例子。...指数平滑法预测数据模型 用指数平滑法需要调用excel的分析工具,可以点击上方的:文件→选项,在加载项中选择:分析工具箱 设置好之后,就能在上方:数据 栏目,找到数据分析按钮。...阻尼系数是一个0到1之间数字,可以简单理解成: 阻尼越大,真实值权重越小,即历史情况参照意义越小 阻尼越小,真实值权重越大,即历史情况参照意义越大 不过大家完全不用纠结这个,完全可以设好几个阻尼系数,预测出来以后...从结果上看: 1、R平方0.93,很好 2、各个参数的P值,除了X1以外都很小,很好 所以模型可用。还可以把X1:时间这个变量去掉。...想预测下个季度,可以增加一行:2021年1季度,对应的参数,t是21,Q1=1,Q2,Q3都是0,然后代入公式即可。这里留给读者们自己试一下。 总结: 以上就是今天整理的简单预测方法。

    69510

    【DS】利用Keras长短期记忆(LSTM)模型预测股票价格

    编者按:本教程演示了如何开始使用LSTM模型预测时间序列。股票市场数据是一个很好的选择,因为它是相当常规的和广泛地提供给每个人。请不要把这当作理财建议,也不要用它来做你自己的交易。...在本教程中,我们将构建一个Python深度学习模型,用于预测股票价格的未来行为。我们假设读者熟悉Python中的深度学习概念,特别是LSTM。...虽然预测股票的实际价格是一个上坡路,但是我们可以建立一个模型来预测股票的价格是涨是跌。本教程使用的数据和notebook可以在这里找到。需要注意的是,影响股价的因素总是存在的,比如政治氛围和市场。...特征缩放 从以前使用深度学习模型的经验中,我们知道我们必须缩放数据以获得最佳性能。在我们的例子中,我们将使用Scikit- Learn的MinMaxScaler,并将数据集缩放到0到1之间的数字。...从图中我们可以看到,股票的实际价格上升了,而我们的模型也预测了股票的价格会上升。这清楚地显示了LSTMs在分析时间序列和顺序数据方面的强大功能。

    4.1K81

    华量杯-股票预测, keras+LSTM

    对每日A股数据取样,提取出包括时间序列类型指标,非时间序列类型指标以及股票分类属性指标;利用所提供的指标来预测T -1日的个股收益。...一、数据预处理 代码:clean.py 二、利用LSTM模型 1. 安装keras框架 Keras安装之前,需要先安装好numpy,scipy。下面是在windows下的安装。...运行下面的命令: pip install keras 现在keras己经安装好了。...接下来就可以用Keras提供的LSTM进行训练了! 2. 训练,测试,评估 在运行代码前需要把keras的backend改一下,改成theano,而不用tensorflow。...首先找到keras.json文件,在下面的目录: C:\Users\zhangyanni\.keras\keras.json 然后把下面"backend": "tensorflow" 中的tensorflow

    1.1K20

    可视化Keras模型

    如果您可以可视化所设计的模型架构,那不是很好吗?如果您可以将模型架构下载为演示时可以使用的图像,那不是很好吗?如果所有这些都为“是”,那么您来对地方了。...在本文中,我将向你展示一个Ë xciting Python包/模块/库,可用于可视化Keras模型。无论是卷积神经网络还是人工神经网络,该库都将帮助您可视化所创建模型的结构。...Keras Visualizer是一个开源python库,在可视化模型如何逐层连接方面确实很有帮助。因此,让我们开始吧。...pip install keras-visualizer 创建神经网络模型 现在,让我们使用Keras及其功能创建一个基本的人工神经网络。...神经元等 这是使用Keras Visualizer可视化深度学习模型的方式。 继续尝试,让我在回复部分中了解您的经验。

    1.6K20

    预测模型数据挖掘之预测模型

    数据挖掘之预测模型 定性研究与定量研究的结合,是科学的预测的发展趋势。...适用范围: 预测模型是一个指数函数,如果待测量是以某一指数规律发展的,则可望得较高精度的预测结果。影响模型预测精度及其适应性的关键因素,是模型中背景值的构造及预测公式中初值的选取。...为了充分发挥各预测模型的优势,对于同一预测问题,往往可以采用多种预测方法进行预测。不同的预测方法往往能提供不同的有用信息, 组合预测将不同预测模型按一定方式进行综合。...优化组合预测有两类概念,一是指将几种预测方法所得的预测结果,选取适当的权重进行加权平均的一种预测方法,其关键是确定各个单项预测方法的加权系数;二是指在几种预防方法中进行比较,选择拟合度最佳或标准离差最小的预测模型作为最优模型进行预测...组合预测是在单个预测模型不能完全正确地描述预测量的变化规律时发挥其作用的。

    5.1K20

    Deep learning基于theano的keras学习笔记(0)-keras常用的代码

    保存Keras模型 这里不推荐使用pickle或cPickle来保存Keras模型。 1....一般使用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含: 模型的结构,以便重构该模型 模型的权重 训练配置(损失函数,优化器等) 优化器的状态,以便于从上次训练中断的地方开始...使用keras.models.load_model(filepath)来重新实例化你的模型,如果文件中存储了训练配置的话,该函数还会同时完成模型的编译,例子如下: from keras.models...= model.to_yaml() 当然,你也可以从保存好的json文件或yaml文件中载入模型: # model reconstruction from JSON: from keras.models...]) layer_output = get_3rd_layer_output([X])[0] 注意,如果你的模型在训练和测试两种模式下不完全一致,例如你的模型中含有Dropout层,批规范化(BatchNormalization

    98710

    keras系列︱Sequential与Model模型、keras基本结构功能(一)

    (四) 5、keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完整案例(五) 零、keras介绍与基本的模型保存 写成了思维导图,便于观察与理解。...) 在使用keras时候会出现总是占满GPU显存的情况,可以通过重设backend的GPU占用情况来进行调节。...如果没有特殊说明,以下函数的参数均保持与fit的同名参数相同的含义 如果没有特殊说明,以下函数的verbose参数(如果有)均只能取0或1 5.predict 模型预测 predict(self,...x, batch_size=32, verbose=0) 本函数按batch获得输入数据对应的输出,其参数有: 函数的返回值是预测值的numpy array 模型检查 on_batch train_on_batch...输入: 新闻语料;新闻语料对应的时间 输出: 新闻语料的预测模型;新闻语料+对应时间的预测模型 ?

    10.5K124
    领券