CommencerCommencer gratuitement

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

Un autre moyen d’identifier l’ordre d’un modèle consiste à examiner l’Akaike Information Criterion (AIC) et le Bayesian Information Criterion (BIC). Ces critères évaluent la qualité d’ajustement avec les paramètres estimés, tout en appliquant une pénalité liée au nombre de paramètres du modèle. Vous allez reprendre les données simulées d’un AR(2) de l’exercice précédent, enregistrées sous simulated_data_2, et calculer le BIC en faisant varier l’ordre p d’un AR(p) de 0 à 6.

Cet exercice fait partie du cours

Analyse des séries temporelles en Python

Afficher le cours

Instructions

  • 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 de chaque modèle AR(p).
  • Bouclez sur l’ordre 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 en utilisant 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 cet exemple de code.

# 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