R:分解(y)中出错:时间序列没有或少于2个周期

R:分解(y)中出错:时间序列没有或少于2个周期,r,time-series,R,Time Series,我有从2017年6月28日到2018年11月26日的每日交易时间序列数据。 数据如下所示: 我对在R中使用decompose()或stl()函数感兴趣,但我得到了 error: decompose(y) : time series has no or less than 2 periods 当我尝试使用decompose()时 及 当我尝试使用stl()时 我知道我必须指定期限,但我无法理解在我的情况下,期限应该是什么?我尝试了以下玩具示例: dat <- cumsum(rnorm(5

我有从2017年6月28日到2018年11月26日的每日交易时间序列数据。 数据如下所示:

我对在R中使用decompose()或stl()函数感兴趣,但我得到了

error:
decompose(y) : time series has no or less than 2 periods
当我尝试使用decompose()时 及

当我尝试使用stl()时

我知道我必须指定期限,但我无法理解在我的情况下,期限应该是什么?我尝试了以下玩具示例:

dat <- cumsum(rnorm(51.7*10))
y <- ts(dat, frequency = 517)
plot.ts(y)
stl(y, "periodic")

dat频率参数反映了季节模式重复之前的观测次数。由于您的数据是每日数据,您可能希望将频率设置为7或365.25(取决于您的业务季节性)

当然,业务季节性越大,分解时间序列所需的数据就越多(即超过2个周期)。在您的情况下,您将频率设置为517,但数据可用时间少于两个时段。因此,季节性分解不可能发生

有关更多信息,请参阅:

dat <- cumsum(rnorm(51.7*10))
y <- ts(dat, frequency = 517)
plot.ts(y)
stl(y, "periodic")