Zacznij terazZacznij za darmo

Prognozowanie za pomocą modelu AR

Oprócz estymacji parametrów modelu, którą wykonywałeś w poprzednim ćwiczeniu, możesz również tworzyć prognozy – zarówno wewnątrz próby (in-sample), jak i poza próbą (out-of-sample) – korzystając z biblioteki statsmodels. Prognoza in-sample dotyczy kolejnego punktu danych na podstawie danych do danego momentu, natomiast prognoza out-of-sample obejmuje dowolną liczbę punktów w przyszłości. Prognozowane dane możesz zwizualizować za pomocą funkcji plot_predict(). Wystarczy podać punkt startowy i końcowy prognozy – punkt końcowy może znajdować się dowolnie daleko poza zbiorem danych.

Dla danych symulowanych w ramce danych simulated_data_1, gdzie \(\small \phi=0.9\), narysuj prognozy out-of-sample wraz z przedziałami ufności.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj klasę ARIMA oraz funkcję plot_predict
  • Utwórz instancję klasy ARIMA o nazwie mod, korzystając z danych symulowanych w ramce danych simulated_data_1 i rzędu (p,d,q) modelu (w tym przypadku dla AR(1)): order=(1,0,0)
  • Dopasuj model mod metodą .fit() i zapisz wyniki w obiekcie res
  • Narysuj dane in-sample, zaczynając od punktu danych nr 950
  • Narysuj prognozy out-of-sample wraz z przedziałami ufności za pomocą funkcji plot_predict(), zaczynając tam, gdzie kończą się dane – od punktu 1000 – i kończąc prognozę w punkcie 1010

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod