第100+9步 ChatGPT文献复现:ARIMA预测百日咳

基于WIN10的64位系统演示

一、写在前面

我们来继续换一篇文章来学习学习:

《BMC Public Health》杂志的2022年一篇题目为《ARIMA and ARIMA-ERNN models for prediction of pertussis incidence in mainland China from 2004 to 2021》文章的模拟数据做案例。

这文章做的是用:使用单纯ARIMA模型和ARIMA-ERNN组合模型预测中国大陆百日咳发病率。

文章是用单纯的ARIMA模型作为对照,更新了ARIMA-ERNN模型。本期,我们先来尝试ARIMA模型。

数据不是原始数据哈,是我使用GPT-4根据文章的散点图提取出来近似数据,只弄到了2004-2017年的。

二、闲聊和复现:

1数据基本描述

没啥好说的,就是最最基本的描述统计。

要是有原始数据,直接可以让GPT-4帮分析。

(2)季节拆分

之前介绍过了哈,使用SPSS也可以实现,文章使用的是R语言:

①首先,使用GPT-4生成:

咒语:

直接输出结果:

注意哈,我的数据是模拟数据,且只到2017年12月,所以乍一看跟文章的略有偏差。

GPT给出的代码(Python)供参考:

import pandas as pd
from statsmodels.tsa.seasonal import STL
import matplotlib.pyplot as plt# Load the data from the CSV file
data = pd.read_csv('/mnt/data/数据.csv')# Convert the 'time' column to datetime to facilitate resampling by year
data['time'] = pd.to_datetime(data['time'], format='%b-%y')# Set the time column as index and set frequency to month start
data.set_index('time', inplace=True)
data.index.freq = 'MS'# Prepare the data for STL decomposition by ensuring it has a frequency (monthly data)
# Apply STL decomposition with a seasonal period of 13 (adjusted as needed)
stl = STL(data['incidence'], seasonal=13)
result = stl.fit()# Plotting the results of the STL decomposition
plt.figure(figsize=(12, 8))# Original data plot
plt.subplot(4, 1, 1)
plt.plot(result.observed)
plt.title('Original Data')# Seasonal component plot
plt.subplot(4, 1, 2)
plt.plot(result.seasonal)
plt.title('Seasonal Component')# Trend component plot
plt.subplot(4, 1, 3)
plt.plot(result.trend)
plt.title('Trend Component')# Residual plot
plt.subplot(4, 1, 4)
plt.plot(result.resid)
plt.title('Residual')# Adjust layout and save the figure to a file
plt.tight_layout()
plt.savefig('/mnt/data/STL_Decomposition_Corrected.png')plt.show()

②首先,使用SPSS生成:

步骤我在简单过一下,大家巩固记忆:

看结果:

(2)构建ARIMA模型

文章使用的是SAS建模,那我就用JMP展示(传送门):

看到季节性和总体上升趋势,直接无脑d和D取1,然后p、q、P、Q取值0、1、2、3即可:

结果最优模型如下:

ARIMA(3,1,3)(3,1,2)12:拟合的MAPE为27%,预测的MAPE为18%,比文章的高一些,不过基本处于一个数量级水平。

不用纠结为啥ARIMA参数不同,实验条件都不一样。

三、后话

到目前为止,大家应该熟练掌握单纯ARIMA模型了吧。

四、数据

不提供,自行根据下图提取吧

实在没有GPT-4,那就这个:

https://apps.automeris.io/wpd/index.zh_CN.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hadoop(1)--hdfs部署(亲测可用)

一、准备: 1、三台集群部署,配置hosts #cat /etc/hosts 192.168.46.128 node1 #nameNode dataNode secondaryNameNode 192.168.46.129 node2 #datanode 192.168.46.130 node3 #datanode说明: NameNode: 主节点管理者 DataNode&…

LNMP部署及应用

目录 1.LNMP概述 Nginx 特点 Nginx 作用 2.分布式部署LNMP操练 Nginx主机:CentOS 7-1 PHP主机: CentOS 7-2 1.LNMP概述 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行&…

Kotlin 对象

文章目录 对象表达式(匿名对象)对象的声明 对象表达式(匿名对象) 在 Kotlin 中可以使用object {}声明一个匿名的对象,我们无需声明这个对象的类: fun main() {val any object {fun greet() print("…

C - Job Interview

思路: 先不考虑溢出,将nm1按照分配的工作分类 会发现,有且仅有一种工作的人数是溢出的,即超过了上限,记作工作1;且另一种工作的人数没有溢出,记作工作2 工作2因为没有溢出,不管没…

CPU/GPU/FPSGO,负载调试/设置命令开关

CPU/GPU/FPSGO,负载调试/设置命令开关 首先,进入: adb shell cat sys/kernel/ged/hal/gpu_utilization 查看GPU的负载情况。输出三个数字,第1个表示使用率,第3个表示空闲率。 echo 0 /sys/kernel/fpsgo/common/force…

Java中的网络编程:构建稳健的分布式应用

网络编程是Java开发中至关重要的一部分,特别是在构建分布式系统和网络应用程序时。Java提供了丰富的网络编程API和库,使开发者能够轻松创建各种网络应用。本文将介绍Java中的网络编程基础、常用的网络通信协议、以及如何利用Java构建稳健的分布式应用。 …

redis教程介绍以及要点和难点

Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。以下是关于Redis的详细概述: 定义 Redis,全称Remote Dictionary Server,是一个高性能的key-value数据库。 它支持多种数据结构,如string(字符串)、list(链表)、set(集合)、zset(…

Linux网络-使用Tcp协议进行网络通信并通过网络接口实现远端翻译

文章目录 Tcp协议Tcp协议常见API接口1. int socket(int domain, int type, int protocol);2. int bind(int socket, const struct sockaddr *address, socklen_t address_len);struct sockaddr 3. int listen(int socket, int backlog);4. int accept(int socket, struct socka…

计算机网络——如何保证 TCP 传输的可靠性

TCP 是传输层上的协议,它是可靠的,面向连接的。 概括 1. 设置传输格式,包括分为 TCP 段、使用校验和、使用序列号 2. 数据丢失之后的重传,超时重传、快速重传、SACK 选择确认、D-SACK 重复选择确认 3. 流量控制,控…

关于auto-coder的一次辩经

"其实是这样的,助手只要能给出正确的代码,粘贴一下,不是主要工作量" 这种思路还是把大模型当成一个信息获取工具来用,那么注定难以变革生产力,他和搜索引擎没有任何区别,那么把搜索引擎换成大模型…

spring 事务方式和事务传播

spring 事务方式和事务传播 Spring框架提供了多种方式来处理事务,以确保在应用程序中数据的一致性和完整性。在Spring中,事务可以通过注解、XML配置或编程方式来管理,而事务传播机制定义了事务在多个方法之间的传递和交互方式。 以下是Sprin…

字符串-至多包含K种字符的子串中最长子串(mid)

一、题目描述 二、解题思路 借鉴以下题目思想,使用双指针,外层循环右侧指针移动,内存循环左侧指针移动 字符串-最长不含重复字符的子字符串(mid)-CSDN博客文章浏览阅读622次,点赞17次,收藏4次。java刷题:…

探索第三方美颜SDK:美颜插件的技术原理

本篇文章,我们将深入了解第三方美颜SDK,主要探讨关于美颜插件的工作机制与算法。 一、第三方美颜SDK的概述 第三方美颜SDK是由专业团队开发的一套用于实现美颜功能的软件开发工具包。它通常包括了各种美颜算法、滤镜效果、人脸识别等核心技术&#xff…

Kafka broker的新增和剔除(服役与退役)

说明:集群现有broker:node1,node2,node3三个,broker.id分别为0,1,2 已有两个topic:products、cities 1、退役(Kafka集群中减少一个服务器broker2) 退役后要保证剩下的服务器数量大于等于备份数&#xff0c…

【IC前端Job】

IC前端Job 1 前端1.1 前端设计1.2 前端验证(DV)1.3 FPGA原型验证1.4 Emulator1.5 软件验证 上一篇文章细说了设计文档对于IC前端设计人员的重要性;这次集中在前端设计从RTL编码–>RTL freeze这个过程中所要工作和打交道的地方; IC前端设计具体工作&am…

Pytorch常用函数用法归纳

一、创建tensor张量 1.torch.arange() (1)函数原型 torch.arange(start0,end,step1,*,outNone,dtypeNone,layouttorch.strided,deviceNone,requires_gradFalse) (2)参数说明: 参数名称参数类型参数说明startNumber起始值,默认值为0endNumber结束值stepNumber步…

软件设计不是CRUD(21):在流式数据处理系统中进行业务抽象落地——需求分析

本文主要介绍如何在数据处理系统中应用业务抽象的设计思想。目前业界流行的数据处理方式是流式处理,主流的流式处理引擎有Apache Spark,Apache Flink等等。本文选择Apache Flink作为实战案例的落地。由于本文主要是讲解设计思想和流式处理引擎相结合的方…

使用docker直接运行不同版本nodejs命令

在低版本的操作系统上,安装和使用高版本的node以及相关工具可能会因为兼容性问题而无法使用,比如对Ubuntu 18.04来说,会因为glibc的版本问题而无法直接安装使用nodejs 18以上的版本。运行弄得是可能会遇到类似的报错 node: /lib/x86_64-linu…

Linux基础指令目录管理003

今天我们讲一下目录的切换。 操作系统: CentOS Stream 9 操作命令: cd 改变当前工作目录 [rootlocalhost ~]# cd /usr/local/nginx/conf [rootlocalhost conf]# cd .. [rootlocalhost nginx]# cd .. [rootlocalhost local]# 操作命令: …

排八字软件有哪些?

排八字软件有哪些?在市面上有很多排八字的软件可供选择,其中一些比较知名的有: 无敌八字排盘软件:这是一款功能强大的八字排盘软件,提供详细的八字解析和命理分析服务,且完全免费。 网易星盘:网…