Modèles SARIMA

Modèles ARIMA en Python

James Fulton

Climate informatics researcher

Le modèle SARIMA

ARIMA saisonnier = SARIMA

  • Ordres non saisonniers
    • p : ordre autorégressif
    • d : ordre de différenciation
    • q : ordre de moyenne mobile

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

  • Ordres saisonniers
    • P : ordre autorégressif saisonnier
    • D : ordre de différenciation saisonnière
    • Q : ordre de moyenne mobile saisonnière
    • S : nombre de pas de temps par cycle
Modèles ARIMA en Python

Le modèle SARIMA

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

Modèle 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$$

Modèles ARIMA en Python

Ajuster un modèle SARIMA

# Imports
statsmodels.tsa.statespace.sarimax import SARIMAX

# Instancier le modèle model = SARIMAX(df, order=(p,d,q), seasonal_order=(P,D,Q,S))
# Ajuster le modèle results = model.fit()
Modèles ARIMA en Python

Différenciation saisonnière

Soustraire la valeur de la série d'une saison plus tôt

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

# Prendre la différence saisonnière
df_diff = df.diff(S)
Modèles ARIMA en Python

Différenciation pour les modèles SARIMA

Série chronologique

Modèles ARIMA en Python

Différenciation pour les modèles SARIMA

Première différence de la série

Modèles ARIMA en Python

Différenciation pour les modèles SARIMA

Première différence et première différence saisonnière de la série

Modèles ARIMA en Python

Trouver p et q

Modèles ARIMA en Python

Trouver P et Q

Modèles ARIMA en Python

Tracer l'ACF et la PACF saisonnières

# Créer la figure
fig, (ax1, ax2) = plt.subplots(2,1)

# Tracer l'ACF saisonnière
plot_acf(df_diff,  lags=[12,24,36,48,60,72], ax=ax1)

# Tracer la PACF saisonnière
plot_pacf(df_diff, lags=[12,24,36,48,60,72], ax=ax2)

plt.show()
Modèles ARIMA en Python

Passons à la pratique !

Modèles ARIMA en Python

Preparing Video For Download...