Automatisation et enregistrement

Modèles ARIMA en Python

James Fulton

Climate informatics researcher

Recherche des ordres du modèle

import pmdarima as pm
results = pm.auto_arima(df)
Recherche pas à pas pour minimiser l'aic
 ARIMA(2,0,2)(1,1,1)[12] intercept   : AIC=inf, Time=3.33 sec
 ARIMA(0,0,0)(0,1,0)[12] intercept   : AIC=2648.467, Time=0.062 sec
 ARIMA(1,0,0)(1,1,0)[12] intercept   : AIC=2279.986, Time=1.171 sec

 ...

 ARIMA(3,0,3)(1,1,1)[12] intercept   : AIC=2173.508, Time=12.487 sec
 ARIMA(3,0,3)(0,1,0)[12] intercept   : AIC=2297.305, Time=2.087 sec

Meilleur modèle :  ARIMA(3,0,3)(1,1,1)[12]
Durée totale d'ajustement : 245.812 secondes
Modèles ARIMA en Python

Résultats pmdarima

print(results.summary())

results.plot_diagnostics()

Modèles ARIMA en Python

Paramètres de recherche non saisonniers

Modèles ARIMA en Python

Paramètres de recherche non saisonniers

results = pm.auto_arima( df,             # données

d=0, # ordre de différenciation non saisonnier
start_p=1, # valeur initiale pour p start_q=1, # valeur initiale pour q
max_p=3, # valeur max de p à tester max_q=3, # valeur max de q à tester )
1 https://www.alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html
Modèles ARIMA en Python

Paramètres de recherche saisonniers

results = pm.auto_arima( df,             # données
                         ... ,          # arguments non saisonniers 
                         seasonal=True,  # la série est-elle saisonnière

m=7, # période saisonnière
D=1, # ordre de différenciation saisonnier
start_P=1, # valeur initiale pour P start_Q=1, # valeur initiale pour Q
max_P=2, # valeur max de P à tester max_Q=2, # valeur max de Q à tester )
Modèles ARIMA en Python

Autres paramètres

results = pm.auto_arima( df,                     # données    
                         ... ,                   # paramètres d'ordre du modèle     

information_criterion='aic', # utilisé pour choisir le meilleur modèle
trace=True, # afficher les résultats pendant l'entraînement
error_action='ignore', # ignorer les ordres non valides
stepwise=True, # appliquer une recherche d'ordre intelligente )
Modèles ARIMA en Python

Enregistrer des objets de modèle

# Importation
import joblib 
# Choisir un chemin de fichier
filepath ='localpath/great_model.pkl'

# Enregistrer le modèle au chemin indiqué
joblib.dump(model_results_object, filepath)
Modèles ARIMA en Python

Enregistrer des objets de modèle

# Choisir un chemin de fichier
filepath ='localpath/great_model.pkl'

# Charger l'objet de modèle depuis le chemin
model_results_object = joblib.load(filepath) 
Modèles ARIMA en Python

Mise à jour du modèle

# Ajouter de nouvelles observations et mettre à jour les paramètres
model_results_object.update(df_new)
Modèles ARIMA en Python

Comparaison des mises à jour

Modèles ARIMA en Python

Passons à la pratique !

Modèles ARIMA en Python

Preparing Video For Download...