首页 > 编程语言 >Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性|附代码数据

Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性|附代码数据

时间:2023-07-28 23:24:39浏览次数:49  
标签:预测 Python 模型 神经网络 序列 LSTM 数据 RNN

全文下载链接:http://tecdat.cn/?p=26562

最近我们被客户要求撰写关于循环神经网络的研究报告,包括一些图形和统计输出。

自 2000 年 1 月以来的股票价格数据。我们使用的是 Microsoft 股票。

该项目包括:

  • 将时间序列数据转换为分类问题。
  • 使用 TensorFlow 的 LSTM 模型
  • 由 MSE 衡量的预测准确性

GPU 设置(如果可用)

 
gpus = tf.config.experimental.li

读取数据集

有几种方法可以获取股市数据。以下数据集是使用 R BatchGetSymbols 生成的。

 
#加载数据集
# ref.date是数组的第一列 
datang = read_csv('stopriceo.csv', header=0)

图片

 
pd.pivot_table(datong)

图片

我们的股票时间序列

我们为这个项目选择了微软(股票代码 MSFT)。

 
plt.rrms['fgre.dpi'] = 300

plt.plot(dfte['MSFT'])

图片

时间序列显然不是平稳的,这是大多数预测模型所假设的属性。我们可以对时间序列应用变换,直到它达到平稳状态。Dickey-Fuller 检验使我们能够确定我们的时间序列是否具有季节性。

在这里,我们将应用对数转换来解决股票市场的指数行为。

其他有助于预测模型的转换:

  • 移动平均线
  • 差分化
 
df1 = datt['MSFT']

# 我们对数据集进行了对数转换
df1 = np.log(df1)

图片

 
# 替代方案:我们可以对时间序列进行差分,从而去除季节性和平均值的变化。
# 创建一个差分序列

#dfdiff = diffe(df1,1)

预处理

在这里,我们对时间序列数据应用标准预处理。

在时间序列中,我们没有标签,但我们有时间序列的未来值,因此输出可以是 x(t),给定 x(t-1) 作为输入。这是将数据集构建为监督问题的一种实用(且直观)的方法。

 
scaer = ixSer(fatue_ange = (0,1))
scer.i_rrm(np.array(df1).rehape(-1,1))

图片

图片

LSTM 模型

我们在这里实现了一个堆叠的 LSTM 模型。

LSTM 网络是一种递归神经网络,能够学习序列预测问题中的序列依赖性。LSTM 模型主要用于语音识别、自然语言处理的上下文中。最近,它们也被应用于时间序列数据的分析。

 
from tensorflow.keras.models import Sequential 

model.add(LSTM(50, retsueces = True
#LSTM
model.add(Dropout(0.1))

图片

 
history

图片

 
plt.plot(history.history

图片


点击标题查阅往期内容

图片

Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

表现

 
import math 
from sklearn.metrics import mean_squared_error

图片

 
plt.rcParams['figure.dpi'] = 300
plt.rcParams['savefig.dpi'] = 300
#移位预测
lokback = ie_step
trinPrectPot = numpy.empty_like(df1)
traireditPlot[:,:] = np.nan

in_y = scaler.nesetsfrm(df1)
plt.plot

图片

 
plt.plot(iv_y)

图片

未来 30 天的预测

我们现在可以递归地应用该模型,通过估计第二天的 (t+1) 价格,然后再次将其作为输入来推断 t+2 天的价格,依此类推。这个预测当然会有更大的误差,因为每个预测的日子都会带来很大的不确定性。然而,这个预测确实会告诉我们模型是否从过去的数据中学到了任何东西。

 
# 预测未来30天的情况 
len(tesdata) # 1211
# 我认为在test_data中,最后一天是5月22日,例如
# 对于5月23日,我需要100个前一天的数据 

x_input = test_data[(len

图片

 
while(i<ftue_teps):
    if(len(tep_put)>ie_sep):
        x_input = np.array(tepinut[1:])
        x_input = x_input.reshap

图片

图片

 
plt.plot(dy_ew, scaler.inverse_transf

图片

 
plt.plot(df3[1000:])

图片


图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性》。

图片

本文中的股票数据****分享到会员群,扫描下面二维码即可加群!

图片

图片

图片

点击标题查阅往期内容

数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
用PyTorch机器学习神经网络分类预测银行客户流失模型
PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言深度学习:用keras神经网络回归模型预测时间序列数据
Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
MATLAB中用BP神经网络预测人体脂肪百分比数据
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型
R语言实现CNN(卷积神经网络)模型进行回归数据分析
SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型
【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析
Python使用神经网络进行简单文本分类
R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
R语言基于递归神经网络RNN的温度时间序列预测
R语言神经网络模型预测车辆数量时间序列
R语言中的BP神经网络模型分析学生成绩
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
R语言实现拟合神经网络预测和结果可视化
用R语言实现神经网络预测股票实例
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

标签:预测,Python,模型,神经网络,序列,LSTM,数据,RNN
From: https://www.cnblogs.com/tecdat/p/17589116.html

相关文章

  • 利用pyinstaller发布不依赖python解释器的可执行exe
    现在打包app.py,从Windows命令提示符(cmd)运行:pyinstaller.exe--onefile--windowedapp.py就这么简单。如果打包成功,最终的可执行文件app.exe和任何相关文件将放在dist目录中,如果该目录不存在,将创建该目录。  PyInstallerManualVersionPyInstaller5.1Homepagehttps://pyinstall......
  • Python工程师面试宝典 一线大厂资深面试官亲授
    第01章Python服务端工程师面试指导-课程导学篇第02章面试流程介绍第03章Python语言基础考察点第04章Python算法与数据结构考察点第05章编程范式考察点第06章操作系统考察点第07章网络编程考察点第08章数据库考察点第09章PythonWeb框架考察点第10章系统设计考察点第11章......
  • Python-3-Python变量与运算符
    第三章:变量与运算符3-1变量的介绍1.变量只能包含字母、数字、下划线。变量名可以以字母或下划线开头,但绝不是数字开头。2.不能将python关键字作为变量名,常见python关键字有:FalseclassfinallyisreturnTruecontinueforlambdat......
  • Python-2-Python数据类型
    第二章:Python数据类型2-1字符串简单介绍'A'+'B'字符串连接输出'AB';'Hello'*3多次连接3次。'Hello'[0]取第一个字符;'Hello'[1]取第二个字符;'Hello'[-1]取最后一个字符;'Hello'[1:3]从e开始取取2个字符el,1+2=3所以是[1:3];'H......
  • Python-1-Python起步
    1-1选择python的理由相对于其它语言,Python容易上手,语法通俗易懂;复杂的概念已经封装好,不需要考虑内存的释放与申请,其它语言上百行代码解决的问题,Python只需要几十行甚至更短的代码。Python设计哲学:优雅、明确、简单//打印print("HelloWorld");//交换xyx,y=y,x 1-2python......
  • Python exceptions All In One
    PythonexceptionsAllInOneDifferentexceptionsareraisedfordifferentreasons.Commonexceptions:ImportError:animportfails;IndexError:alistisindexedwithanout-of-rangenumber;NameError:anunknownvariableisused;SyntaxError:thecode......
  • 想学Python高级编程?这个技巧你不能错过!
    前言熟悉Python的朋友都知道,Python有一个让人又爱又恨的特点:数据类型的定义和使用非常的灵活。在编写一个简易脚本的时候,这个特点让编程难度显著下降;但如果你需要编写一个大型程序,而且还需要多人协作时,没有类型定义的数据类型,真的让人崩溃!也许Python的维护者也发现了这个问题,从......
  • Python基础day55
    通过结合前端页面实现ORM对数据的增删改查写一个页面,把数据库中的数据以表格形式展示出来,然后在每一行的后面加上两个按钮,分别是修改、删除思路:思考修改功能的逻辑:1.确定修改哪条记录,怎么确定?通过主键id确定唯一一条记录2.点击修改的按钮,需要跳转到一个修改的......
  • python基础语法
    变量和简单的数据类型变量变量的命名规则:1、只能包含字母、数字和下划线,并且不能以数字开头2、变量名中不能是python中的保留字字符串字符串的几种定义方法name='Bob'name="Bob"name="""Bob"""如何字符串本身包含单引号或者双引号,我们可以用与包含相反的方式去定......
  • 软件测试|Python科学计算神器numpy教程(十)
    numpy字符串处理简介NumPy是一个功能强大的Python库,主要用于科学计算和数据处理。除了处理数值数据外,NumPy还提供了一些强大的字符串处理功能。本文将介绍NumPy中常用的字符串处理函数,包括字符串拼接、切片、查找、替换等操作,展示NumPy在字符串处理方面的优势。字符串拼接NumPy提供......