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

Von Fabian
Kategorie: Python
Lesezeit: 2 Minuten

Der McNemar-Test wird verwendet, um festzustellen, ob zwischen den gepaarten Daten ein statistisch signifikanter Unterschied in den Anteilen besteht.

In diesem Tutorial wird erklärt, wie Sie McNemars Test in Python durchführen.

Beispiel: McNemars Test in Python

Angenommen, Forscher möchten wissen, ob ein bestimmtes Marketingvideo die Meinung der Menschen zu einem bestimmten Gesetz ändern kann. Sie befragen 100 Personen, um herauszufinden, ob sie das Gesetz unterstützen oder nicht. Anschließend zeigen sie allen 100 Personen das Marketingvideo und befragen sie erneut, sobald das Video beendet ist.

Die folgende Tabelle zeigt die Gesamtzahl der Personen, die das Gesetz vor und nach dem Ansehen des Videos unterstützt haben:

Vor dem Marketing Video
Nach dem Marketing VideoUnterstützungNicht unterstützen
Unterstützung3040
Nicht unterstützen1218

Um festzustellen, ob es einen statistisch signifikanten Unterschied im Anteil der Personen gab, die das Gesetz vor und nach dem Ansehen des Videos unterstützt haben, können wir den McNemar-Test durchführen.

Schritt 1: Erstellen Sie die Daten.

Zuerst erstellen wir eine Tabelle für unsere Daten:

data = [[30, 40],
        [12, 18]]

Schritt 2: Führen Sie den McNemar-Test durch

Als Nächstes können wir die Funktion mcnemar() aus der Python-Bibliothek statsmodels verwenden, die die folgende Syntax verwendet:

mcnemar(table, exact=True, correction=True)

wobei:

  • table: Eine quadratische Kontingenztabelle
  • exact: Wenn genau wahr ist, wird die Binomialverteilung verwendet. Wenn genau falsch ist, wird die Chi-Quadrat-Verteilung verwendet
  • correction: Wenn true, wird eine Kontinuitätskorrektur verwendet. Als Faustregel gilt, dass diese Korrektur normalerweise angewendet wird, wenn eine der Zellenzahlen in der Tabelle weniger als 5 beträgt.

Der folgende Code zeigt, wie diese Funktion in unserem speziellen Beispiel verwendet wird:

from statsmodels.stats.contingency_tables import mcnemar 

#McNemars Test ohne Kontinuitätskorrektur
print(mcnemar(data, exact=False))
pvalue      0.000181
statistic   14.019
#McNemars Test mit Kontinuitätskorrektur
print(mcnemar(data, exact=False, correction=False))
pvalue      0.000103
statistic   15.077

In beiden Fällen – unabhängig davon, ob wir die Kontinuitätskorrektur anwenden oder nicht – liegt der p-Wert des Tests unter 0,05.

Dies bedeutet, dass wir in beiden Fällen die Nullhypothese ablehnen und zu dem Schluss kommen würden, dass der Anteil der Personen, die das Gesetz vor und nach dem Ansehen des Marketingvideos unterstützten, statistisch signifikant unterschiedlich war.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren:
Rechner

Phi-Koeffizient-Rechner

    Ein Phi-Koeffizient ist ein Maß für die Assoziation zwischen zwei binären Variablen.

    Um den Phi-Koeffizienten für eine 2 × 2-Tabelle mit zwei Zufallsvariablen zu berechnen, füllen Sie einfach die Zellen der …