Předpovídání pomocí AR modelu
Kromě odhadování parametrů modelu, které jsi dělal/a v předchozím cvičení, můžeš také provádět předpovědi – jak in-sample, tak out-of-sample – pomocí knihovny statsmodels. In-sample předpověď odhaduje následující datový bod na základě dat až do daného okamžiku, zatímco out-of-sample předpověď odhaduje libovolný počet datových bodů v budoucnosti. Předpovězená data můžeš vizualizovat pomocí funkce plot_predict(). Zadáš počáteční bod předpovědi a koncový bod, který může být libovolně daleko za koncem datové sady.
Pro simulovaná data v DataFrame simulated_data_1 s hodnotou \(\small \phi=0.9\) vykreslíš out-of-sample předpovědi spolu s intervaly spolehlivosti.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Importuj třídu
ARIMAa funkciplot_predict - Vytvoř instanci třídy
ARIMAs názvemmodze simulovaných dat v DataFramesimulated_data_1a zadej řád (p,d,q) modelu (v tomto případě AR(1)):order=(1,0,0) - Natrénuj model
modpomocí metody.fit()a výsledek ulož do objektures - Vykresli in-sample data počínaje datovým bodem 950
- Vykresli out-of-sample předpovědi a intervaly spolehlivosti pomocí funkce
plot_predict()– začni tam, kde data končí, tedy od 1000. bodu, a ukonči předpověď na bodě 1010
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 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()