Automatisches ARIMA in Python

Zeeshan Afridi 10 Oktober 2023
  1. Automatisches ARIMA in Python
  2. Verwenden Sie die Funktion auto_arima() in Python
  3. Abschluss
Automatisches ARIMA in Python

In diesem Artikel erfahren wir mehr über Auto ARIMA in Python und wie es funktioniert.

Automatisches ARIMA in Python

Die Funktion auto_arima() aus der Bibliothek pmdarima hilft bei der Bestimmung der optimalen Parameter des ARIMA-Modells und liefert als Ergebnis ein angepasstes ARIMA-Modell.

Beachten Sie, dass dieses Paket früher "Pyramid" hieß, bevor es in "pmdarima" umbenannt wurde. Stellen Sie sicher, dass das Paket "pmdarima" installiert wird.

Wenn Sie das Paket nicht haben, installieren Sie es, indem Sie den folgenden Befehl im Terminal ausführen.

pip install pmdarima

Verwenden Sie den folgenden Befehl, um zu testen, ob das Paket erfolgreich erstellt wurde.

from pmdarima.arima import auto_arima

Verwenden Sie die Funktion auto_arima() in Python

Im folgenden Code ist data.csv eine CSV-Datei, die die Daten enthält und für Auto ARIMA verwendet wird. Die Ausgabe ist ein Datenrahmen mit einem Wert mit order=(P,D,Q) im Index p und q.

Codebeispiel:

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())

Ausgang:

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

Abschluss

Das ARIMA-Modell schätzt die Aktienperformance in den nächsten Tagen umfassend. Die Funktion auto_arima() von Python wird verwendet, um die optimalen Parameter des angepassten ARIMA-Modells zu identifizieren.

Die Funktion auto_arima() kann aus der Python-Bibliothek namens pmdarima importiert werden.

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