Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测

简介: Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测

原文链接: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)

点击标题查阅往期内容


结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析


01

02

03

04

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.75
trin\_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)

目录
打赏
0
13
12
3
111
分享
相关文章
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
时间序列预测新突破:深入解析循环神经网络(RNN)在金融数据分析中的应用
【10月更文挑战第7天】时间序列预测是数据科学领域的一个重要课题,特别是在金融行业中。准确的时间序列预测能够帮助投资者做出更明智的决策,比如股票价格预测、汇率变动预测等。近年来,随着深度学习技术的发展,尤其是循环神经网络(Recurrent Neural Networks, RNNs)及其变体如长短期记忆网络(LSTM)和门控循环单元(GRU),在处理时间序列数据方面展现出了巨大的潜力。本文将探讨RNN的基本概念,并通过具体的代码示例展示如何使用这些模型来进行金融数据分析。
597 2
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
125 10
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
608 1
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
7.1.3.2、使用飞桨实现基于LSTM的情感分析模型的网络定义
该文章详细介绍了如何使用飞桨框架实现基于LSTM的情感分析模型,包括网络定义、模型训练、评估和预测的完整流程,并提供了相应的代码实现。
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
259 2

热门文章

最新文章

推荐镜像

更多