Answers:
在测试季节性之前,您应该反映出您拥有哪种季节性。请注意,有许多不同类型的季节性:
检测季节性的最常用方法之一是将时间序列分解为几个部分。
在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签署等级检验。