【问题标题】:Fable forecast results for one group using a model fit on a different group使用适合不同组的模型对一组的寓言预测结果
【发布时间】:2020-09-25 18:34:50
【问题描述】:

我正在尝试使用适合一组时间序列的fable 模型来预测另一组的时间序列:

library(dplyr)
library(fable)
library(feasts)
library(tsibble)
library(fabletools)

df <- data.frame(
    id = rep(c('A', 'B'), each = 5),
    date = seq(as.Date('2020-01-01'), by = "month", length.out = 10),
    y = rnorm(10)
)

train_tsbl <- as_tsibble(filter(df, id == 'A'), key = id, index = date)
test_tsbl <- as_tsibble(filter(df, id == 'B'), key = id, index = date)

model <- train_tsbl %>%
    model(lm = TSLM(y ~ trend()))

但是,当预测到“测试”集 - 对应于 ID 'B' 的记录时,forecast 调用会为 'B' - 测试集返回一个空结果。

> forecast(model, test_tsbl)
# A fable: 0 x 4 [?]
# Key:     id, .model [0]
# … with 4 variables: id <fct>, .model <chr>, date <date>, y <dist>

但对于train_tsbl,如下:

> forecast(model, train_tsbl)
# A fable: 5 x 5 [1D]
# Key:     id, .model [1]
  id    .model date                   y  .mean
  <fct> <chr>  <date>            <dist>  <dbl>
1 A     lm     2020-01-01  N(0.19, 1.8)  0.191
2 A     lm     2020-02-01 N(-0.12, 1.5) -0.122
3 A     lm     2020-03-01 N(-0.42, 1.3) -0.416
4 A     lm     2020-04-01 N(-0.73, 1.5) -0.730
5 A     lm     2020-05-01    N(-1, 1.8) -1.03 

我似乎找不到任何指定预测新 ID 的选项。这是怎么回事?

【问题讨论】:

    标签: r forecasting fable-r


    【解决方案1】:

    您使用id 作为键,这意味着您为每个键安装一个单独的模型。但是您的训练数据不包含id==B,因此没有B 模型。

    在这里很难知道您的期望。您想为B 行使用什么模型?

    如果您想使用A 模型,则设置测试集,将B 替换为A

    > forecast(model, test_tsbl %>% mutate(id = 'A'))
    # A fable: 5 x 5 [1D]
    # Key:     id, .model [1]
      id    .model date            y .distribution 
      <chr> <chr>  <date>      <dbl> <dist>        
    1 A     lm     2020-06-01 -0.100 N(-0.10, 0.32)
    2 A     lm     2020-07-01 -0.217 N(-0.22, 0.42)
    3 A     lm     2020-08-01 -0.338 N(-0.34, 0.56)
    4 A     lm     2020-09-01 -0.459 N(-0.46, 0.73)
    5 A     lm     2020-10-01 -0.575 N(-0.58, 0.93)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-04
      • 2020-08-22
      • 2021-09-19
      • 2020-07-19
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 2020-01-21
      相关资源
      最近更新 更多