Kom igångKom igång gratis

Prognostisering med en AR-modell

Förutom att skatta parametrarna i en modell, som du gjorde i förra övningen, kan du även göra prognoser – både in-sample och out-of-sample – med statsmodels. In-sample-prognosen förutsäger nästa datapunkt utifrån alla data fram till den punkten, medan out-of-sample-prognosen förutsäger valfritt antal datapunkter framåt i tiden. Du kan visualisera prognoserna med funktionen plot_predict(). Du anger en startpunkt och en slutpunkt, där slutpunkten kan ligga hur långt efter datamängdens slut som helst.

För de simulerade data i DataFrame simulated_data_1, med \(\small \phi=0.9\), ska du rita ut out-of-sample-prognoser samt konfidensintervall runt dessa.

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

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Importera klassen ARIMA och funktionen plot_predict
  • Skapa en instans av klassen ARIMA som du kallar mod, med de simulerade data i DataFrame simulated_data_1 och modellordningen (p,d,q) – i det här fallet för en AR(1): order=(1,0,0)
  • Anpassa modellen mod med metoden .fit() och spara resultatet i ett resultatobjekt som du kallar res
  • Rita in-sample-data med start från datapunkt 950
  • Rita out-of-sample-prognoser och konfidensintervall med funktionen plot_predict(), med start vid datamängdens slut vid den 1 000:e punkten och med prognosen avslutad vid punkt 1 010

Interaktiv övning med praktiskt arbete

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

# Import the ARIMA and plot_predict from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict

# Forecast the first AR(1) model
mod = ARIMA(___, order=___)
res = mod.fit()

# Plot the data and the forecast
fig, ax = plt.subplots()
simulated_data_1.loc[950:].plot(ax=ax)
plot_predict(res, start=___, end=___, ax=ax)
plt.show()
Redigera och kör kod