Introdução aos modelos AR, MA e ARMA

Modelos ARIMA em Python

James Fulton

Climate informatics researcher

Modelos AR

Modelo autorregressivo (AR)

Modelo AR(1): $$y_t = a_1 y_{t-1} + \epsilon_t$$

Modelos ARIMA em Python

Modelos AR

Modelo autorregressivo (AR)

Modelo AR(1): $$y_t = a_1 y_{t-1} + \epsilon_t$$

Modelo AR(2): $$y_t = a_1 y_{t-1} + a_2 y_{t-2} + \epsilon_t$$

Modelo AR(p): $$y_t = a_1 y_{t-1} + a_2 y_{t-2} + ... + a_p y_{t-p} + \epsilon_t$$

Modelos ARIMA em Python

Modelos MA

Modelo de média móvel (MA)

Modelo MA(1): $$y_t = m_1 \epsilon_{t-1} + \epsilon_t$$

Modelo MA(2): $$y_t = m_1 \epsilon_{t-1} + m_2 \epsilon_{t-2} + \epsilon_t$$

Modelo MA(q): $$y_t = m_1 \epsilon_{t-1} + m_2 \epsilon_{t-2} + ... + m_q \epsilon_{t-q} + \epsilon_t$$

Modelos ARIMA em Python

Modelos ARMA

Modelo autorregressivo de média móvel (ARMA)

  • ARMA = AR + MA

Modelo ARMA(1,1): $$y_t = a_1 y_{t-1} + m_1 \epsilon_{t-1} + \epsilon_t$$

ARMA(p, q)

  • p é a ordem da parte AR
  • q é a ordem da parte MA
Modelos ARIMA em Python

Criando dados ARMA

$$y_t = a_1 y_{t-1} + m_1 \epsilon_{t-1} + \epsilon_t$$

Modelos ARIMA em Python

Criando dados ARMA

$$y_t = 0.5 y_{t-1} + 0.2 \epsilon_{t-1} + \epsilon_t$$

from statsmodels.tsa.arima_process import arma_generate_sample

ar_coefs = [1, -0.5] ma_coefs = [1, 0.2]
y = arma_generate_sample(ar_coefs, ma_coefs, nsample=100, scale=0.5)
Modelos ARIMA em Python

Criando dados ARMA

$$y_t = 0.5 y_{t-1} + 0.2 \epsilon_{t-1} + \epsilon_t$$

Modelos ARIMA em Python

Ajustando um modelo ARMA

from statsmodels.tsa.arima.model import ARIMA

# Instanciar o objeto do modelo model = ARIMA(y, order=(1,0,1))
# Ajustar o modelo results = model.fit()
Modelos ARIMA em Python

Vamos praticar!

Modelos ARIMA em Python

Preparing Video For Download...