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
Oefeninstructies
- Importeer de klasse
ARIMAen importeer ook de functieplot_predict - Maak een instantie van de klasse
ARIMAmet de gesimuleerde data in DataFramesimulated_data_1en de orde (p,d,q) van het model (in dit geval, voor een AR(1)),order=(1,0,0), en noem dezemod - Fit het model
modmet de methode.fit()en sla het op in een resultatenobjectres - 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()