Odhad řádu modelu: informační kritéria
Dalším nástrojem pro určení řádu modelu je Akaikeho informační kritérium (AIC) a Bayesovo informační kritérium (BIC). Tato kritéria měří kvalitu shody modelu s odhadnutými parametry, ale zároveň penalizují za příliš vysoký počet parametrů. Vezmeš simulovaná data AR(2) z předchozího cvičení, uložená jako simulated_data_2, a vypočítáš BIC pro různé hodnoty řádu p v modelu AR(p) od 0 do 6.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Importuj modul ARIMA pro odhad parametrů a výpočet BIC.
- Inicializuj numpy pole
BIC, do kterého budeme ukládat hodnotu BIC pro každý model AR(p). - Projdi smyčkou řády p pro p = 0,…,6.
- Pro každé p nafituj data na model AR řádu p.
- Pro každé p ulož hodnotu BIC pomocí atributu
.bic(bez závorek) objektures.
- Vykresli BIC jako funkci p (v grafu vynech p=0 a zobraz p=1,…,6).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()