【问题标题】:Forecasting into the future with dynamic ARIMA使用动态 ARIMA 预测未来
【发布时间】:2020-04-27 04:40:26
【问题描述】:

假设我正在尝试使用动态 ARIMA 回归预测变量 y 未来四个月。我提前知道这四个月的 xreg 变量。我不完全确定 forecast 函数如何进行预测,例如我可以用缺失的 y 值来喂它吗?如果只喂它那几个月的 xreg,它会自动假设我正在尝试预测训练期后的四个月?

下面的代码对预测未来四个月有意义吗?

library(dplyr)
library(fable)
library(tsibble)

set.seed(1)
r <- rnorm(36)
r2 <- rnorm(4)
x <- data.frame(index = yearmonth(seq.Date(as.Date("2017-01-01"),
                                           as.Date("2020-04-01"),
                                           "1 month")),
                y = cumprod(c(r, rep(NA, 4))),
                a = c(1.8 * r + rnorm(36), 1.8 * r2 + rnorm(4)),
                b = c(0.5 * r + rnorm(36), 1.5 * r2 + rnorm(4))) %>% 
  as_tsibble()


a1 <- x %>% 
  model(ARIMA(y ~ a + b))

a1 %>% forecast(x[37:40, ])

【问题讨论】:

    标签: r forecasting arima fable-r


    【解决方案1】:

    不,预测函数将假定您要预测训练数据之后的月份。如果您的训练数据以缺失观测值结束,这仅意味着它是从最后一个可用观测值开始预测,一直到缺失时段,然后进入训练数据之后的时段。

    这里有一些代码可以做你想做的事情。

    x %>%
      filter(index <= yearmonth("2019 Dec")) %>%
      model(ARIMA(y ~ a + b)) %>%
      forecast(new_data = filter(x, index > yearmonth("2019 Dec")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 2019-05-06
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多