时间序列季节性检验


Answers:


5

在测试季节性之前,您应该反映出您拥有哪种季节性。请注意,有许多不同类型的季节性:

  • 加性与乘性季节性
  • 单季与多季
  • 周期数均匀或不均匀的季节性。每年有十二个月,但有52,1429周。
  • 趋势与季节性:季节性模式总是在同一时期出现,但趋势可能会出现得晚些或更早一些,而不是每5年出现一次。趋势的一个例子是商业周期。

检测季节性的最常用方法之一是将时间序列分解为几个部分。

在R中,您可以decompose()通过预安装的stats软件包中的stl()命令或通过Forecast软件包中的命令来执行此操作。

以下代码摘自R的小书中的时间序列

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency = 12, start = c(1946,1))
birthstimeseriescomponents <- decompose(birthstimeseries)
plot(birthstimeseriescomponents)

在此处输入图片说明

您可以使用

  • birthstimeseriescomponents$seasonal

  • birthstimeseriescomponents$random

  • birthstimeseriescomponents$trend


另一种方法是包括季节性虚拟变量,并在计算回归时检查它们是否具有显着的p值。如果单个月份的系数较小,则您的每月时间序列是季节性的。


检测季节变化的另一种方法是绘制数据本身或绘制ACF(自相关函数)。在我们的情况下,您可以轻松地注意到有季节性。

在此处输入图片说明

在此处输入图片说明


最后但并非最不重要的一点是,为了检测季节变化,有一些“形式”假设检验,例如学生T检验和Wilcoxon签署等级检验。


在我的情况下,我自己不知道(加性与乘性,单项与多项季节性,周期数均匀或不均匀的季节性),我有很多时间序列,并且希望有一个尽可能通用的时间可能。首先,我想从加性,单个季节开始,甚至+不均匀。@Ferdi
Michael D

也许您应该考虑一下自己的数据:是每日,每周,每月还是每季度数据?有没有触电或违规行为?可视化时会观察到什么?
费迪

某些时间序列有每周,每天,每小时。还有一些根本没有。第一步,我想检测一下季节性成分是否完全充满。对于您的第二个示例,它具有滞后3和滞后12。但是从某种意义上讲,我在滞后3时没有发现任何季节性变化。改为使用pacf更好吗?如果我查看ACF或PACF,如何区分AR(p)模型(非季节性模型)和季节性模型?@Ferdi
Michael D

我不知道您可以盲目地在任何时间序列上运行任何算法来测试季节性
-Ferdi

1
我是... AUTOBOX自动搜索随机变量,即ARIMA结构和确定性结构(固定效果,例如,星期几,一年中的某月,某月的某月,该月的某季度-年等),同时要处理复杂的问题,例如步长/水平偏移,本地时间趋势,脉冲,参数变化以及误差随时间的变化。有一个R版本。在单变量和多变量设置中自动进行时间序列模型识别是我的PHD学位论文的成果。
IrishStat

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.