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 de exercício
- Importe a classe
ARIMA
e também importe a funçãoplot_predict
- Crie uma instância da classe
ARIMA
chamadamod
usando os dados simulados no DataFramesimulated_data_1
e a ordem (p,d,q) do modelo (nesse caso, para um AR(1)),order=(1,0,0)
- Ajuste o modelo
mod
usando 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 preenchendo 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()