Orden estimada del modelo: Criterios de información
Otra herramienta para identificar el orden de un modelo es fijarse en el Criterio de Información de Akaike (AIC) y en el Criterio de Información Bayesiano (BIC). Estas medidas calculan la bondad del ajuste con los parámetros estimados, pero aplican una función de penalización sobre el número de parámetros del modelo. Tomarás los datos simulados AR(2) del último ejercicio, guardados como simulated_data_2
, y calcularás el BIC al variar 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 de ejercicio
- Importa el módulo ARIMA para estimar los parámetros y calcular el BIC.
- Inicializa una matriz numpy
BIC
, que utilizaremos para almacenar el BIC de cada modelo AR(p). - Recorre en bucle 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 utilizando el atributo
.bic
(sin paréntesis) deres
.
- Traza el BIC en función de p (para el gráfico, omite p=0 y traza para p=1,…6).
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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()