Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(上)

简介: Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化

全文链接:https://tecdat.cn/?p=33536


自2019年12月以来,传染性冠状病毒疾病2019(COVID-19)迅速席卷全球,并在短短几个月内达到了大流行状态点击文末“阅读原文”获取完整代码数据


迄今为止,全球已报告了超过6800万例病例。为了应对这一大流行病,实施了公共卫生政策,通过实施“居家令”政策来减缓COVID-19的传播。

因此,为了检查全球范围内采取的限制措施对人员流动性的有效性,我们帮助客户研究死亡人数与时间的关系。

问题陈述:

该项目的目标是分析各国政府采取的各种限制措施对人员流动性的影响,以控制COVID-19病例和由此导致的死亡人数对经济和失业率的影响。我们使用汇率数据来查看这些限制措施对经济的影响,并在此期间检查失业率的变化。我开发了一个模型来预测由于病例增加而导致的COVID-19相关死亡人数。

image.png

使用 read csv 读取数据,然后使用数据可视化探索数据

df.columns

image.png

数据信息


-数据集中的分类变量:dateRep、countriesAndTerritories、geoId、countryterritoryCode、continentExp -数据集中的无限变量:日、月、年、病例数、死亡数、popData2019、Cumulative_number_for_14_days_of_COVID-19_cases_per_100000

df.info()

image.png

数据集中有 49572 个观测值和 12 个特征值

df.shape

Out[7]:

(49572, 12)

In [8]:

#属性/特征之间的相关性
 
df.corr()

image.png

#数据集说明
 
df.describe()

image.png

每天的 14 天累计病例数、病例数和死亡数。

2783 14 天累计病例数不为零的天数

报告的 14 天累计病例数为零的天数。

报告的 14 天累计死亡人数为零的天数。

# 数据清洗-检查是否存在空值
df.isnull()
# 这些似乎是数据集中的真实读数,因此将其从数据集中删除可能会改变分析结果。所以保持原样。
print(df["Cumulative_number_for_14_days_of_COVID-19_cases_per_100000"].isnull().value_counts()) # 2783天中没有累积14天病例为零

image.png

#可视化
import seaborn as sns

In [107]:

df.columns

image.png

# 该函数接受特征/列名作为输入。
# 绘制特征在天数和月份上的计数情况。
def plots_days_mnths(x):
    
    plt.figure(figsize = (30,20))
    feature = ['day','month']
  • 病例数的日分析和月分析
  • 从病例图中我们可以看出,报告病例从 1 月份开始迅速增加,到 2020 年 7 月至 9 月达到最高峰。
  • 而各月每天的报告病例数大致相等。
plots_days

image.png

最初几个月报告的死亡病例有所增加,但从图中可以看出,自 7 月份以来已得到控制。每月各天的报告死亡病例数大体相当,但略有不同。

plots_days_m

image.png

import numpy as np

截至 2010 年 10 月,全世界报告的病例总数约为 39400032 例。

df['cases'].sum()

image.png

plt.ylabel('Counts', fontsize =14)
plt.title("Histogram of cases ", fontsize = 16)

Out[114]:

[0, 100000, 0, 100]

image.png

在大多数情况下,每天报告的死亡人数在 500 人及以下。在大多数天数中,约有 50%的天数每天报告的新病例超过 40000 例。全世界平均每天报告的死亡人数约为 795 人,平均每天报告的死亡人数为 23 人。

df[['deaths', 'cases']].mean(axis = 0, skipna = True)

image.png

截至 2010 年 10 月,全世界报告的死亡总人数约为 1105353 人

df['deaths'].sum()

image.png

plt.xlabel('deaths', fontsize = 14)
plt.ylabel('Counts', fontsize =14)

image.png

image.png

# 将日期列转换为日期时间格式,以便绘制图表。
date = pd.to_datetime(df['dateRep']) 
plt.figure(figsize =(15,10))

image.png

image.png

点击标题查阅往期内容


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


01

02

03

04



用回归法直观显示病例和死亡人数及其分布情况

从图中可以看出,随着病例数的增加,死亡人数也在增加。

显示出这两个特征之间的正线性关系。

#用回归法直观显示病例和死亡人数及其分布情况
sns.jointplot(x='cases' , y='deaths' , data=df, kind='reg')

image.png

Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(下):https://developer.aliyun.com/article/1498587

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
线性回归模型的原理、实现及应用,特别是在 Python 中的实践
本文深入探讨了线性回归模型的原理、实现及应用,特别是在 Python 中的实践。线性回归假设因变量与自变量间存在线性关系,通过建立线性方程预测未知数据。文章介绍了模型的基本原理、实现步骤、Python 常用库(如 Scikit-learn 和 Statsmodels)、参数解释、优缺点及扩展应用,强调了其在数据分析中的重要性和局限性。
65 3
|
26天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
156 7
|
2月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
2月前
|
数据可视化 搜索推荐 Shell
Python与Plotly:B站每周必看榜单的可视化解决方案
Python与Plotly:B站每周必看榜单的可视化解决方案
|
2月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
29天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
27天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
16天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
5天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
27 14