Modelos ARIMA en Python
James Fulton
Climate informatics researcher
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
print(results.summary())
results.plot_diagnostics()

results = pm.auto_arima( df, # datosd=0, # orden de diferenciación no estacionalstart_p=1, # valor inicial para p start_q=1, # valor inicial para qmax_p=3, # valor máx. de p a probar max_q=3, # valor máx. de q a probar )
results = pm.auto_arima( df, # datos ... , # argumentos no estacionales seasonal=True, # la serie es estacionalm=7, # periodo estacionalD=1, # orden de diferenciación estacionalstart_P=1, # valor inicial para P start_Q=1, # valor inicial para Qmax_P=2, # valor máx. de P a probar max_Q=2, # valor máx. de Q a probar )
results = pm.auto_arima( df, # datos ... , # parámetros de orden del modeloinformation_criterion='aic', # criterio para elegir el mejor modelotrace=True, # mostrar resultados durante el entrenamientoerror_action='ignore', # ignorar órdenes que fallenstepwise=True, # búsqueda inteligente de órdenes )
# 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)
# Elige una ruta de archivo
filepath ='localpath/great_model.pkl'
# Carga el objeto de modelo desde la ruta
model_results_object = joblib.load(filepath)
# Añade nuevas observaciones y actualiza los parámetros
model_results_object.update(df_new)

Modelos ARIMA en Python