Predicción con modelo MA
Como hiciste con los modelos AR, usarás modelos MA para predecir dentro y fuera de la muestra con la función plot_predict() de statsmodels.
Para la serie simulada simulated_data_1 con \(\small \theta=-0.9\), representarás las predicciones dentro y fuera de la muestra. Una gran diferencia que verás entre las predicciones fuera de la muestra con un modelo MA(1) y un modelo AR(1) es que, a más de un período en el futuro, las predicciones de MA(1) son simplemente la media de la muestra.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Importa la clase
ARIMAy también la funciónplot_predict - Crea una instancia de la clase
ARIMAllamadamodusando los datos simuladossimulated_data_1y el orden (p,d,q) del modelo (en este caso, para un MA(1)),order=(0,0,1) - Ajusta el modelo
modusando el método.fit()y guárdalo en un objeto de resultados llamadores - Representa los datos dentro de la muestra empezando en el punto 950
- Representa las predicciones fuera de la muestra de los datos y los intervalos de confianza usando la función
plot_predict(), empezando en el punto 950 y terminando la predicción en el punto 1010
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()