So führen sie einen mann-kendall-trendtest in python durch
Mithilfe eines Mann-Kendall-Trendtests wird ermittelt, ob in Zeitreihendaten ein Trend vorliegt oder nicht. Hierbei handelt es sich um einen nichtparametrischen Test, d. h. es werden keine zugrunde liegenden Annahmen über die Normalität der Daten getroffen.
Die Testhypothesen lauten wie folgt:
H 0 (Nullhypothese): In den Daten ist kein Trend vorhanden.
H A (Alternativhypothese): In den Daten ist ein Trend vorhanden. (Dies könnte ein positiver oder negativer Trend sein)
Wenn der p-Wert des Tests unter einem bestimmten Signifikanzniveau liegt (übliche Werte sind 0,10, 0,05 und 0,01), dann gibt es statistisch signifikante Hinweise darauf, dass in den Daten der Zeitreihe ein Trend vorhanden ist.
In diesem Tutorial wird erläutert, wie Sie einen Mann-Kendall-Trendtest in Python durchführen.
Beispiel: Mann-Kendall-Trendtest in Python
Um einen Mann-Kendall-Trendtest in Python durchzuführen, installieren wir zunächst das Paket pymannkendall :
pip install pymannkendall
Sobald wir dieses Paket installiert haben, können wir den Mann-Kendall-Trendtest für einen Zeitreihendatensatz durchführen:
#create dataset data = [31, 29, 28, 28, 27, 26, 26, 27, 27, 27, 28, 29, 30, 29, 30, 29, 28] #perform Mann-Kendall Trend Test import pymannkendall as mk mk. original_test (data) Mann_Kendall_Test(trend='no trend', h=False, p=0.422586268671707, z=0.80194241623, Tau=0.147058823529, s=20.0, var_s=561.33333333, slope=0.0384615384615, intercept=27.692307692)
So interpretieren Sie das Testergebnis:
- Trend : Dies zeigt den Trend an. Das mögliche Ergebnis umfasst einen zunehmenden, abnehmenden oder keinen Trend.
- h: wahr, wenn der Trend vorhanden ist. Falsch, wenn kein Trend vorhanden ist.
- p: Der p-Wert des Tests.
- z: die Normalisierungsteststatistik.
- Tau: Kendall Tau.
- s: Mann-Kendal-Score
- var_s: Abweichung S
- Steigung: Theil-Sen/Steigungsschätzer
- Abfangen: Abfangen der starken Kendall-Theil-Linie
Der Hauptwert, der uns interessiert, ist der p-Wert, der uns sagt, ob es einen statistisch signifikanten Trend in den Daten gibt oder nicht.
In diesem Beispiel beträgt der p-Wert 0,4226 , was nicht weniger als 0,05 ist. Daher gibt es keinen signifikanten Trend in den Zeitreihendaten.
Zusätzlich zur Durchführung des Mann-Kendall-Trendtests können wir mit Matplotlib ein schnelles Liniendiagramm erstellen, um die tatsächlichen Zeitreihendaten zu visualisieren:
import matplotlib. pyplot as plt plt. plot (data)
mal
Aus dem Diagramm können wir erkennen, dass die Daten etwas verstreut sind, was bestätigt, dass es keinen klaren Trend in den Daten gibt.
Zusätzliche Ressourcen
So zeichnen Sie eine Zeitreihe in Matplotlib
So führen Sie einen erweiterten Dickey-Fuller-Test in Python durch
So zeichnen Sie mehrere Serien aus einem Pandas DataFrame