ComeçarComece gratuitamente

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

Ver Curso

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) de res.

  • 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()
Editar e executar código