Prévision avec un modèle MA
Comme vous l'avez fait avec les modèles AR, vous allez utiliser des modèles MA pour produire des prévisions à l'intérieur de l'échantillon et hors échantillon à l'aide de la fonction plot_predict() de statsmodels.
Pour la série simulée simulated_data_1 avec \(\small \theta=-0{,}9\), vous tracerez des prévisions intra-échantillon et hors échantillon. Une grande différence que vous observerez entre les prévisions hors échantillon d'un modèle MA(1) et celles d'un modèle AR(1) est que, au-delà d'une période dans le futur, les prévisions MA(1) se réduisent simplement à la moyenne de l'échantillon.
Cette activité fait partie du cours
Analyse des séries chronologiques en Python
Instructions de l’exercice
- Importez la classe
ARIMAet la fonctionplot_predict. - Créez une instance de la classe
ARIMAappeléemodà partir des données simuléessimulated_data_1et de l'ordre (p,d,q) du modèle (ici, pour un MA(1)),order=(0,0,1). - Ajustez le modèle
modavec la méthode.fit()et enregistrez le résultat dans un objet de résultats nomméres. - Tracez les données intra-échantillon à partir du point de données 950.
- Tracez les prévisions hors échantillon et les intervalles de confiance à l'aide de la fonction
plot_predict(), en commençant au point de données 950 et en terminant la prévision au point 1010.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 MA(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()