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)

相关文章
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
74 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
1月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
54 18
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
63 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
|
1月前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
79 37
Python时间序列分析工具Aeon使用指南
|
2月前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
2月前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
208 80
|
2月前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
|
4月前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
116 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
4月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
383 2
11种经典时间序列预测方法:理论、Python实现与应用
|
4月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)

热门文章

最新文章