Previsão com um modelo AR
Além de estimar os parâmetros de um modelo, como você fez no último exercício, também é possível fazer previsões, tanto dentro quanto fora da amostra, usando statsmodels. O dentro da amostra é uma previsão do próximo ponto de dados usando os dados até aquele ponto, e o fora da amostra prevê qualquer número de pontos de dados no futuro. Você pode plotar os dados previstos usando a função plot_predict(). Você fornece o ponto inicial para a previsão e o ponto final, que pode ser qualquer número de pontos de dados após o término do conjunto de dados.
Para os dados simulados no DataFrame simulated_data_1, com \(\small \phi=0,9\), você traçará previsões fora da amostra e intervalos de confiança em torno dessas previsões.
Este exercício faz parte do curso
Análise de séries temporais em Python
Instruções do exercício
- Importe a classe
ARIMAe também importe a funçãoplot_predict - Crie uma instância da classe
ARIMAchamadamodusando os dados simulados no DataFramesimulated_data_1e a ordem (p,d,q) do modelo (nesse caso, para um AR(1)),order=(1,0,0) - Ajuste o modelo
modusando o método.fit()e salve-o em um objeto de resultados chamadores - Trace os dados da amostra começando com o ponto de dados 950
- Trace previsões fora da amostra dos dados e intervalos de confiança usando a função
plot_predict(), começando onde os dados terminam, no milésimo ponto, e terminando a previsão no ponto 1010
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()