假设我使用fable包估计以下模型,使用涵盖2019年的每日数据,其中x是外生解释变量,术语pdq(p = 1, d = 0, q = 0)
和PDQ(P = 0, D = 0, Q = 0)
意味着这是一个自回归模型。
library(tidyverse)
library(fable)
load(file, "Some data.RData")
fit <- dta_2019 %>%
tsibble() %>%
model(ar = ARIMA(y ~ x + pdq(p = 1, d = 0, q = 0) + PDQ(P = 0, D = 0, Q = 0)))
现在我需要使用该模型对2020年的每日数据进行预测,但假设数据从2020年2月开始。
forecast_2020 <- fit %>%
forecast(new_data = tsibble(dta_2020))
我的理解是,预测的y滞后值将是估计数据集中观察到的最后一个值,由于这是一个自回归模型,因此需要使用该值(dta_2019)。我可以将y的值初始化为其他值吗?我尝试在 dta_2020 中包含一行,在这个特定的示例中,它包含1月31日的观察结果,但这导致预报从1月31日开始。
2条答案
按热度按时间noj0wjuj1#
对于ARIMA模型(使用
fable::ARIMA()
),您还需要预测2020年1月,以获得感兴趣的2020年2月预测。如果外生回归量可用于两个月,则可以计算预测。需要提供外生回归量x
的未来值,但预测不需要y
的未来值。j5fpnvbx2#
最新消息,以防还有点用。
我发现使用函数
fabletools::refit()
和reestimate = FALSE
可以将模型更新为通过new_data
提供的最后一个相关值,同时保留从原始数据集导出的估计值。因此,您可以提供2020年1月开始的值。
由reprex package(v2.0.1)于2023-04-01创建