Začněte nyníZačněte zdarma

Který model ARMA je nejlepší?

Vzpomeň si z kapitoly 3, že Akaikovo informační kritérium (AIC) lze použít k porovnání modelů s různým počtem parametrů. Měří kvalitu přizpůsobení, ale penalizuje modely s více parametry, aby zabránilo přeučení. Čím nižší hodnota AIC, tím lepší.

Natrénuj teplotní data na modely AR(1), AR(2) a ARMA(1,1) a zjisti, který model nejlépe odpovídá datům podle kritéria AIC. Modely AR(2) a ARMA(1,1) mají o jeden parametr více než AR(1).

Roční změna teploty je uložena v DataFrame chg_temp.

Toto cvičení je součástí kurzu

Analýza časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Pro každý model ARMA vytvoř instanci třídy ARIMA, přičemž předáš data a parametr order=(p,d,q). p je řád autoregresní složky; q je řád složky klouzavého průměru; d je počet diferencování časové řady.
  • Model natrénuj pomocí metody .fit().
  • Vypiš hodnotu AIC, která se nachází v elementu .aic výsledků.

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(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: ", ___)
Upravit a spustit kód