我试图使用auto.arima函数将模型拟合到我的数据集中,但是我收到no suitable ARIMA model found
的错误消息,我怀疑这可能归因于我传递的内容xreg
部分。我的数据集包含1176个总观察值,其中包括1个变量I我试图预测,其余的是假变量(假日,星期几等),我试图将其作为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已经有了列名。那么我做错了什么呢?我如何成功通过回归量,希望我的模型更准确?
答案 0 :(得分:-1)
我设法排除了一个虚拟变量来解决此问题。也就是说,在一周中的几天里,虚拟人为我创建了7个变量。但是,如果您有7个类别,则只需要6个假人。我排除了一个,然后有马工作正常。