Automatización y guardado

Modelos ARIMA en Python

James Fulton

Climate informatics researcher

Búsqueda de órdenes del modelo

import pmdarima as pm
results = pm.auto_arima(df)
Realizando búsqueda paso a paso para minimizar 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

Mejor modelo:  ARIMA(3,0,3)(1,1,1)[12]
Tiempo total de ajuste: 245.812 seconds
Modelos ARIMA en Python

Resultados de pmdarima

print(results.summary())

results.plot_diagnostics()

Modelos ARIMA en Python

Parámetros de búsqueda no estacional

Modelos ARIMA en Python

Parámetros de búsqueda no estacional

results = pm.auto_arima( df,             # datos

d=0, # orden de diferenciación no estacional
start_p=1, # valor inicial para p start_q=1, # valor inicial para q
max_p=3, # valor máx. de p a probar max_q=3, # valor máx. de q a probar )
1 https://www.alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html
Modelos ARIMA en Python

Parámetros de búsqueda estacional

results = pm.auto_arima( df,             # datos
                         ... ,          # argumentos no estacionales 
                         seasonal=True,  # la serie es estacional

m=7, # periodo estacional
D=1, # orden de diferenciación estacional
start_P=1, # valor inicial para P start_Q=1, # valor inicial para Q
max_P=2, # valor máx. de P a probar max_Q=2, # valor máx. de Q a probar )
Modelos ARIMA en Python

Otros parámetros

results = pm.auto_arima( df,                     # datos    
                         ... ,                   # parámetros de orden del modelo     

information_criterion='aic', # criterio para elegir el mejor modelo
trace=True, # mostrar resultados durante el entrenamiento
error_action='ignore', # ignorar órdenes que fallen
stepwise=True, # búsqueda inteligente de órdenes )
Modelos ARIMA en Python

Guardar objetos de modelo

# Importar
import joblib 
# Elige una ruta de archivo
filepath ='localpath/great_model.pkl'

# Guarda el modelo en la ruta
joblib.dump(model_results_object, filepath)
Modelos ARIMA en Python

Guardar objetos de modelo

# Elige una ruta de archivo
filepath ='localpath/great_model.pkl'

# Carga el objeto de modelo desde la ruta
model_results_object = joblib.load(filepath) 
Modelos ARIMA en Python

Actualizar el modelo

# Añade nuevas observaciones y actualiza los parámetros
model_results_object.update(df_new)
Modelos ARIMA en Python

Comparación de actualización

Modelos ARIMA en Python

¡Vamos a practicar!

Modelos ARIMA en Python

Preparing Video For Download...