使用AR中的ARIMA和xreg进行预测

时间:2017-02-08 14:46:56

标签: r forecasting

我在R中的第一次预测实施遇到了问题。我想要实现的是用2个外生变量X1和X2预测变量Y. 3个数据集分别表示为12列的单个列。

从另一个Stackpost我采用了类似的方法:

DataSample <- data.frame(Y=Y[,1],Month=rep(1:12,1),
                     X1=X1[,1],X2=X2[,1])

predictor_matrix <- cbind(Month=model.matrix(~as.factor(DataSample$Month)), 
                          X1=DataSample$X1,
                          X2=DataSample$X2)
# Remove intercept
predictor_matrix <- predictor_matrix[,-1]

# Rename columns
colnames(predictor_matrix) <- c("January","February","March","April","May","June","July","August","September","October","November","X1","X2")

# Variable to be modeled
var <- ts(DataSample$Y, frequency=12)

#Find ARIMA
modArima <- auto.arima(var, xreg = predictor_matrix)

在这一行,我收到以下错误:

  

optim中的错误(init [mask],armaCSS,method = optim.method,hessian =   FALSE:由optim

提供的非有限值

我认为我的predictor_matrix格式不正确,但我无法找到错误。

任何帮助将不胜感激,

1 个答案:

答案 0 :(得分:0)

您已指出“数据集为... 12行”。您的预测矩阵有13列(11个月[虚拟变量?]和2个其他变量)。因此,您必须在列之间具有线性依赖性,并且优化过程失败。

您需要(理想情况下)更多数据来支持预测变量的数量和/或一组稀疏的预测变量。