ComeçarComece de graça

Previsões simples a partir de um modelo AR estimado

Agora que você modelou seus dados usando o comando arima(), está pronto para fazer previsões simples com base no seu modelo. A função predict() pode ser usada para gerar previsões a partir de um modelo AR estimado. No objeto gerado pelo seu comando predict(), o valor $pred é a previsão e o valor $se é o erro-padrão da previsão.

Para fazer previsões para vários períodos além das últimas observações, você pode usar o argumento n.ahead no seu comando predict(). Esse argumento define o horizonte de previsão (h), ou o número de períodos a serem previstos. As previsões são feitas de forma recursiva de 1 até h passos à frente a partir do final da série temporal observada.

Neste exercício, você fará previsões simples usando um modelo AR aplicado aos dados Nile, que registram observações anuais da vazão do Rio Nilo de 1871 a 1970.

Este exercício faz parte do curso

Análise de Séries Temporais em R

Ver curso

Instruções do exercício

  • Use arima() para ajustar um modelo AR à série temporal Nile. Salve como AR_fit.
  • Use predict() para fazer uma previsão da vazão do Nilo em 1971.
  • Use predict_AR junto com $pred[1] para obter a previsão de 1 passo à frente.
  • Faça outra chamada a predict() para gerar previsões de 1 até 10 passos à frente (1971 a 1980). Para isso, defina o argumento n.ahead igual a 10.
  • Execute o código pré-escrito para plotar seus dados Nile mais as previsões e um intervalo de previsão de 95%.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Fit an AR model to Nile
AR_fit <- arima(___, order  = ___)
print(AR_fit)

# Use predict() to make a 1-step forecast
predict_AR <- predict(___)

# Obtain the 1-step forecast using $pred[1]


# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)

# Run to plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
AR_forecast <- predict(AR_fit, n.ahead = 10)$pred
AR_forecast_se <- predict(AR_fit, n.ahead = 10)$se
points(AR_forecast, type = "l", col = 2)
points(AR_forecast - 2*AR_forecast_se, type = "l", col = 2, lty = 2)
points(AR_forecast + 2*AR_forecast_se, type = "l", col = 2, lty = 2)
Editar e executar o código