我发出以下命令:
ops <- read.csv("ops.csv")
ops.ts <- ts(ops, frequency=12, start=c(2014,1))
ops.fc <- forecast(ops.ts)
forecast()然后抛出以下错误:
Error in ...fourier(x, K, 1:length(x)) :
K must be not be greater than period/2
根据摘要(ops),来自csv的数据如下所示:
1 10
2 3
3 7
4 4
5 2
6 20
7 13
8 9
9 8
10 7
11 6
12 11
13 7
R是最新的,预测是通过CRAN安装的。
我很感激任何建议,特别是因为我对R很安静。
答案 0 :(得分:0)
错误消息不言自明。
数据集中有13个元素,所以当你这样做时:
ops.ts <- ts(ops, frequency = 12, start=c(2014, 1))
你得到(注意2015年的价值):
#> ops.ts
# Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
#2014 10 3 7 4 2 20 13 9 8 7 6 11
#2015 7
我猜你只想使用前12个月,然后使用forecast()
?如果是这种情况,您可以这样做:
ops.ts <- ts(ops, frequency = 12, start = 2014, end = c(2015, 0))
ops.fc <- forecast(ops.ts)
或
ops <- ops[1:12, ]
ops.ts <- ts(ops, frequency = 12, start = 2014)
ops.fc <- forecast(ops.ts)