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

基于WIN10的64位系统演示

一、写在前面

我们继续往下看,首先例行回顾文章:

《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》文章的公开数据做案例。

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

在这篇文章中,结果一和结果二已经把ARIMA模型构建流程描述完毕。这么简短的篇幅就能描述完,主要是因为它后面还有ARIMAX模型以及RNN模型。

再介绍ARIMAX模型之前,我觉得还是有必要做个小插曲:如何使用SPSS实现结果一的季节性分解。

原因在于我想把该教程的覆盖面尽可能地扩展。对于一些基层工作人员,让他们学Pyhton、R等编程语言,门槛实在是有些高了。因此,能用SPSS“点点点”实现的,我就尽量去介绍。

二、学习和复现(SPSS):重返结果一

咱们一步一步来吧:

(1)数据导入SPSS,不多介绍:

(2)定义时间序列数据:

(3)进行季节性拆分操作:

弹出这个窗口,那就到理论知识点了:啥叫乘法模型和加法模型?啥叫移动平均值权重。本着不懂就问GPT的原则:

季节性分解是一种时间序列数据分析方法,它将数据分解成趋势、季节性和随机成分。在季节性分解中,主要有两种模型:加法模型和乘法模型。它们的选择取决于数据的特性和季节性变化的性质。

乘法模型 vs. 加法模型

乘法模型:假设时间序列的季节性是随着趋势的变化而按比例变化的。也就是说,季节性效应与时间序列的水平成正比。这意味着,如果时间序列的趋势部分增长,季节性的影响也会相应增加。乘法模型通常适用于经济和人口统计数据,其中季节性波动与序列水平成比例增长。

加法模型:假设时间序列的季节性是固定的,不随趋势的变化而变化。在加法模型中,时间序列可以被视为趋势、季节性和随机成分的简单相加。这种模型适合于季节性波动不随时间序列水平变化的情况。

移动平均值权重的选择

移动平均值是平滑时间序列数据的一种方法。权重的选择可以是均等的,也可以是非均等的,这取决于对数据的特定假设。

所有点权重相等:这意味着在计算移动平均值时,每个点的贡献被认为是相同的。这种方法假设序列中的所有观察值对趋势的估计都同等重要。

端点按0.5加权:这种方法给序列开始和结束的点较小的权重(通常是0.5),而序列中间的点则按完全权重计算。这种方法试图减少移动平均线的滞后效应,因为在时间序列分析中,最近的观测往往比早期的观测更加重要。

嗯,说得很好,好像看不懂,于是我继续问:

GPT回答道:

对于乘法模型还是加法模型的适用性,我们需要观察季节性波动是否随着时间序列的水平(即值的大小)变化。如果波动的幅度似乎随着水平的增加而增加(即波动幅度与水平呈正比),那么乘法模型可能更合适。然而,如果季节波动的幅度相对恒定,不随水平的变化而变化,加法模型可能更为合适。

从这个图表来看,虽然有些波动似乎较大,但没有明显的证据表明季节性波动与水平成正比,这可能意味着加法模型适用。

对于移动平均值的权重选择,如果数据的最新点更为重要,或者想要减少端点处的滞后效应,那么可以考虑给端点较小的权重(例如端点按0.5加权)。如果没有明确的理由偏好最近的数据点,那么所有点权重相等的简单移动平均可能更为合适。

这个描述看起来还不够直观,所以我让GPT直接给我举例子:

如上图:展示了具有加法季节性的时间序列。季节性变化(如温度、销售等)的幅度在整个时间序列中是恒定的,不依赖于时间序列的水平(即趋势)

如上图:展示了具有乘法季节性的时间序列。季节性变化的幅度随着时间序列的水平(趋势)变化而变化。例如,如果趋势上升,季节性的峰值和低谷也会上升。这表明季节性效应与时间序列的水平成比例,因此适合使用乘法模型。

(4)所以,回看我们的数据,似乎是有个下降趋势,然后趋于平稳,这就尴尬了,但是平稳的序列多一些吧,因此我们试一试默认选项:“加法模型”+“所有点相等”,点击确定:

看看结果界面:

解读:

季节因子是一种统计工具,用于量化一个时间序列在一年中不同月份的季节性波动。表中的数字表示在加法模型中,每个月相对于年度趋势的季节性偏差。负值表示该月的数值低于平均水平,而正值表示高于平均水平。例如:

1月的季节性分量为-46.57153,这意味着1月的“PTB cases”数值通常会低于整体趋势的平均值。2月的数值更低,为-59.30069。

12月的季节性分量为65.80347,这表明12月的数值通常高于趋势的平均值。

可以认为12月是高峰,1-2月是低谷。

(5)我们在把其他组合试一试,点击确定:

同理,乘法模型的结果表示了在特定月份内,数据值与整个时间序列平均水平的比例关系。例如,1月的季节因子是77.8%,这意味着1月的数据值通常是年平均值的77.8%。相比之下,12月的季节因子是132.9%,表明12月的数据值通常比年均值高32.9%。

从以上四个图来看,其实趋势大体是一致的:12月是高峰,1-2月是低谷。

(6)根据分解出的数据作图:

点击确定后,除了在结果界面显示出季节因子的结果。在数据界面还能显示出四列数据(“加法模型”+“所有点相等”为例):

从上到下依次是:提取后的残差、去除季节性信息后的序列、季节信息、总体趋势。可以看到,这已经实现了之前使用Pyhton做的结果,还多了一个“去除季节性信息后的序列”。现在,就按照结果一的顺序排列:

到此结束,也可以把数据复制到其他软件作图。

三、一点补充

细心的朋友估计会发现,SPSS做出的图跟Python做的略有差异,还是那句话:不同软件或者统一软件不同版本号,算出来的结果有差异很正常。因此,文章中要写清楚软件及其版本号。

之前给的Python代码使用了加法模型来进行季节性分解通过seasonal_decompose函数调用时使用的参数model='additive'来实现,如使用乘法模型,改为model='multiplicative'。至于“所有点权重相等”还是“按0.5加权的移动平均”,不是seasonal_decompose函数的内置特性,忽略吧。

瞄了一眼论文给的R代码,用的是乘法模型,哈哈:

四、数据

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

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jet4505

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值