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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert