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