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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn