So führen sie den mcnemar-test in python durch
Der McNemar-Test wird verwendet, um festzustellen, ob es einen statistisch signifikanten Unterschied in den Anteilen zwischen gepaarten Daten gibt.
In diesem Tutorial wird erklärt, wie Sie den McNemar-Test in Python durchführen.
Beispiel: der McNemar-Test in Python
Nehmen wir an, Forscher möchten wissen, ob ein bestimmtes Marketingvideo die Meinung der Menschen zu einem bestimmten Gesetz ändern kann. Sie befragen 100 Menschen, um herauszufinden, ob sie das Gesetz unterstützen oder nicht. Anschließend zeigen sie allen 100 Personen das Marketingvideo und befragen sie nach Fertigstellung des Videos erneut.
Die folgende Tabelle zeigt die Gesamtzahl der Personen, die das Gesetz vor und nach dem Ansehen des Videos unterstützt haben:
Video vor dem Marketing | ||
---|---|---|
Video nach dem Marketing | Unterstützung | Kann es nicht ertragen |
Unterstützung | 30 | 40 |
Kann es nicht ertragen | 12 | 18 |
Um festzustellen, ob es einen statistisch signifikanten Unterschied im Anteil der Personen gab, die das Gesetz vor und nach dem Ansehen des Videos befürworteten, können wir den McNemar-Test durchführen.
Schritt 1: Erstellen Sie die Daten.
Zuerst erstellen wir eine Tabelle zur Speicherung unserer 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-Statsmodels-Bibliothek verwenden, die die folgende Syntax verwendet:
mcnemar(array, exakt=Wahr, Korrektur=Wahr)
Gold:
- Tabelle: Eine quadratische Kontingenztabelle
- exakt: Wenn genau wahr ist, wird die Binomialverteilung verwendet. Wenn richtig falsch ist, wird die Chi-Quadrat-Verteilung verwendet
- Korrektur: Wenn wahr, wird eine Kontinuitätskorrektur verwendet. Normalerweise wird diese Korrektur angewendet, wenn die Anzahl der Tabellenzellen weniger als 5 beträgt.
Der folgende Code zeigt, wie diese Funktion in unserem konkreten Beispiel verwendet wird:
from statsmodels.stats.contingency_tables import mcnemar #McNemar's Test with no continuity correction print(mcnemar(data, exact=False)) pvalue 0.000181 statistic 14.019 #McNemar's Test with continuity correction print(mcnemar(data, exact=False, correction=False)) pvalue 0.000103 statistic 15,077
In beiden Fällen – unabhängig davon, ob eine Kontinuitätskorrektur angewendet wird oder nicht – liegt der p-Wert des Tests unter 0,05.
Das 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 befürworteten, statistisch unterschiedlich war.