R - 不检测季节性的时间序列分解

数据挖掘 r 时间序列
2022-02-16 13:52:09

我有一个包含 200 个数据点的时间序列数据集。我使用以下函数对其进行了分解:

dat2 = ts(dat1, frequency = 4)
decomposeDat = decompose(dat2, "multiplicative")

我得到 4 个组成部分:趋势、季节性、周期性和不规则性。但是当我检查数据集中是否存在频率为“4”的季节性时,Rstudio 说这个频率没有季节性。使用以下代码执行检查:

dat2 = ts(dat1, frequency = 4)
fit <- tbats(dat2)
seasonal <- !is.null(fit$seasonal)
seasonal

季节性返回 FALSE 意味着没有频率为 4 的季节性。

有人可以解释一下,当上述检查不存在季节性时,为什么我可以将其分解为季节性成分?

2个回答

如果没有看到您的数据,很难判断是否存在季节性。decompose()函数将尝试使用不同于tbats()本文中讨论的方法以及 tbats 的作者对该博客文章用户评论中讨论的方法来查找季节性

我建议发布您的数据并讨论您想要实现的目标以获得更多指导。

据我所知,它也将时间序列分解为季节性分量,因为您指定了它,即季节性为 4。此外,您可以使用TStools(seasplot() 函数)检查 4 的季节性,它将为您提供该季节性的重要性的 p 值,这似乎比 TRUE 或 FALSE 更能提供信息。