ARIMA automático en Python

Zeeshan Afridi 10 octubre 2023
  1. ARIMA automático en Python
  2. Usa la función auto_arima() en Python
  3. Conclusión
ARIMA automático en Python

En este artículo, aprenderemos sobre Auto ARIMA en Python y cómo funciona.

ARIMA automático en Python

La función auto_arima() de la biblioteca pmdarima ayuda a determinar los parámetros óptimos del modelo ARIMA y, como resultado, proporciona un modelo ARIMA ajustado.

Tenga en cuenta que este paquete una vez se llamó "Pyramid" antes de ser renombrado "pmdarima". Asegúrese de que el paquete "pmdarima" esté instalado.

Si no tiene el paquete, instálelo ejecutando el siguiente comando en la terminal.

pip install pmdarima

Use el siguiente comando para probar si el paquete se creó correctamente.

from pmdarima.arima import auto_arima

Usa la función auto_arima() en Python

En el siguiente código, data.csv es un archivo CSV que contiene los datos y se usa para Auto ARIMA. La salida será un dataframe con un valor con order=(P,D,Q) en el índice p y q.

Ejemplo de código:

import pmdarima as pm
import pandas as pd

df1 = pd.read_csv("data.csv", names=["value"], header=0)
model_1 = pm.auto_arima(
    df1.value,
    start_p=1,
    start_q=1,
    test="adf",
    max_p=3,
    max_q=3,
    m=1,
    d=None,
    seasonal=False,
    start_P=0,
    D=0,
    trace=True,
    error_action="ignore",
    suppress_warnings=True,
    stepwise=True,
)

print(model_1.summary())

Producción :

Performing stepwise search to minimize aic
 ARIMA(1,1,1)(0,0,0)[0] intercept   : AIC=1605.366, Time=0.09 sec
 ARIMA(0,1,0)(0,0,0)[0] intercept   : AIC=1660.860, Time=0.01 sec
 ARIMA(1,1,0)(0,0,0)[0] intercept   : AIC=1619.269, Time=0.04 sec
 ARIMA(0,1,1)(0,0,0)[0] intercept   : AIC=1604.209, Time=0.04 sec
 ARIMA(0,1,0)(0,0,0)[0]             : AIC=1658.968, Time=0.01 sec
 ARIMA(0,1,2)(0,0,0)[0] intercept   : AIC=1605.215, Time=0.08 sec
 ARIMA(1,1,2)(0,0,0)[0] intercept   : AIC=1606.845, Time=0.12 sec
 ARIMA(0,1,1)(0,0,0)[0]             : AIC=1603.295, Time=0.02 sec
 ARIMA(1,1,1)(0,0,0)[0]             : AIC=1604.373, Time=0.03 sec
 ARIMA(0,1,2)(0,0,0)[0]             : AIC=1604.196, Time=0.04 sec
 ARIMA(1,1,0)(0,0,0)[0]             : AIC=1617.588, Time=0.04 sec
 ARIMA(1,1,2)(0,0,0)[0]             : AIC=1605.883, Time=0.04 sec

Best model:  ARIMA(0,1,1)(0,0,0)[0]
Total fit time: 0.580 seconds
                               SARIMAX Results
==============================================================================
Dep. Variable:                      y   No. Observations:                  173
Model:               SARIMAX(0, 1, 1)   Log Likelihood                -799.648
Date:                Sat, 03 Sep 2022   AIC                           1603.295
Time:                        23:15:18   BIC                           1609.590
Sample:                             0   HQIC                          1605.849
                                - 173
Covariance Type:                  opg
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
ma.L1         -0.5856      0.056    -10.478      0.000      -0.695      -0.476
sigma2       637.6579     54.893     11.616      0.000     530.069     745.247
===================================================================================
Ljung-Box (L1) (Q):                   0.54   Jarque-Bera (JB):                24.81
Prob(Q):                              0.46   Prob(JB):                         0.00
Heteroskedasticity (H):               0.18   Skew:                             0.41
Prob(H) (two-sided):                  0.00   Kurtosis:                         4.67
===================================================================================

Process finished with exit code 0

Conclusión

El modelo ARIMA estima ampliamente el rendimiento de las acciones durante los próximos días. La función auto_arima() de Python se utiliza para identificar los parámetros óptimos del modelo ARIMA ajustado.

La función auto_arima() se puede importar desde la biblioteca de Python llamada pmdarima.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn