您是否曾经回顾过自己的旧问题并感到有点尴尬?我刚刚做到了,现在我也做到了。在某些时候我可能会对这个有同样的感觉。
我正在尝试将我的预测工作转移到fable
。在此过程中我尝试使用tsibble
。以前与一个ts
对象我只是设置了开始年份和频率。现在tsibble
正在寻找日期对象。不过,我有一年两次的数据(秋季和春季学期)。而且变量是不规则的(我想保留)。Forecast
准确地“预测”它做得很好。我的大学用 3 位数的年份和术语命名术语。因此,2019-2020 学年的秋季是 2204,其中 4 代表秋季。 2207年春天。
基本上,我无法在网上找到索引在不是日期对象意义上不规则的情况的示例?有什么提示吗?谢谢。
好吧,如果这会杀了我,我会尝试解决这个问题。我看到他们添加了一个有序因子作为可能的索引。所以我会尝试一下。
这是我陷入困境的可重现示例。
enroll <- data.frame(term = c(2194L, 2197L, 2204L, 2207L),
ECO110 = c(518, 410, 537, 386),
ECO120 = c(315, 405, 419, 401))
enroll.tb <- enroll %>%
mutate(term = ordered(term)) %>%
select(term, starts_with("ECO")) %>%
pivot_longer(-term, names_to = "class", values_to = "enroll")
enroll.tb <- as_tsibble(enroll.tb, key = class, index = term)
fc <- enroll.tb %>%
model(arima = ARIMA()) %>%
forecast(h = 2)
现在它让我制作 tsibble,但是寓言产生了错误:Error: Unsupported index type: logical
米切尔的出色回答below https://stackoverflow.com/a/59871498/1725889.
然而,似乎因素引发了更多问题,事实证明一切都还没有完全解决。 ARIMA 模型效果很好,而购买 ETS 则不行。
fc <- enroll.tb %>%
model(ets = ETS()) %>%
forecast(new_data = enroll.future)
抛出错误Error: A model specification is trained to a dataset using the
model()function.