CommencezCommencez gratuitement

Estimer l'ordre du modèle : critères d'information

Un autre moyen de déterminer l'ordre d'un modèle consiste à examiner l'Akaike Information Criterion (AIC) et le Bayesian Information Criterion (BIC). Ces mesures évaluent la qualité de l'ajustement avec les paramètres estimés, mais appliquent une pénalité selon le nombre de paramètres du modèle. À partir des données simulées AR(2) du dernier exercice, enregistrées sous simulated_data_2, vous allez calculer le BIC en faisant varier l'ordre p dans un AR(p) de 0 à 6.

Cette activité fait partie du cours

Analyse des séries chronologiques en Python

Voir le cours

Instructions de l’exercice

  • Importez le module ARIMA pour estimer les paramètres et calculer le BIC.
  • Initialisez un tableau numpy BIC, que nous utiliserons pour stocker le BIC pour chaque modèle AR(p).
  • Parcourez les ordres p pour p = 0,…,6.
    • Pour chaque p, ajustez les données à un modèle AR d'ordre p.
    • Pour chaque p, enregistrez la valeur du BIC à l'aide de l'attribut .bic (sans parenthèses) de res.
  • Tracez le BIC en fonction de p (pour le graphique, ignorez p=0 et tracez pour p=1,…,6).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code