Prévisions avec un modèle AR
En plus d’estimer les paramètres d’un modèle comme vous l’avez fait dans l’exercice précédent, vous pouvez aussi réaliser des prévisions, à la fois intra-échantillon et hors échantillon avec statsmodels. La prévision intra-échantillon estime le point suivant en utilisant les données disponibles jusqu’à ce point, et la prévision hors échantillon anticipe un nombre quelconque de points futurs. Vous pouvez tracer les valeurs prévues avec la fonction plot_predict(). Vous fournissez le point de départ et le point de fin des prévisions, qui peut se situer après la fin de l’ensemble de données (en nombre de points).
Pour les données simulées dans le DataFrame simulated_data_1, avec \(\small \phi=0.9\), vous allez tracer des prévisions hors échantillon et des intervalles de confiance autour de ces prévisions.
Cet exercice fait partie du cours
Analyse des séries temporelles en Python
Instructions
- Importez la classe
ARIMAet la fonctionplot_predict - Créez une instance de la classe
ARIMAappeléemoden utilisant les données simulées du DataFramesimulated_data_1et l’ordre (p,d,q) du modèle (ici, pour un AR(1)),order=(1,0,0) - Ajustez le modèle
modavec la méthode.fit()et enregistrez le résultat dans un objetres - Tracez les données intra-échantillon en commençant au point 950
- Tracez des prévisions hors échantillon et leurs intervalles de confiance avec la fonction
plot_predict(), en démarrant là où les données se terminent au 1000e point, et en finissant la prévision au point 1010
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()