首页 > 解决方案 > R中xts每周时间序列的分解

问题描述

我有一个每周时间序列数据 x(x 是一个“xts”对象),如下所示:

date    value
2/1/19  3801
2/8/19  5114
2/15/19 6437
2/22/19 5772
3/1/19  4878
3/8/19  5913
3/15/19 7466
3/17/19 1630

我想分解时间序列数据。但是如果我使用,我会收到错误:

plot(decompose(x))
Error in decompose(x) : time series has no or less than 2 periods

我找到:

frequency(x)
[1] 1

所以我这样做了:

attr(x, 'frequency') <- 7

但我仍然收到分解错误:

plot(decompose(ts(x,frequency = 7)))
Error in decompose(ts(x, frequency = 7)) : 
  time series has no or less than 2 periods

任何帮助将不胜感激。TIA。

标签: r

解决方案


嗯,也许可以尝试不同的频率值。从ts帮助页面:

“参数频率的值用于在每个单位时间间隔内对序列进行整数次采样。例如,当数据每天采样时,频率可以使用 7 值,自然时间段是周,或 12,当数据按月采样且自然时间段为一年时。在(例如)打印方法中假设值 4 和 12 分别表示季度和月度系列。

因此,对于您的数据,以下可能有效

decompose(ts(x,frequency = 4))

或者

decompose(ts(x,frequency = 52))

每周


推荐阅读