Estimar el orden del modelo: criterios de información
Otra herramienta para identificar el orden de un modelo es consultar el Criterio de Información de Akaike (AIC) y el Criterio de Información Bayesiano (BIC). Estas medidas calculan el ajuste del modelo con los parámetros estimados, pero aplican una penalización según el número de parámetros del modelo. Vas a tomar los datos simulados de un AR(2) del ejercicio anterior, guardados como simulated_data_2, y calcular el BIC mientras varías el orden, p, en un AR(p) de 0 a 6.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Importa el módulo ARIMA para estimar los parámetros y calcular el BIC.
- Inicializa un array de numpy
BIC, que usaremos para guardar el BIC de cada modelo AR(p). - Recorre el orden p para p = 0,…,6.
- Para cada p, ajusta los datos a un modelo AR de orden p.
- Para cada p, guarda el valor de BIC usando el atributo
.bic(sin paréntesis) deres.
- Representa BIC en función de p (para la gráfica, omite p=0 y dibuja para p=1,…,6).
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(p) for p = 0,...,6 , and save the BIC
BIC = np.zeros(7)
for p in range(7):
mod = ARIMA(simulated_data_2, order=(___,___,___))
res = mod.fit()
# Save BIC for AR(p)
BIC[p] = res.___
# Plot the BIC as a function of p
plt.plot(range(1,7), BIC[1:7], marker='o')
plt.xlabel('Order of AR Model')
plt.ylabel('Bayesian Information Criterion')
plt.show()