Aan de slagGa gratis aan de slag

Voorspellen met een AR-model

Naast het schatten van de parameters van een model, wat je in de vorige oefening hebt gedaan, kun je met statsmodels ook voorspellingen maken: zowel in-sample als out-of-sample. In-sample betekent: de volgende datapunt voorspellen met alle data tot en met dat punt. Out-of-sample betekent: een willekeurig aantal toekomstige datapunten voorspellen. Je kunt de voorspelde data plotten met de functie plot_predict(). Je geeft daarbij het startpunt en eindpunt van de voorspelling op; dat eindpunt mag verder liggen dan het einde van de gegevensset.

Voor de gesimuleerde data in DataFrame simulated_data_1, met \(\small \phi=0.9\), ga je out-of-sample voorspellingen en betrouwbaarheidsintervallen rondom die voorspellingen plotten.

Deze oefening maakt deel uit van de cursus

Tijdreeksanalyse in Python

Cursus bekijken

Oefeninstructies

  • Importeer de klasse ARIMA en importeer ook de functie plot_predict
  • Maak een instantie van de klasse ARIMA met de gesimuleerde data in DataFrame simulated_data_1 en de orde (p,d,q) van het model (in dit geval, voor een AR(1)), order=(1,0,0), en noem deze mod
  • Fit het model mod met de methode .fit() en sla het op in een resultatenobject res
  • Plot de in-sample data beginnend bij datapunt 950
  • Plot out-of-sample voorspellingen en betrouwbaarheidsintervallen met de functie plot_predict(), vanaf het einde van de data bij het 1000e punt, en eindig de voorspelling bij punt 1010

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren