我正在生成一个带有外部回归器的 Arima 模型。假设我有n 个观察结果。包中的predict.Arima
函数只是对n + 1次观察forecast
进行预测。
我需要对n值(系列的最后一个值)进行预测,改变外部回归器的值,即,在给定外部回归器的特定值的情况下,我需要预测n观察值。
library(forecast)
set.seed(123)
aux <- 1:24
covari <- aux + rnorm(24,0,2)
vari <- ts(aux * runif(24,0,3), start=c(2010,1), freq=12)
mod <- auto.arima(vari, xreg=covari)
predict(mod, newxreg=20)
此代码生成模型,并显示如何生成预测。我可以控制提前设置参数的周期数n.ahead
。
predict(mod, newxreg=runif(4,15,25), n.ahead=4)
此代码将为该系列的下 4 个值生成预测。
我需要的是一个n.ahead=-1
,即对系列内的值的预测,但具有不同的外部回归器。
如果我只使用一个外部回归器,那么任务并不复杂,因为因为它是一个加法模型,所以我可以将观察到的 xreg 值的差值乘以我想要的值乘以 xreg 的系数。但是,如果外部回归器的数量增加,它会变得更加复杂。
有什么方法可以预测不在 Arima 模型系列末尾的值?