R 在TSIBLE中设置索引

R 在TSIBLE中设置索引,r,fable-r,tsibble,R,Fable R,Tsibble,你有没有回想起以前的问题,觉得有点尴尬?我刚做了,现在我做了。我可能在某个时候也会有同样的感觉 我正试图将我的预测工作转移到fable。在此过程中,我尝试使用tsibble。在前面的ts对象中,我只设置了开始年份和频率。现在,tsibble正在查找日期对象。然而,我有两年一次的数据(秋季和春季学期)。变量是不规则的(我想保留它)预测在准确地“预测”它方面做得很好。我的大学用3位数的年份和一个术语来命名术语。所以2019-2020学年的秋季是2204,其中4代表秋季。弹簧是2207 基本上,我在网

你有没有回想起以前的问题,觉得有点尴尬?我刚做了,现在我做了。我可能在某个时候也会有同样的感觉

我正试图将我的预测工作转移到
fable
。在此过程中,我尝试使用
tsibble
。在前面的
ts
对象中,我只设置了开始年份和频率。现在,
tsibble
正在查找日期对象。然而,我有两年一次的数据(秋季和春季学期)。变量是不规则的(我想保留它)<代码>预测在准确地“预测”它方面做得很好。我的大学用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)

抛出错误:使用model()
函数将模型规范训练为数据集。

这里的问题是索引变量是一个有序因子,
forecast()
不知道如何生成该索引的未来值

我添加了一个信息更丰富的错误(),因此现在应该是:

fc%
模型(arima=arima())%>%
预测(h=2)
#>未指定模型,默认为“enroll”变量的自动建模。
#>使用模型公式替代此选项。
#>错误:无法从因子/有序时间索引自动创建“新数据”。请直接提供“新数据”。
由(v0.3.0)于2020年1月23日创建

如错误所示,要生成预测,您需要在
新数据中指定适当的因子级别


注册。未来%
预测(新数据=enroll.future)
#>未指定模型,默认为“enroll”变量的自动建模。
#>使用模型公式替代此选项。
足球俱乐部
#>#寓言:4x5[1]
#>#键:类、.model[2]
#>类。模型术语注册。分发
#>                 
#>1 ECO110 arima 2214532。N(5321380)
#>2 ECO110 arima 2217385。N(3851380)
#>3 ECO120 arima 2214385 N(3852237)
#>4 ECO120 arima 2217385 N(3852237)

由(v0.3.0)于2020年1月23日创建

这非常棒,而且很有意义。谢谢你的来电,还有你所有的工作。
fc <-  enroll.tb %>% 
  model(ets = ETS()) %>%
  forecast(new_data = enroll.future)