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