So führen Sie den Tukey-Test in Python durch

Von Fabian
Kategorie: Python
Tags: ANOVA
Lesezeit: 3 Minuten

Eine einfaktorielle ANOVA wird verwendet, um zu bestimmen, ob es einen statistisch signifikanten Unterschied zwischen den Mittelwerten von drei oder mehr unabhängigen Gruppen gibt oder nicht.

Wenn der Gesamt- p-Wert aus der ANOVA-Tabelle unter einem bestimmten Signifikanzniveau liegt, haben wir genügend Beweise, um zu sagen, dass sich mindestens eines der Mittelwerte der Gruppen von den anderen unterscheidet.

Dies sagt uns jedoch nicht, welche Gruppen sich voneinander unterscheiden. Es sagt uns einfach, dass nicht alle Gruppen Mittelwerte gleich sind. Um genau herauszufinden, welche Gruppen sich voneinander unterscheiden, müssen wir einen Post-Hoc-Test durchführen.

Einer der am häufigsten verwendeten Post-hoc-Tests ist der Tukey-Test, mit dem wir paarweise Vergleiche zwischen den Mitteln jeder Gruppe anstellen und gleichzeitig die Family Wise Error Rate kontrollieren können.

Dieses Tutorial enthält ein schrittweises Beispiel für die Durchführung des Tukey-Tests in Python.

Schritt 1: Laden Sie die erforderlichen Pakete und Funktionen

Zuerst laden wir die erforderlichen Pakete und Funktionen in Python:

import pandas as pd
import numpy as np
from scipy.stats import f_oneway
from statsmodels.stats.multicomp import pairwise_tukeyhsd

Schritt 2: Passen Sie das ANOVA-Modell an

Der folgende Code zeigt, wie Sie einen synthetischen Datensatz mit drei Gruppen (A, B und C) erstellen und ein einfaktorielles ANOVA-Modell an die Daten anpassen, um festzustellen, ob die Mittelwerte für jede Gruppe gleich sind:

# Daten für drei Gruppen eingeben
a = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
b = [91, 92, 93, 90, 97, 94, 82, 88, 95, 96]
c = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]

# einfaktorielle ANOVA durchführen
f_oneway(a, b, c)

F_onewayResult(statistic=5.167774552944481, pvalue=0.012582197136592609)

Wir können sehen, dass der Gesamt-p-Wert aus der ANOVA-Tabelle 0,01258 beträgt.

Da dies weniger als 0,05 ist, haben wir genügend Beweise, um zu sagen, dass die Mittelwerte über jede Gruppe nicht gleich sind.

Daher können wir den Tukey-Test durchführen, um genau zu bestimmen, welche Gruppenmittelwerte unterschiedlich sind.

Schritt 3: Führen Sie den Tukey-Test durch

Um Tukeys Test in Python durchzuführen, können wir die Funktion pairwise_tukeyhsd() aus der statsmodels-Bibliothek verwenden:

# Dataframe erstellen zum Speichern von Daten
df = pd.DataFrame({'score': [85, 86, 88, 75, 78, 94, 98, 79, 71, 80,
                             91, 92, 93, 90, 97, 94, 82, 88, 95, 96,
                             79, 78, 88, 94, 92, 85, 83, 85, 82, 81],
                   'group': np.repeat(['a', 'b', 'c'], repeats=10)}) 

# Tukey's Test durchführen
tukey = pairwise_tukeyhsd(endog=df['score'],
                          groups=df['group'],
                          alpha=0.05)

# Ergebnisse anzeigen
print(tukey)

 Multiple Comparison of Means - Tukey HSD, FWER=0.05 
=====================================================
group1 group2 meandiff p-adj   lower    upper  reject
-----------------------------------------------------
     a      b      8.4 0.0158   1.4272 15.3728   True
     a      c      1.3 0.8864  -5.6728  8.2728  False
     b      c     -7.1 0.0453 -14.0728 -0.1272   True
-----------------------------------------------------

So interpretieren Sie die Ausgabe:

  • P-Wert für die Mittelwertdifferenz zwischen a und b: .0158
  • P-Wert für die Mittelwertdifferenz zwischen a und c: .8864
  • P-Wert für die Mittelwertdifferenz zwischen b und c: .0453

Wir würden daher den Schluss ziehen, dass es einen statistisch signifikanten Unterschied zwischen den Mitteln der Gruppen a und b und den Gruppen b und c gibt, jedoch keinen statistisch signifikanten Unterschied zwischen den Mitteln der Gruppen a und c.

Zusätzliche Ressourcen

So führen Sie eine einfaktorielle ANOVA in Python durch
So führen Sie eine Zwei-Wege-ANOVA in Python durch
So führen Sie eine ANOVA mit wiederholten Messungen in Python durch

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: