我有一个日常交易的时间序列数据,从2017-06-28到2018-11-26。 数据如下:
我有兴趣在R中使用decompose()或stl()函数。但是我得到了
error:
decompose(y) : time series has no or less than 2 periods
当我尝试使用decompose()时 和
Error in stl(y, "periodic") :
series is not periodic or has less than two periods
当我尝试使用stl()时。
我知道我必须指定时间段,但是我不明白我的情况应该是哪个时间段?我尝试了以下玩具示例:
dat <- cumsum(rnorm(51.7*10))
y <- ts(dat, frequency = 517)
plot.ts(y)
stl(y, "periodic")
但是我无法成功。任何帮助将不胜感激。
答案 0 :(得分:0)
频率参数反映了季节性模式重复之前的观测次数。由于您的数据是每日数据,因此您可能希望将频率设置为等于7或365.25(取决于您的业务季节性)。
当然,业务季节性越大,分解时间序列所需的数据就越多(即超过2个周期)。在您的情况下,您将频率设置为517,但是有不到两个周期的可用数据。因此,季节分解不会发生。
有关更多信息,请参见:Rob Hyndman's Forecasting Principles and Practice book