Ordem de estimativa do modelo: Critérios de informação
Outra ferramenta para identificar a ordem de um modelo é examinar o Critério de Informação de Akaike (AIC) e o Critério de Informação Bayesiano (BIC). Essas medidas calculam a qualidade do ajuste com os parâmetros estimados, mas aplicam uma função de penalidade no número de parâmetros do modelo. Você pegará os dados simulados AR(2) do último exercício, salvos como simulated_data_2
, e calculará o BIC à medida que variar a ordem, p, em um AR(p) de 0 a 6.
Este exercício faz parte do curso
Análise de séries temporais em Python
Instruções de exercício
Importe o módulo ARIMA para estimar os parâmetros e calcular BIC.
Inicialize uma matriz numpy
BIC
, que usaremos para armazenar o BIC para cada modelo AR(p).Faça um loop pela ordem p para p = 0,…,6.
Para cada p, ajuste os dados a um modelo AR de ordem p.
Para cada p, salve o valor de BIC usando o atributo
.bic
(sem parênteses) deres
.
Faça o gráfico de BIC como uma função de p (para o gráfico, ignore p=0 e faça o gráfico para p=1,…6).
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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()