LoslegenKostenlos loslegen

Modellordnung schätzen: Informationskriterien

Ein weiteres Werkzeug zur Bestimmung der Modellordnung sind das Akaike-Informationskriterium (AIC) und das Bayes’sche Informationskriterium (BIC). Diese Maße bewerten die Güte der Anpassung mit den geschätzten Parametern, wenden aber eine Strafterm-Funktion auf die Anzahl der Parameter im Modell an. Du nimmst die in der letzten Übung simulierten AR(2)-Daten, gespeichert als simulated_data_2, und berechnest das BIC, während du die Ordnung p in einem AR(p) von 0 bis 6 variierst.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere das ARIMA-Modul, um die Parameter zu schätzen und das BIC zu berechnen.
  • Initialisiere ein numpy-Array BIC, das wir verwenden, um das BIC für jedes AR(p)-Modell zu speichern.
  • Schleife über die Ordnung p für p = 0,…,6.
    • Passe für jedes p die Daten an ein AR-Modell der Ordnung p an.
    • Speichere für jedes p den Wert des BIC über das Attribut .bic (ohne Klammern) von res.
  • Zeichne das BIC als Funktion von p (für den Plot p=0 überspringen und für p=1,…,6 plotten).

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen