我想运行时间序列模型,以使用fable
软件包来预测未来的发展。据我了解,我需要将数据保存为tsibble
格式。这就是我想要做的,
tsibble
的身份加入所有所以我想先做一个tsibble
。为此,我尝试使用以下几行来创建
ts <- tsibble(
ids = c(rep(43, 20), rep(33, 20), rep(11, 20)),
timest = rep(yearmonth("2010 Jan") + 0:19, each = 3),
data = rnorm(60, mean = 10, sd = 5),
key = ids
)
使用此标签,我要运行以下模型,
fit <- ts %>%
model(
arima = ARIMA(data)
)
fit
fc <- fit %>%
forecast(h = "1 month")
fc
但是,创建tsibble
时遇到问题。我知道我不能重复,但指向key = ids
应该可以解决问题。有人可以帮助我找到我正在做的错误吗?
答案 0 :(得分:2)
您快到了。而不是timest = rep(yearmonth("2010 Jan") + 0:19, each = 3)
,您需要timest = rep(yearmonth("2010 Jan") + 0:19, times = 3)
时间与ID不一致。每个都连续3次复制“ 2010 jan”,而不是整个输入重复3次。在rep ?rep
library(tsibble)
ts <- tsibble(
ids = c(rep(43, 20), rep(33, 20), rep(11, 20)),
timest = rep(yearmonth("2010 Jan") + 0:19, times = 3),
data = rnorm(60, mean = 10, sd = 5),
key = ids,
index = timest
)