Modelos SARIMA

Modelos ARIMA en Python

James Fulton

Climate informatics researcher

El modelo SARIMA

ARIMA estacional = SARIMA

  • Órdenes no estacionales
    • p: orden autorregresivo
    • d: orden de diferenciación
    • q: orden de media móvil

SARIMA(p,d,q)(P,D,Q)$_S$

  • Órdenes estacionales
    • P: orden autorregresivo estacional
    • D: orden de diferenciación estacional
    • Q: orden de media móvil estacional
    • S: número de pasos por ciclo
Modelos ARIMA en Python

El modelo SARIMA

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

Modelo SARIMA(0,0,0)(2,0,1)$_7$: $$y_t = a_7 y_{t-7} + a_{14} y_{t-14} + m_7 \epsilon_{t-7} + \epsilon_t$$

Modelos ARIMA en Python

Ajustar un modelo SARIMA

# Imports
statsmodels.tsa.statespace.sarimax import SARIMAX

# Instantiate model model = SARIMAX(df, order=(p,d,q), seasonal_order=(P,D,Q,S))
# Fit model results = model.fit()
Modelos ARIMA en Python

Diferenciación estacional

Resta el valor de la serie de hace una temporada

$$\Delta y_t = y_t - y_{t-S}$$

# Diferencia estacional
df_diff = df.diff(S)
Modelos ARIMA en Python

Diferenciación para modelos SARIMA

Serie temporal

Modelos ARIMA en Python

Diferenciación para modelos SARIMA

Primera diferencia de la serie temporal

Modelos ARIMA en Python

Diferenciación para modelos SARIMA

Primera diferencia y primera diferencia estacional de la serie

Modelos ARIMA en Python

Cómo encontrar p y q

Modelos ARIMA en Python

Cómo encontrar P y Q

Modelos ARIMA en Python

Gráficas ACF y PACF estacionales

# Create figure
fig, (ax1, ax2) = plt.subplots(2,1)

# Plot seasonal ACF
plot_acf(df_diff,  lags=[12,24,36,48,60,72], ax=ax1)

# Plot seasonal PACF
plot_pacf(df_diff, lags=[12,24,36,48,60,72], ax=ax2)

plt.show()
Modelos ARIMA en Python

¡Vamos a practicar!

Modelos ARIMA en Python

Preparing Video For Download...