Pronóstico con un modelo AR
Además de estimar los parámetros de un modelo, como hiciste en el ejercicio anterior, también puedes realizar pronósticos, tanto dentro de la muestra como fuera de la muestra, usando statsmodels. El pronóstico dentro de la muestra es la predicción del siguiente punto usando los datos hasta ese momento, y el pronóstico fuera de la muestra predice cualquier número de puntos en el futuro. Puedes representar los datos pronosticados con la función plot_predict(). Solo tienes que indicar el punto inicial y el punto final del pronóstico, que puede estar cualquier número de observaciones después de que termine el conjunto de datos.
Para los datos simulados en el DataFrame simulated_data_1, con \(\small \phi=0.9\), vas a trazar pronósticos fuera de la muestra y los intervalos de confianza alrededor de esos pronósticos.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Importa la clase
ARIMAe importa también la funciónplot_predict - Crea una instancia de la clase
ARIMAllamadamodusando los datos simulados del DataFramesimulated_data_1y el orden (p,d,q) del modelo (en este caso, para un AR(1)),order=(1,0,0) - Ajusta el modelo
modcon el método.fit()y guarda el resultado en un objeto de resultados llamadores - Dibuja los datos dentro de la muestra empezando en el punto 950
- Dibuja los pronósticos fuera de la muestra y los intervalos de confianza con la función
plot_predict(), comenzando donde terminan los datos, en el punto 1000, y finalizando el pronóstico 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 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()