IniziaInizia gratis

Stima dell'ordine del modello: criteri informativi

Un altro strumento per identificare l'ordine di un modello è osservare l'Akaike Information Criterion (AIC) e il Bayesian Information Criterion (BIC). Queste misure calcolano la bontà dell'adattamento con i parametri stimati, ma applicano una funzione di penalizzazione al numero di parametri nel modello. Utilizzerai i dati simulati AR(2) dell'esercizio precedente, salvati come simulated_data_2, e calcolerai il BIC variando l'ordine, p, in un AR(p) da 0 a 6.

Questo esercizio fa parte del corso

Analisi delle serie temporali in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa il modulo ARIMA per stimare i parametri e calcolare il BIC.
  • Inizializza un array numpy BIC, che useremo per memorizzare il BIC per ciascun modello AR(p).
  • Fai un ciclo sull'ordine p per p = 0,…,6.
    • Per ogni p, adatta i dati a un modello AR di ordine p.
    • Per ogni p, salva il valore del BIC usando l'attributo .bic (senza parentesi) di res.
  • Traccia il BIC in funzione di p (per il grafico, salta p=0 e traccia per p=1,…,6).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice