我正在尝试使用 auto.arima 函数将模型拟合到我的数据集,但我收到一条错误消息no suitable ARIMA model found
,我怀疑该错误消息可能归因于我为该xreg
部分传递的内容。我的数据集包含 1176 个总观察值,包括 1 个我试图预测的变量,其余是我试图作为回归量传递给 auto.arima 的虚拟变量(假期、一周中的几天等)。
library(forecast)
data <- read.csv(...)
#extract variable to be forecasted and extract regressors
forcast.var <- data[, 29]
regressors <- data[, 2:27]
#split forecast variable and regressors into train and test sets
train.r <- regressors[1:1000, ]
test.r <- regressors[1001:1176, ]
train.f <- forecast.var[1:1000]
test.f <- forecast.var[1001:1176]
#fit the data, pass 'train.r' into data.matrix and into 'xreg' since
#documentation for this function says it must be a vector or matrix
fit <- auto.arima(train.f, stepwise = FALSE, approximation = FALSE
, xreg = data.matrix(train.r))
如果我尝试运行它,我会收到上述错误消息。如果我没有传递任何东西,我确实得到了一个拟合模型xreg
,但拟合值或远不接近实际值。我应该提到 train.r 确实已经有列名。那么我做错了什么?我如何成功地通过回归器以希望我的模型更准确?