ÎncepețiÎncepe gratuit

Estimarea ordinului modelului: criterii de informație

Un alt instrument pentru identificarea ordinului unui model este Criteriul de Informație Akaike (AIC) și Criteriul de Informație Bayesian (BIC). Aceste măsuri evaluează calitatea ajustării cu parametrii estimați, aplicând totodată o penalizare în funcție de numărul de parametri din model. Vei folosi datele simulate AR(2) din exercițiul anterior, salvate ca simulated_data_2, și vei calcula BIC variind ordinul p într-un model AR(p) de la 0 la 6.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă modulul ARIMA pentru estimarea parametrilor și calcularea BIC.
  • Inițializează un array numpy BIC, pe care îl vom folosi pentru a stoca BIC pentru fiecare model AR(p).
  • Parcurge ordinul p pentru p = 0,…,6.
    • Pentru fiecare p, ajustează datele la un model AR de ordin p.
    • Pentru fiecare p, salvează valoarea BIC folosind atributul .bic (fără paranteze) al lui res.
  • Reprezintă grafic BIC în funcție de p (pentru grafic, omite p=0 și trasează pentru p=1,…,6).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul