【Python数据分析】基于自回归积分滑动平均模型的疫情分析报告 附完整python代码

本文主要是介绍【Python数据分析】基于自回归积分滑动平均模型的疫情分析报告 附完整python代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资源地址:Python数据分析大作业 2000+字 图文分析文档 疫情分析+完整python代码
在这里插入图片描述

数据分析

数据来自法国疫情数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

资源地址:Python数据分析大作业 2000+字 图文分析文档 疫情分析+完整python代码

代码详解

image-20240407220302833

image-20240407220441078

image-20240407220508782

完整代码文件

主要是对时间序列数据进行分析和预测。让我们逐步解释每一部分:

  1. 导入必要的库

    from math import *
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
    from pylab import *
    
    • math: 导入数学函数库,但实际上在后续的代码中没有用到。
    • numpypandasmatplotlib.pyplot: 分别是用于数值计算、数据处理和可视化的常用库。
    • statsmodels.graphics.tsaplots.plot_acfstatsmodels.graphics.tsaplots.plot_pacf:用于绘制自相关性和偏自相关性图。
    • pylab: 导入了 *,所以其下所有函数都可直接使用。
  2. 设置中文字体和负号显示

    plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体
    plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题
    
  3. 读取数据

    cas_confirmes = pd.read_csv('cas_confirmes.csv', index_col=0)
    hospitalises = pd.read_csv('hospitalises.csv', index_col=0)
    

    从文件中读取了两个时间序列数据,分别是患病确诊人数和住院人数。

  4. 数据处理

    cas_confirmes.fillna(np.nanmean(cas_confirmes) + 30 * np.random.random(), inplace=True)
    hospitalises.fillna(np.nanmean(hospitalises), inplace=True)
    

    使用每列的均值填充缺失值。

  5. 数据可视化

    cas_confirmes.plot() 
    plt.title('Change in the number of cases')
    plt.show()
    hospitalises.plot()
    plt.title('Changes in the number of people in the hospital')
    plt.show()
    

    绘制了患病确诊人数和住院人数的变化趋势图。

  6. 自相关性分析

    plot_acf(cas_confirmes)
    plt.title('The autocorrelation of the number of patients')
    plot_pacf(cas_confirmes)
    plt.title('Partial autocorrelation of the number of patients')
    plt.show()plot_acf(hospitalises)
    plt.title('Autocorrelation graph of the number of people in the hospital')
    plot_pacf(hospitalises)
    plt.title('Partial autocorrelation graph of the number of people in the hospital')
    plt.show()
    

    绘制了患病确诊人数和住院人数的自相关性和偏自相关性图。

  7. ARIMA 模型定阶

    train_results = sm.tsa.arma_order_select_ic(cas_confirmes['2020-03-19':'2021-06-09'], ic=['bic'], trend='nc', max_ar=5, max_ma=5)
    print('BIC for the number of patients', train_results.bic_min_order)
    

    使用 BIC 准则确定 ARIMA 模型的阶数。

  8. 构建 ARIMA 模型

    model = ARIMA(cas_confirmes['2020-03-19':'2021-05-09'], order=(2,0,1))
    results_comfirm = model.fit();
    

    使用确定的阶数构建 ARIMA 模型,并对患病确诊人数和住院人数分别进行建模。

  9. 模型诊断

    print('The white noise test result of the diseased difference sequence was:', acorr_ljungbox(resid1.values.squeeze(), lags=1))
    print('The white noise test result of hospitalization difference sequence is:', acorr_ljungbox(resid2.values.squeeze(), lags=1))
    

    对模型的残差进行自相关性分析,检验残差序列是否为白噪声。

  10. 模型预测

    predict_comfirm=results_comfirm.forecast(30)
    

    使用训练好的 ARIMA 模型对未来一段时间内的患病确诊人数和住院人数进行预测。

  11. 可视化预测结果

    plt.plot(list(range(1,418)),predict_sunspots_comfirm,label='predict comfirmed')
    plt.plot(smooth_comfirm.loc['2020-03-18':'2021-06-09'],label='true comfirmed')
    plt.plot(list(range(417,447)),predict_comfirm[0],'g',label='future predict')
    plt.title('Actual and predicted disease graphs')
    plt.legend()
    

    绘制预测结果和真实数据的对比图。

完整代码文件&2000+图文分析报告

这篇关于【Python数据分析】基于自回归积分滑动平均模型的疫情分析报告 附完整python代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007568

相关文章

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.