我有一个函数,它采用一个拟合模型,然后将该模型重新调整为新的训练数据(这是为了提前交叉验证)。对于lm
模型,它的工作原理如下:
#create data
training_data <-
data.frame(date = seq.Date(
from = as.Date("2020-01-01"),
by = 1, length.out = 365
), x = 1:365, y = 1:365 + rnorm(n = 365))
# specify and fit model
lm_formula <- as.formula(y ~ x)
my_lm <- lm(lm_formula, data = training_data)
# refit on new training data
update(my_lm, data = new_training_data)
有没有办法对装有该fable
软件包的 arima 模型做同样的事情?我正在创建这样的模型
library(fable)
library(forecast)
arima_formula <- as.formula(y ~ x + PDQ(0, 0, 0))
my_arima <- as_tsibble(training_data) %>% model(ARIMA(arima_formula))
但是我想不出一种方法来获取my_arima
我已经拟合的模型并通过它new_training_data
,无论是使用update
还是通过提取公式并重新拟合为新模型。请注意,尽管我在上面的表示中包含了模型公式,但我的函数采用的是拟合模型而不是公式。因此,仅使用新模型拟合arima_formula
不是一种选择。
谢谢你。