Eu tenho tentado aprender e aplicar modelos ARIMA. Tenho lido um excelente texto sobre o ARIMA da Pankratz - Forecasting with Univariate Box - Jenkins Models: Concepts and Cases . No texto, o autor enfatiza especialmente o princípio da parcimônia na escolha dos modelos ARIMA.
Comecei a jogar com auto.arima()função em R pacote de previsão . Aqui está o que eu fiz, simulei o ARIMA e apliquei auto.arima(). Abaixo estão 2 exemplos. Como você pode ver nos dois exemplos auto.arima(), identificou claramente um modelo que muitos considerariam não parcimonioso. Especialmente no exemplo 2, onde auto.arima()ARIMA identificado (3,0,3) quando realmente ARIMA (1,0,1) seria suficiente e parcimonioso.
Abaixo estão minhas perguntas. Gostaria muito de receber sugestões e recomendações.
- Há alguma orientação sobre quando usar / modificar os modelos identificados usando algoritmos automáticos, como
auto.arima()? - Existe algum problema em usar o AIC (que é o que eu acho que
auto.arima()usa) para identificar modelos? - Pode ser construído um algoritmo automático parcimonioso?
A propósito, eu usei auto.arima()apenas como exemplo. Isso se aplica a qualquer algoritmo automático.
Abaixo está o Exemplo 1:
set.seed(182)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
Abaixo estão os resultados de auto.arima(). Observe que todos os coeficientes são insignificantes. ou seja, valor <2.
ARIMA(1,0,2) with non-zero mean
Coefficients:
ar1 ma1 ma2 intercept
0.5395 0.2109 -0.3385 19.9850
s.e. 0.4062 0.4160 0.3049 0.0878
sigma^2 estimated as 1.076: log likelihood=-728.14
AIC=1466.28 AICc=1466.41 BIC=1487.36
Abaixo estão os resultados da execução regular arima()com o pedido ARIMA (1,0,1)
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06
Exemplo 2:
set.seed(453)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
Abaixo estão os resultados de auto.arima():
ARIMA(3,0,3) with non-zero mean
Coefficients:
ar1 ar2 ar3 ma1 ma2 ma3 intercept
0.7541 -1.0606 0.2072 0.1391 0.5912 0.5491 20.0326
s.e. 0.0811 0.0666 0.0647 0.0725 0.0598 0.0636 0.0939
sigma^2 estimated as 1.027: log likelihood=-716.84
AIC=1449.67 AICc=1449.97 BIC=1483.39
Abaixo estão os resultados regulares arima()com o pedido ARIMA (1,0,1)
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06








