首页 > 编程语言 >Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID

Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID

时间:2024-02-29 23:00:11浏览次数:26  
标签:plot plt RNN GRU shape 循环 序列 数据 预测

原文链接:http://tecdat.cn/?p=27042

原文出处:拓端数据部落公众号

 

该数据根据世界各国提供的新病例数据提供。

   

获取时间序列数据

   
df=pd.read_csv("C://global.csv")

探索数据

此表中的数据以累积的形式呈现,为了找出每天的新病例,我们需要减去这些值

   
df.head(10)

这些数据是根据国家和地区报告新病例的数据,但我们只想预测国家的新病例,因此我们使用 groupby 根据国家对它们进行分组

总结数据

执行 groupby 以根据一个国家的新病例来汇总数据,而不是根据地区

   
d1=df.groupby(['Country/Region']).sum()

   

描述随机选择的国家的累计新病例增长

   
from numpy.random import seed    plt.plot(F[i], label = RD[i])    plt.show()

   
# 我们不需要前两列d1=d1.iloc[:,2:]

   
# # 检查是否有空值d1.isnull().sum().any()
   

我们可以对每个国家进行预测,也可以对所有国家进行预测,这次我们对所有国家进行预测

   
dlycnmdcas.head()
   

   
dalycnfreces.index
       
dal_cnre_ces.index = pd.to_datetime(dailyonfrmd_as.index)
   

   
plt.plot(dalnimedases)

   
ne_ces = daiy_onme_as.diff().dropna().astype(np.int64)newcaes
   

   
plt.plot(ne_s[1:])

   
nw_s.shape
   
(153,)

将数据拆分为训练和测试数据

   
ct=0.75trin_aa,tet_aa = train_test_split(ne_ces, pct)
   
(116,)
   
plt.plot(tainta)plt.plot(tesata)
   

数据标准化

   
scaler = MinMaxScaler()
   
testa.shape 
   
(38, 1)

创建序列

   
lentTe = len(ts_data)for i in range(timmp, lenhTe):    X_st.append(tst_aa[i-tmStap:i])    y_tt.append(tesata[i])X_tet=np.array(X_ts)ytes=np.array(y_tt)
   
X_st.shape
   

   
Xtrn.shape
   

   
#  序列的样本 X_trn[0], yran[0]

为股票价格预测设计 RNN 模型

模型:

  1. LSTM
  2. GRU
   
model.summary()

   
model.fit(X_trn y_rin, epochs=50, batch_size=200)

   
yprd = (mod.predict(X_test))MSE = mean_squared_error(ytue, y_rd)plt.figure(figsize=(14,6))
   

   
meRU= Sqtal([                keras.layers.GRU(model_GRU.fit(Xtrn, ytin,epochs=50,batch_size=150)

   
pe_rut = {}y_ue = (y_et.reshape(-1,1))y_prd = (modlGU.predict(X_test))MSE = mean_squared_error(y_ue, ed)
   

用于预测新病例的机器学习算法

准备数据

   
d__in.shape

   
moel=LinearRegression(nos=-2)
   

ARIMA

COVID-19 新病例预测的自回归综合移动平均线

   
#我们不需要前两列df1.head()daly_nfrd_cses = df1.sum(axis=0)day_cnir_ase.index = pd.to_datetime(da_onieses.index)
   
new_cs = dacofmecss.diff().dropna().astype(np.int64)tri_ta,tet_ata = trintt_it(nw_es, pct)
   

   
ero = men_squred_eror(ts_ar, pricos)
   

   
plt.figure(figsize=(12,7))plt.plot(tanat)
   

最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.使用r语言进行时间序列(arima,指数平滑)分析

4.r语言多元copula-garch-模型时间序列预测

5.r语言copulas和金融时间序列案例

6.使用r语言随机波动模型sv处理时间序列中的随机波动

7.r语言时间序列tar阈值自回归模型

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.python3用arima模型进行时间序列预测

标签:plot,plt,RNN,GRU,shape,循环,序列,数据,预测
From: https://www.cnblogs.com/tecdat/p/18045785

相关文章

  • 流程控制【代码块与作用域】【选择结构】【循环结构】
    @目录代码块与作用域选择结构循环结构源码:Giteehttps://gitee.com/drip123456/java-seGIthubhttps://github.com/Drip123456/JavaSE专栏:JavaSE笔记专栏代码块与作用域在开始流程控制语句之前,我们先来介绍一下代码块和作用域。不知道各位小伙伴是否在一开始就注意到了,为......
  • 问答:C程序为何for循环和while循环无法相互替代?
    百鸡百钱问题:C代码:include<stdio.h>main(){intcock,hen,chicken;for(cock=0;cock<=20;cock++)for(hen=0;hen<=33;hen++){chicken=100-cock-hen;/if(5*cock+3*hen+chicken/3.0==100)printf("cock=%2d,hen=%2d,chicken=%2d......
  • el-tootip在只有超出显示省略号时启用在树形组件(带循环dom)的运用
    原理就是在鼠标浮动到el-tootip包裹的元素时判断该元素的scrollWidth(元素内容的实际宽度)有没有超过clientWidth(元素的可是宽度)超出时显示省略号并设置disabled属性为false否则为true代码如下:链接:https://www.jianshu.com/p/b39d2124d911<el-treeref="treeRef......
  • 解析Spring中的循环依赖问题:再探三级缓存(AOP)
    前言在之前的内容中,我们简要探讨了循环依赖,并指出仅通过引入二级缓存即可解决此问题。然而,你可能会好奇为何在Spring框架中还需要引入三级缓存singletonFactories。在前述总结中,我已经提供了答案,即AOP代理对象。接下来,我们将深入探讨这一话题。AOP在Spring框架中,AOP的实现是通......
  • RNN循环神经网络&LSTM长短期记忆网络&GRU
    个人学习使用,内容来源于网络,侵权删1.基本原理传统网络的结构:RNN的结构:使用场景:语音识别,要按顺序处理每一帧的声音信息,有些结果需要根据上下文进行识别;自然语言处理,要依次读取各个单词,识别某段文字的语义这些场景都有一个特点,就是都与时间序列有关,且输入的序列数......
  • 双向RNN计算实现
    个人学习使用,内容来源于网络,侵权删双向RNN如下,做两遍计算:第一遍先正向计算隐状态h,保存成一个序列,顺序是t时刻从1到T。第二遍,将输入反转,计算隐状态h,保存为一个序列,这样顺序就是t时刻从T到1.最后在计算output,这样在计算output时,所有时刻的隐状态都是已经计算出来了。参考来源......
  • springboot2.6开始禁止循环依赖了
    参考文章: https://mp.weixin.qq.com/s?__biz=MzI0MTUwOTgyOQ==&mid=2247497189&idx=1&sn=0f03cdafad9bacef66c64a490b85ff23&scene=21#wechat_redirect使用了SpringBoot2.6及以上版本的,如果要允许循环依赖,可以作如下设置:方案二:允许循环引用此方案更像是绕过问题而非解决问题......
  • 解析Spring中的循环依赖问题:初探三级缓存
    什么是循环依赖?这个情况很简单,即A对象依赖B对象,同时B对象也依赖A对象,让我们来简单看一下。//A依赖了BclassA{publicBb;}//B依赖了AclassB{publicAa;}这种循环依赖可能会引发问题吗?在没有考虑Spring框架的情况下,循环依赖并不会带来问题,因为对象之间相互依赖......
  • JavaSE的第八步 —— 循环语句
    一、循环循环在Java中主要是依靠两个关键字进行 一个是for关键字有关的,另一个是while关键字有关的循环二、for循环for(初始化条件;判断条件语句;迭代因子){语句块};在for循环执行的时候,首先需要执行第一个分号之前的语句,对判断条件进行初始化,之后对判断条件进行比较,如果判断为......
  • idea中增强for循环提示unexpected token
    报错如下:2、解决方式:1).在java中for语句是不能像这样被单独写在外面的。2).必须用一个初始化方法封装起来。比如main方法,如下图:感谢前辈https://blog.csdn.net/li1325169021/article/details/105492776......