Introduction aux modèles ARIMA

Modèles ARIMA en Python

James Fulton

Climate informatics researcher

Rappel : séries chronologiques non stationnaires

Modèles ARIMA en Python

Rappel : séries chronologiques non stationnaires

Modèles ARIMA en Python

Prévision d'une série différenciée

Modèles ARIMA en Python

Reconstituer la série d'origine après différenciation

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast)
Modèles ARIMA en Python

Reconstituer la série d'origine après différenciation

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast) + df.iloc[-1,0]
Modèles ARIMA en Python

Reconstituer la série d'origine après différenciation

Modèles ARIMA en Python

Le modèle ARIMA

 

  • Prendre la différence
  • Ajuster un modèle ARMA
  • Intégrer la prévision

Peut-on éviter tout ce travail ?

Oui !

ARIMA – Auto-régressif intégré à moyenne mobile

Modèles ARIMA en Python

Utiliser le modèle ARIMA

from statsmodels.tsa.arima.model import ARIMA

model = ARIMA(df, order=(p,d,q))
  • p : nombre de retards auto-régressifs
  • d : ordre de différenciation
  • q : nombre de retards de moyenne mobile

ARIMA$(p,0,q)$ = ARMA$(p,q)$

Modèles ARIMA en Python

Utiliser le modèle ARIMA

# Créer le modèle
model = ARIMA(df, order=(2,1,1))

# Ajuster le modèle model.fit()
# Faire une prévision mean_forecast = results.get_forecast(steps=10).predicted_mean
Modèles ARIMA en Python

Utiliser le modèle ARIMA

# Faire une prévision
mean_forecast = results.get_forecast(steps=steps).predicted_mean

Modèles ARIMA en Python

Choisir l'ordre de différenciation

adf = adfuller(df.iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -2.674
p-value: 0.0784
adf = adfuller(df.diff().dropna().iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -4.978
p-value: 2.44e-05
Modèles ARIMA en Python

Choisir l'ordre de différenciation

model = ARIMA(df, order=(p,1,q))
Modèles ARIMA en Python

Passons à la pratique !

Modèles ARIMA en Python

Preparing Video For Download...