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
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 luires.
- 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()