我有一个带有外生数据的armax(5,0,4)模型,我在其中找到R中的参数:
model <- arima(measurements, order=c(5,0,4), include.mean=FALSE, xreg=exDat)
据我了解,residuals(model)
给了我一步前面的残差,其中原始数据与模型结果进行比较。是否有一种自动获取n步提前残差的方法?
如果没有,如何预测可以在整个“测量”数据中给出预测(回测)?使用:
forecasted_data <- predict(model, n.ahead=12, interval='prediction', newxreg = new_exDat)
仅提供超出测量数据范围的预测。数据集太大,创建新模型可能需要几个小时,因此我只想构建一次模型。
答案 0 :(得分:0)
要在不重新创建模型的情况下找到多步前进残差,您必须执行以下操作:
period_to_analyse <- length(measurements)
for (i in 1:period_to_analyse){
fit <- Arima(measurements[1:i], model = model, xreg=exDat[1:n,]
fcast <- forecast(fit, h=forecast_horizon, xreg = exDat[(n+i):(n+i+forecast_horizon-1)])
residuals[i,] <- fcast - measurements[1:i]
}
NB。 Arima,arima和auto.arima似乎是不同的过程。唯一适用于上述功能的功能是具有大写A的Arima。