第100+1步 ChatGPT文献复现:ARIMAX预测肺结核 vol. 1

基于WIN10的64位系统演示

一、写在前面

各位大佬,好久不见。

《100步入门机器学习》肝完了,不懂大家学了多少了,默认你们都学完了吧。

今年我们换一个玩法(灌水):一系列更接近实战的教程,复现一些经典的文献。

姑且叫做《100+X步入门机器学习》!

首先,从ARIMAX模型开始,龙年第一篇:

《PLoS One》杂志的2023年一篇题目为《A comparative study of three models to analyze the impact of air pollutants on the number of pulmonary tuberculosis cases in Urumqi, Xinjiang》文章的公开数据做案例。

这文章做的是用:空气污染物对新疆乌鲁木齐肺结核病例数影响的比较研究。

为了让大家一步一个脚印(多水教程),我就一次只弄1-2个结果咯。

二、学习和复现:结果一描述性分析

首先,结果一长这样:

1咒语

[复制结果2的图片]

请问这个论文结果使用了什么方法?

并给出python代码,同时运行这个代码,输出最终的输出图片

原始数据见附件“{pone.0277314.s006.xlsx}”,其中只需要使用前两列进行分析:“Time”以及“PTB cases”。

你可以一步一步来,进行完一步操作以后,保存结果,然后问我是否继续分析。我说继续分析,你才继续。

请用中回答。

输入咒语,跟着GPT回复:

这张论文结果图显示了时间序列分解,这通常涉及到将时间序列数据分解成趋势、季节性和随机成分。从图中可以看出,有四个子图分别代表原始的时间序列(PTB cases),季节性指数(Seasonal Index),趋势(Trend),以及周期性成分(Cycle)。

在Python中,可以使用statsmodels库的季节性分解功能进行这种分析。首先,我们需要加载数据并使用statsmodels中的seasonal_decompose函数。我将开始这个过程,首先加载数据,然后进行初步的时间序列分解。如果结果正确,我们可以继续进一步的分析步骤。

现在我会加载数据,并展示如何使用Python进行季节性分解。

(2)GPT也给出对应的代码:

import pandas as pd
from statsmodels.tsa.seasonal import seasonal_decompose
import matplotlib.pyplot as plt
# 加载数据,这次使用正确的列名
file_path = 'pone.0277314.s006.xlsx'
data_check = pd.read_excel(file_path)  # Load data to check the column names
corrected_column = data_check.columns[1]  # This is the actual column name with the invisible character# Now loading the data with the correct column name
data = pd.read_excel(file_path, usecols=['Time', corrected_column])# Convert 'Time' to datetime and set as the index for the data
data['Time'] = pd.to_datetime(data['Time'])
data.set_index('Time', inplace=True)# Perform the seasonal decomposition
decomposition = seasonal_decompose(data[corrected_column], model='additive', period=12)plt.rc('figure', figsize=(10, 8))  # Adjusting the size may help with layout issues# Plot the decomposition results
decomposition.plot()# Use tight layout to automatically adjust subplot parameters
plt.tight_layout()plt.subplots_adjust(left=0.05)  # 减少左侧边距# Save the decomposition plot to a file
fig = plt.gcf()  # Get the current figure object
adjusted_img_path = '/mnt/data/adjusted_decomposed_timeseries.png'
fig.savefig(adjusted_img_path, bbox_inches='tight')  # Save the figure with tight bounding box

给出代码的基本步骤和功能

1、使用pandas库加载Excel文件,并只选择了'Time'和'PTB cases'这两列。

2、将'Time'列转换为datetime对象,并设置为数据框的索引。

3、使用seasonal_decompose函数从statsmodels库中进行时间序列的季节性分解。

4、设置图表大小,绘制并展示分解结果。

5、保存结果图为PNG格式。

(3)试着在本地Python运行

在Spyder中输入:

可以运行,但是吧,左边空了一大片。

此时,你可以继续求助GPT,注意看我的咒语:

GPT给出优化方案:

图片左侧的空白区域可能是由于日期格式不正确或者是matplotlib在绘图时默认的布局设置导致的。解决这个问题的方法可以有以下几个:

检查和修正日期格式:确保时间序列是正确的datetime对象,并且是以正确的格式显示在x轴上。

使用紧凑布局:plt.tight_layout()可以自动调整子图参数,让它们更好地适应图表区域。

调整子图间距:使用plt.subplots_adjust()可以手动调整子图的布局设置。

修改图表尺寸:调整图表的尺寸以适应子图的显示。

优化x轴标签:如果x轴的刻度标签太长或者不必要,可以缩短它们或者完全移除。

这回答提醒了我:

因为原始数据的日期是中文格式:2014年1月,所以代码不支持。

我只需要把日期格式改为:2014-1,即可:

不过继续完善横坐标,也就是横坐标从2014-01开始,每隔三个月展示一个日期,2014-01、2014-03、一直到2018-12,这里就不演示了。

(4)我有一个大胆的想法

请使用英文帮我就这个图片写一段SCI论文的result,要求精简:

Results

Temporal Decomposition of PTB Cases in Urumqi

We employed time series decomposition to assess the patterns of PTB (Pulmonary Tuberculosis) cases in Urumqi from January 2014 to December 2018. The decomposition model allowed us to dissect the time series into four distinct components: observed, seasonal, trend, and residual.

The observed data (Fig. 2, top panel) indicates the number of PTB cases reported each month over the five-year period. Fluctuations in the data illustrate the dynamic nature of PTB incidence over time. The seasonal component (Fig. 2, second panel) reveals a consistent pattern repeating yearly, suggesting a regular influence of seasonal factors on PTB cases.

The trend component (Fig. 2, third panel) demonstrates a gradual decrease in the number of PTB cases over the years, signaling a promising downtrend in incidence. This decline may reflect the effectiveness of ongoing public health interventions and improvements in local healthcare practices.

Lastly, the cyclical component (Fig. 2, bottom panel), which captures fluctuations adjusted for seasonality and trend, suggests additional, irregular forces at play that periodically affect PTB case numbers. These could correspond to sporadic outbreaks or changes in reporting practices.

Our analysis underscores the multifaceted nature of PTB case dynamics in Urumqi, shaped by seasonal patterns, long-term trends, and irregular episodic factors. The discernible seasonal patterns highlight potential opportunities for targeted seasonal interventions, while the overall downward trend is indicative of successful long-term disease control measures in the region.

不错,写得很详细,下次不要描述的那么详细:

In the time series decomposition of PTB cases in Urumqi from January 2014 to December 2018, we observed a clear seasonal pattern and a long-term downward trend in cases. The decomposition highlights consistent seasonal fluctuations and suggests the effectiveness of health interventions over the studied period.

能不能用,大家自行对照原文,认真对照学习(看看怎么白嫖合适)。

三、个人感悟

利用GPT-4的多模态能力,不仅可以浏览和理解学术文献,还能直接提取其中的编程代码,并且在本地平台上即时运行这些代码,这极大地提高了研究(白嫖)和学习(偷懒)的效率。

四、数据

链接:https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0277314

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

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

相关文章

(黑马出品_07)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_07)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小…

6.S081的Lab学习——Lab1: Xv6 and Unix utilities

文章目录 前言一、启动xv6(难度:Easy)解析: 二、sleep(难度:Easy)解析: 三、pingpong(难度:Easy)解析: 四、Primes(素数,难度:Moderate/Hard)解析&#xff1a…

node.js入门

一、cmd常用命令 windowsR 再输入cmd 打开命令提示符 (1)切换盘符 c: / d: (2)dir 查看全部内容 (3)cd 你需要打开的文件所处的大文件夹名字 (4)cd 大文件夹名再输入dir 查看该大文件里面的所有内容 (5)输出结果里 一个.表示当前目录,两个..表示上级目录 …

怎样在CSDN赚点零花钱

请教一下各位大佬,看到你们在CSDN很多都几万粉丝以上,能不能分享一下有什么涨粉的经验,还有怎样转化为额外收益……感谢各位提供宝贵的经验,谢谢……

文献阅读笔记:全卷积神经网络

文献阅读笔记:全卷积神经网络 摘要Abstract1. 全卷积神经网络1.1 文献摘要1.2 全卷积神经网络1.2.1 网络结构1.2.0 从分类器到密集 FCN1.2.2 上采样 Upsampling1.2.3 跳级结构1.2.4 FCN训练 1.3 实验1.4 总结 2. 代码实现 摘要 本周学习了全卷积神经网络&#xff0…

Acer宏碁非凡Swift SFG16-71工厂模式原厂Win11系统,预装OEM系统恢复开箱状态

宏基笔记本电脑SFG16-71原装出厂Windows11系统安装工厂包下载,带恢复重置功能 链接:https://pan.baidu.com/s/1JK02kBbwKG_cIBNlEOzrOw?pwdzdfm 提取码:zdfm 原装工厂包系统自带所有驱动、Office办公软件、出厂时自带主题壁纸图片、系统…

如何免费获取基于公网 IP 的 SSL 证书 (无需域名)

现在给网站安装SSL证书来实现网站的HTTPS安全访问已经成了大多数人的共识,但是有一些特殊情况:比如对于个别的应用IP地址不需要绑定域名,只是单纯用IP来访问网站,这种情况下,可以实现HTTPS访问吗? 先说答案…

vue-创建vue项目记录

安装node.js 先安装node.js的运行环境node.js的下载地址 安装后就可以使用npm命令 1、清除npm缓存:npm cache clean --force 2、禁用SSL:npm config set strict-ssl false 3、手动设置npm镜像源:npm config set registry https://registry.…

揭密无文件勒索病毒攻击,思考网络安全新威胁

前言 最近几年基于无文件攻击的网络犯罪活动越来越多,一些网络犯罪团伙开发了各种基于无文件攻击的恶意软件攻击套件,这些恶意软件攻击套件可用于勒索病毒、挖矿病毒、RAT远控、僵尸网络等恶意软件,在过去的几年时间里,无文件感染…

L1-8 静静的推荐(Python)

天梯赛结束后,某企业的人力资源部希望组委会能推荐一批优秀的学生,这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的: 只考虑得分不低于 175 分的学生;一共接受 K 批次的推荐名单;同一批推荐名单上…

Day35:安全开发-JavaEE应用原生反序列化重写方法链条分析触发类类加载

目录 Java-原生使用-序列化&反序列化 Java-安全问题-重写方法&触发方法 Java-安全问题-可控其他类重写方法 思维导图 Java知识点: 功能:数据库操作,文件操作,序列化数据,身份验证,框架开发&…

pandas plot函数:数据可视化的快捷通道

一般来说,我们先用pandas分析数据,然后用matplotlib之类的可视化库来显示分析结果。而pandas库中有一个强大的工具--plot函数,可以使数据可视化变得简单而高效。 1. plot 函数简介 plot函数是pandas中用于数据可视化的一个重要工具&#xff0…

凌鲨本地接口架构

本地API通过监听本地端口,提供http服务,让本地应用可以获取信息和操作凌鲨客户端。 本地API架构 #mermaid-svg-seodZa6VsI4Qc8Cj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-seodZa6VsI4…

辽宁博学优晨教育:视频剪辑培训的安全正规之路

在当今数字化时代,视频剪辑已成为一项炙手可热的技能。为满足广大学习者的需求,辽宁博学优晨教育推出了一系列专业的视频剪辑培训课程。本文将重点介绍辽宁博学优晨教育的视频剪辑培训如何在保障学员安全和学习效果方面做出了卓越的努力。 一、正规资质&…

Linux操作系统-06-进程与服务管理

使用ps命令查看进程。包括过滤进程信息 使用systemctl命令管理和运行Linux服务 进程(Process):操作系统正在运行的应用程序。任意一个进程,都会消耗CPU和内存资源, 服务(Service)&#xff1a…

Word中解决插入脚注导致的分页位置错误问题

先放一个截图: 上面的截图中,样式为标题3的段落“四、固执的念头”前插入了连续型分节符,并且该分节符的样式为正文,前后的正文段落中有脚注,结果在分页时,标题3段落“四、固执的念头”后的正文段落自动进入…

【JAVA】我和“JAVA“的细水长流,输入输出

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-Ck59fYFNNdpuGmVT {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

JVM-3

HotSpot虚拟机对象 我在网上看了很多相关的文章,发现在创建对象和对象的结构中内容都不太一样,一些关键字也很不同,于是我通过参考《深入理解Java虚拟机》这本书,自己总结了一篇。 1.对象的创建 当JVM收到一条创建对象的字节码…

全面的 DevSecOps 指南:有效保护 CI/CD 管道的关键注意事项

数字化转型时代带来了对更快、更高效、更安全的软件开发流程的需求。DevSecOps:一种将安全实践集成到 DevOps 流程中的理念,旨在将安全性嵌入到开发生命周期的每个阶段 - 从代码编写到生产中的应用程序部署。DevSecOps 的结合可以带来许多好处&#xff0…

交叉编译x264 zlib ffmpeg以及OpenCV等 以及解决交叉编译OpenCV时ffmpeg始终为NO的问题

文章目录 环境编译流程nasm编译x264编译zlib编译libJPEG编译libPNG编译libtiff编译 FFmpeg编译OpenCV编译问题1解决方案 问题2解决方案 总结 环境 系统:Ubutu 18.04交叉编译链:gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu 我的路径/opt/toolch…