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.

Einen Kommentar hinzufügen

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