长格式 tsibble 中的多个时间序列

Multiple time series in a long format tsibble

我想 运行 时间序列模型使用 fable 包进行预测。据我了解,我需要 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
)

使用这个 tsibble 我想 运行 以下模型,

fit <- ts %>%
  model(
    arima = ARIMA(data)
  )
fit

fc <- fit %>%
  forecast(h = "1 month")
fc

但是,我在创建 tsibble 时遇到问题。我知道我不能重复,但指向 key = ids 应该可以解决问题。任何人都可以帮助我找到我正在做的错误吗?

你快到了。而不是 timest = rep(yearmonth("2010 Jan") + 0:19, each = 3) 你需要 timest = rep(yearmonth("2010 Jan") + 0:19, times = 3) 时间与 id 不一致。每个连续复制“2010 年 1 月”3 次,而不是整个输入重复 3 次。在代表 ?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
)