He estado tratando de aprender y aplicar los modelos ARIMA. He estado leyendo un excelente texto sobre ARIMA de Pankratz - Pronósticos con caja univariante - Modelos Jenkins: conceptos y casos . En el texto, el autor enfatiza especialmente el principio de parsimonia en la elección de los modelos ARIMA.
Empecé a jugar con la auto.arima()función en R paquete de pronóstico . Esto es lo que hice, simulé ARIMA y luego apliqué auto.arima(). A continuación hay 2 ejemplos. Como puede ver en ambos ejemplos auto.arima(), identificó claramente un modelo que muchos considerarían no parsimonioso. Especialmente en el ejemplo 2, donde se auto.arima()identificó ARIMA (3,0,3) cuando en realidad ARIMA (1,0,1) sería suficiente y parsimonioso.
A continuación están mis preguntas. Agradecería cualquier sugerencia y recomendación.
- ¿Hay alguna guía sobre cuándo usar / modificar los modelos identificados usando algoritmos automáticos tales como
auto.arima()? - ¿Hay algún problema con solo usar AIC (que es lo que creo que
auto.arima()usa) para identificar modelos? - ¿Se puede construir un algoritmo automático que sea parsimonioso?
Por cierto lo usé auto.arima()solo como ejemplo. Esto se aplicaría a cualquier algoritmo automático.
A continuación se muestra el Ejemplo # 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
A continuación se muestran los resultados de auto.arima(). Tenga en cuenta que todos los coeficientes son insignificantes. es decir, 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
A continuación se muestran los resultados de la ejecución regular arima()con el 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
Ejemplo 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
A continuación se muestran los 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
A continuación se muestran los resultados que se ejecutan regularmente arima()con el 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








