长格式 tsibble 中的多个时间序列
Multiple time series in a long format tsibble
我想 运行 时间序列模型使用 fable
包进行预测。据我了解,我需要 tsibble
格式的数据。这是我想要做的,
- 生成三个id
- 这三个 ID 的时间戳
- 三个随机系列
- 加入这一切作为
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
)
我想 运行 时间序列模型使用 fable
包进行预测。据我了解,我需要 tsibble
格式的数据。这是我想要做的,
- 生成三个id
- 这三个 ID 的时间戳
- 三个随机系列
- 加入这一切作为
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
)