Kom igångKom igång gratis

Skatta modellens ordning: informationskriterier

Ett annat verktyg för att identifiera en modells ordning är att titta på Akaikes informationskriterium (AIC) och det bayesianska informationskriteriet (BIC). Dessa mått beräknar hur väl modellen passar data givet de skattade parametrarna, men tillämpar en straffterm på antalet parametrar i modellen. Du tar de AR(2)-simulerade data från föregående övning, sparade som simulated_data_2, och beräknar BIC medan du varierar ordningen p i en AR(p)-modell från 0 till 6.

Den här övningen är en del av kursen

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Importera ARIMA-modulen för att skatta parametrarna och beräkna BIC.
  • Initiera en numpy-array BIC, som vi använder för att lagra BIC-värdet för varje AR(p)-modell.
  • Loopa igenom ordningen p för p = 0,…,6.
    • Anpassa för varje p datan till en AR-modell av ordning p.
    • Spara för varje p BIC-värdet med attributet .bic (inga parenteser) på res.
  • Plotta BIC som funktion av p (hoppa över p=0 i plottet och plotta för p=1,…,6).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod