我正在使用R(版本3.5.3)中的预测包(版本8.5),尝试使用宏伟的auto.arima()函数进行一些ARIMA预测。
当运行这个函数时,我总是收到一个错误代码,上面写着"Error in eval(expr,p):object 'fitxreg‘not found“。我已经尝试过调试,但我不能找出问题的确切原因,但当我恢复到预测8.4时,这段代码可以正常工作。
arimaIssue <- function(fitxreg = NULL, forxreg = NULL){
library(forecast)
fit <- auto.arima(AirPassengers[1:87],
seasonal = FALSE,
xreg = fitxreg, lambda = 'auto', allowmean = TRUE)
fcast <- forecast(fit, xreg = forxreg, h = 3)
return(fcast)
}
arimaIssue()
我希望这会从auto.arima()返回一个不使用外部回归器的预测对象(请注意,fitxreg和forxreg都为空)。然而,我只是得到了上面描述的错误。
任何帮助都是非常感谢的!
发布于 2019-03-27 04:02:31
明白了!
问题是fit对象包含外部回归器的名称‘fit goes’,当forecast()查找‘fit goes’时,它什么也找不到。下面对代码的更新现在生成一个预测。感谢Hector提供的关于发生了什么的线索!
arimaIssue <- function(fitxreg = NULL, forxreg = NULL){
library(forecast)
fit <- auto.arima(AirPassengers[1:87], seasonal = FALSE, xreg = fitxreg, lambda = 'auto',
allowmean = TRUE)
if(is.null(fitxreg)){
fit$call$xreg <- NULL
}
fcast <- forecast(fit, xreg = forxreg, h = 3)
return(fcast)
}
arimaIssue()
https://stackoverflow.com/questions/55364936
复制相似问题