Previsión con un modelo AR
Además de estimar los parámetros de un modelo, como hiciste en el último ejercicio, también puedes hacer previsiones, tanto dentro como fuera de la muestra, utilizando statsmodels. La dentro de la muestra es una previsión del siguiente punto de datos utilizando los datos hasta ese punto, y la fuera de la muestra prevé cualquier número de puntos de datos en el futuro. Puedes trazar los datos previstos utilizando la función plot_predict()
. Tú suministras el punto inicial de la previsión y el punto final, que puede ser cualquier número de puntos de datos después de que termine el conjunto de datos.
Para los datos simulados en el DataFrame simulated_data_1
, con \(\small \phi=0,9\), trazarás previsiones fuera de muestra e intervalos de confianza en torno a esas previsiones.
Este ejercicio forma parte del curso
Análisis de Series Temporales en Python
Instrucciones del ejercicio
- Importa la clase
ARIMA
e importa también la funciónplot_predict
- Crea una instancia de la clase
ARIMA
llamadamod
utilizando los datos simulados en el DataFramesimulated_data_1
y el orden (p,d,q) del modelo (en este caso, para un AR(1)),order=(1,0,0)
- Ajusta el modelo
mod
utilizando el método.fit()
y guárdalo en un objeto de resultados llamadores
- Traza los datos de la muestra a partir del punto 950
- Traza previsiones fuera de muestra de los datos y los intervalos de confianza utilizando la función
plot_predict()
, empezando donde terminan los datos en el punto 1000 y terminando la previsión en el punto 1010.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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()