Modelos ARIMA em Python
James Fulton
Climate informatics researcher
Considere um modelo AR(1)
$y_t = a_1 y_{t-1} + \epsilon_t$
Prever o próximo valor
$y_t = 0.6\; \text{x} \; 10 + \epsilon_t$
$y_t = 6.0 + \epsilon_t$
Incerteza da previsão
$ 5.0 < y_t < 7.0$

# Fazer previsões para os últimos 25 valores results = model.fit()# Previsão dentro da amostra forecast = results.get_prediction(start=-25)
# Fazer previsões para os últimos 25 valores results = model.fit()# Previsão dentro da amostra forecast = results.get_prediction(start=-25)# média da previsão mean_forecast = forecast.predicted_mean
A média prevista é uma série do pandas
2013-10-28 1.519368
2013-10-29 1.351082
2013-10-30 1.218016
# Obter intervalos de confiança das previsões
confidence_intervals = forecast.conf_int()
O método de intervalo de confiança retorna um DataFrame do pandas
lower y upper y
2013-09-28 -4.720471 -0.815384
2013-09-29 -5.069875 0.112505
2013-09-30 -5.232837 0.766300
2013-10-01 -5.305814 1.282935
2013-10-02 -5.326956 1.703974
plt.figure() # Plotar a previsão plt.plot(dates, mean_forecast.values, color='red', label='forecast')# Sombrear a área de incerteza plt.fill_between(dates, lower_limits, upper_limits, color='pink') plt.show()


results = model.fit()
forecast = results.get_prediction(start=-25, dynamic=True)
# média da previsão
mean_forecast = forecast.predicted_mean
# Obter intervalos de confiança das previsões
confidence_intervals = forecast.conf_int()
forecast = results.get_forecast(steps=20)
# média da previsão
mean_forecast = forecast.predicted_mean
# Obter intervalos de confiança das previsões
confidence_intervals = forecast.conf_int()
forecast = results.get_forecast(steps=20)

Modelos ARIMA em Python