I have 两年的月度数据 but stl()似乎至少需要两年零一个月.
这是两个简单的例子:
示例 1 - 返回
stl(x,“周期性”) 中的错误:
系列不是周期性的或周期少于两个
dat_24 <- cumsum(rnorm(24))
x_24 <- ts(dat_24, frequency = 12)
stl(x_24, "periodic")
示例 2 - 回报预测符合预期
dat_25 <- cumsum(rnorm(25))
x_25 <- ts(dat_25, frequency = 12)
stl(x_25, "periodic")
难道我不应该只用频率 = 12 的 24 个数字来获得预测吗?
它适用于所有类型的周期系列,无论是每周、每年还是任何其他周期。除了至少 1 个额外的数据点之外,您还必须有2期间的完整周期。
这是每周系列的示例,您也会收到错误:
dat_Weekly <- cumsum(rnorm(104,0,5))
x_Weekly <- ts(dat_Weekly, frequency = 52, start = c(2013))
stl(x_Weekly, "periodic")
您可以浏览一下原始论文:here
下面的解释可能不是最好的,但我想尝试一下。
假设您有 2 年的月度销售数据(24数据点)对于一家冰淇淋公司来说,您的目标是找出其中的季节性。
STL 要做的第一件事是使用 2 年或更长的时间(24 或 36 或 48 个月)的数据来计算季节性、趋势等。在这种情况下,我们正好有 24 个数据点。现在,STL 至少需要一个额外的数据点ON它可以预测季节性。
由于 STL 已经使用前 24 个数据点来了解每月的季节性,因此绝对需要下一个数据点来扩展之前的预测。
换句话说,前 24 个数据点用于检查季节性,而接下来的数据点 (大于24)将遵循先前计算的两年季节性模式。对于 1 月份的销售额,您可能会看到 STL 图有所下降。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)