EmpezarEmpieza gratis

¿Qué modelo ARMA es mejor?

Recuerda del Capítulo 3 que el Criterio de Información de Akaike (AIC) sirve para comparar modelos con distinto número de parámetros. Mide el ajuste del modelo, pero penaliza a los que tienen más parámetros para evitar el sobreajuste. Un AIC más bajo es mejor.

Ajusta los datos de temperatura con un AR(1), AR(2) y ARMA(1,1) y comprueba cuál se ajusta mejor usando el criterio AIC. Los modelos AR(2) y ARMA(1,1) tienen un parámetro más que el AR(1).

El cambio anual de la temperatura está en un DataFrame chg_temp.

Este ejercicio forma parte del curso

Análisis de series temporales en Python

Ver curso

Instrucciones del ejercicio

  • Para cada modelo ARMA, crea una instancia de la clase ARIMA, pasando los datos y el order=(p,d,q). p es el orden autorregresivo; q es el orden de media móvil; d es el número de veces que se ha diferenciado la serie.
  • Ajusta el modelo usando el método .fit().
  • Imprime el valor del AIC, disponible en el elemento .aic de los resultados.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Import the module for estimating an ARIMA model
from statsmodels.tsa.arima.model import ARIMA

# Fit the data to an AR(1) model and print AIC:
mod_ar1 = ARIMA(chg_temp, order=(___, 0, 0))
res_ar1 = mod_ar1.fit()
print("The AIC for an AR(1) is: ", res_ar1.aic)

# Fit the data to an AR(2) model and print AIC:
mod_ar2 = ARIMA(chg_temp, order=(___, ___, ___))
res_ar2 = mod_ar2.___
print("The AIC for an AR(2) is: ", res_ar2.aic)

# Fit the data to an ARMA(1,1) model and print AIC:
mod_arma11 = ___
res_arma11 = ___
print("The AIC for an ARMA(1,1) is: ", ___)
Editar y ejecutar código