Я пытаюсь использовать прогноз R-пакета для установки моделей аримы (с функцией Arima) и автоматически выбирать подходящую модель (с функцией auto.arima). Я впервые оценил две возможные модели с функцией Арима:Странное поведение auto.arima в прогнозе R-пакета
tt.1 <- Arima(x, order=c(1,0,1), seasonal=list(order=c(0,1,1)),
include.drift=F)
tt.2 <- Arima(x, order=c(1,0,1), seasonal=list(order=c(0,1,0)),
include.drift=F)
Затем я использовал функцию auto.arima автоматически выбрать подходящую модель для одних и тех же данных. Я зафиксировал d = 0 и D = 1 так же, как и в двух вышеприведенных моделях. Кроме того, я установил максимум 1 для всех других параметров, не использовал аппроксимацию критерия выбора и не использовал пошаговый выбор (обратите внимание, что настройки, которые я использую здесь, предназначены только для демонстрации странного поведения, а не того, что я действительно намерен использования). В качестве критерия выбора модели я использовал BIC. Вот вызов функции:
tt.auto <- auto.arima(x, ic="bic", approximation=F, seasonal=T, stepwise=F,
max.p=1, max.q=1, max.P=1, max.Q=1, d=0, D=1, start.p=1,
start.q=1, start.P=1, start.Q=1, trace=T,
allowdrift=F)
Теперь, я ожидал бы, что auto.arima выбирает модель с нижней BIC из двух моделей, указанных выше, или модель не оцененной выше, Арима. Более того, я ожидал, что результат, генерируемый auto.arima, когда trace = T точно такой же, как BIC, рассчитанный Arima для двух моделей выше. Это действительно верно для второй модели, но не для первой. Для первой модели BIC, рассчитанный по Arima, составляет 10405,81, но выходное изображение экрана для модели (1,0,1) (0,1,1) на экране - Inf. Следовательно, вторая модель выбирается auto.arima, хотя первая модель имеет более низкий BIC при сравнении двух моделей, оцененных Arima. У кого-нибудь есть идея, почему BIC, рассчитанный Arima, не соответствует BIC, рассчитанному auto.arima в случае первой модели?
Вот выход экрана auto.arima:
ARIMA(0,0,0)(0,1,0)[96] : 11744.63
ARIMA(0,0,0)(0,1,1)[96] : Inf
ARIMA(0,0,0)(1,1,0)[96] : Inf
ARIMA(0,0,0)(1,1,1)[96] : Inf
ARIMA(0,0,1)(0,1,0)[96] : 11404.67
ARIMA(0,0,1)(0,1,1)[96] : Inf
ARIMA(0,0,1)(1,1,0)[96] : Inf
ARIMA(0,0,1)(1,1,1)[96] : Inf
ARIMA(1,0,0)(0,1,0)[96] : 11120.72
ARIMA(1,0,0)(0,1,1)[96] : Inf
ARIMA(1,0,0)(1,1,0)[96] : Inf
ARIMA(1,0,0)(1,1,1)[96] : Inf
ARIMA(1,0,1)(0,1,0)[96] : 10984.75
ARIMA(1,0,1)(0,1,1)[96] : Inf
ARIMA(1,0,1)(1,1,0)[96] : Inf
ARIMA(1,0,1)(1,1,1)[96] : Inf
И вот резюме моделей, рассчитанных на Арима:
> summary(tt.1)
Series: x
ARIMA(1,0,1)(0,1,1)[96]
Coefficients:
ar1 ma1 sma1
0.9273 -0.5620 -1.0000
s.e. 0.0146 0.0309 0.0349
sigma^2 estimated as 867.7: log likelihood=-5188.98
AIC=10385.96 AICc=10386 BIC=10405.81
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 0.205128 28.16286 11.14871 -7.171098 18.42883 0.3612059 -0.03466711
> summary(tt.2)
Series: x
ARIMA(1,0,1)(0,1,0)[96]
Coefficients:
ar1 ma1
0.9148 -0.4967
s.e. 0.0155 0.0320
sigma^2 estimated as 1892: log likelihood=-5481.93
AIC=10969.86 AICc=10969.89 BIC=10984.75
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 0.1942746 41.61086 15.38138 -8.836059 24.55919 0.49834 -0.02253845
Примечание: Я не позволил сделать данные доступными , Но я был бы рад предоставить больше результатов или выполнить измененные вызовы функций, если это необходимо.
EDIT: Теперь я посмотрел исходный код auto.arima и выяснил, что поведение вызвано проверкой корней, которая устанавливает критерий информации, используемый для выбора модели Inf, если модель не проверит проверку. Документ, цитируемый в справочной системе для auto.arima, подтверждает, что (Hyndman, RJ and Khandakar, Y. (2008) «Автоматическое прогнозирование временных рядов: пакет прогнозов для R», журнал статистического программного обеспечения, 26 (3), стр. 11) , Извините за вопрос, я должен был прочитать статью, прежде чем задавать здесь вопрос!
Спасибо за ваш ответ! Как я писал в вопросе внизу (часть EDIT), я понял это, посмотрев исходный код и документ, упомянутый в справке для auto.arima. Извините еще раз за вопрос, прежде чем читать статью, упомянутую в справке! Я принял ваш ответ. – Lila