LoslegenKostenlos loslegen

Welches ARMA-Modell ist am besten?

Erinnere dich an Kapitel 3: Das Akaike-Informationskriterium (AIC) kann verwendet werden, um Modelle mit unterschiedlich vielen Parametern zu vergleichen. Es misst die Güte der Anpassung, bestraft aber Modelle mit mehr Parametern, um Overfitting zu vermeiden. Niedrigere AIC-Werte sind besser.

Fitte die Temperaturdaten mit einem AR(1), AR(2) und ARMA(1,1) und prüfe anhand des AIC-Kriteriums, welches Modell am besten passt. Die Modelle AR(2) und ARMA(1,1) haben jeweils einen Parameter mehr als AR(1).

Die jährliche Temperaturänderung befindet sich in einem DataFrame chg_temp.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge für jedes ARMA-Modell eine Instanz der ARIMA-Klasse und übergib die Daten sowie order=(p,d,q). p ist die Ordnung der Autoregression, q die Ordnung der gleitenden Durchschnitte (Moving Average), d die Anzahl der Differenzierungen der Serie.
  • Fitte das Modell mit der Methode .fit().
  • Gib den AIC-Wert aus, der im Element .aic der Ergebnisse zu finden ist.

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(1) model and print AIC:
mod_ar1 = ARIMA(chg_temp, order=(___, 0, 0))
res_ar1 = mod_ar1.fit()
print("The AIC for an AR(1) is: ", res_ar1.aic)

# Fit the data to an AR(2) model and print AIC:
mod_ar2 = ARIMA(chg_temp, order=(___, ___, ___))
res_ar2 = mod_ar2.___
print("The AIC for an AR(2) is: ", res_ar2.aic)

# Fit the data to an ARMA(1,1) model and print AIC:
mod_arma11 = ___
res_arma11 = ___
print("The AIC for an ARMA(1,1) is: ", ___)
Code bearbeiten und ausführen