2017-02-08 22 views
0

У меня возникли проблемы с моей первой реализацией прогнозирования в R. То, что я хотел бы достичь, - предсказать переменную Y с 2 экзогенными переменными X1 и X2. 3 набора данных представлены в виде одного столбца с 12 строками.Прогнозирование с помощью ARIMA и xreg в R

С другой 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) 

На этой линии я получаю следующее сообщение об ошибке:

Error in optim(init[mask], armaCSS, method = optim.method, hessian = FALSE, : non-finite value supplied by optim

Я полагаю, что мой predictor_matrix не в правильном формате, но я могу Не находите ошибку.

Любая помощь будет оценена,

ответ

0

Вы указали "наборы данных ... 12 строк". Ваша матрица предиктора имеет 13 столбцов (11 месяцев [фиктивных переменных?] И 2 других переменных). Поэтому у вас обязательно есть линейная зависимость между столбцами, и процедура оптимизации не выполняется.

Вам нужно (в идеале много) больше данных для поддержки числа предикторных переменных и/или более редкого набора предикторов.

+0

Это действительно проблема, я использовал пример большего набора данных. Есть ли правило большого пальца, сколько наборов данных необходимо для добавленного предиктора? – user3488736

+0

Правила большого пальца варьируются в зависимости от поля, но в экономике вы можете стремиться, по крайней мере, в 4 раза больше числа предикторов, учитывая сильную теорию предзаказов для обоснованности переменных. В других областях вы должны иметь гораздо больше данных, например. 8x, а не 4x, например. психологии, где значение переменных может быть незначительным для начала. –