Hoe u de mcnemar-test in python uitvoert


De McNemar-test wordt gebruikt om te bepalen of er een statistisch significant verschil is in verhoudingen tussen gepaarde gegevens.

In deze tutorial wordt uitgelegd hoe u de McNemar-test in Python uitvoert.

Voorbeeld: de McNemar-test in Python

Stel dat onderzoekers willen weten of een bepaalde marketingvideo de mening van mensen over een bepaalde wet kan veranderen. Ze ondervragen 100 mensen om erachter te komen of ze de wet wel of niet steunen. Vervolgens laten ze de marketingvideo aan alle 100 mensen zien en ondervragen ze opnieuw nadat de video is afgelopen.

De volgende tabel toont het totale aantal mensen dat de wet steunde voor en na het bekijken van de video:

Video vóór marketing
Video na marketing Steun Kan niet uitstaan
Steun 30 40
Kan niet uitstaan 12 18

Om te bepalen of er een statistisch significant verschil was in het aandeel mensen dat de wet steunde voor en na het bekijken van de video, kunnen we de McNemar-test uitvoeren.

Stap 1: Creëer de gegevens.

Eerst maken we een tabel waarin we onze gegevens bewaren:

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

Stap 2: Voer de McNemar-test uit

Vervolgens kunnen we de functie mcnemar() uit de Python statsmodels-bibliotheek gebruiken, die de volgende syntaxis gebruikt:

mcnemar(matrix, exact=Waar, correctie=Waar)

Goud:

  • tafel: Een vierkante kruistabel
  • exact: Als exact waar is, wordt de binominale verdeling gebruikt. Als correct onwaar is, wordt de Chi-kwadraatverdeling gebruikt
  • correctie: indien waar, wordt er gebruik gemaakt van een continuïteitscorrectie. Deze correctie wordt doorgaans toegepast als het aantal tabelcellen kleiner is dan 5.

De volgende code laat zien hoe u deze functie kunt gebruiken in ons specifieke voorbeeld:

 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 beide gevallen – ongeacht of continuïteitscorrectie wordt toegepast – is de p-waarde van de test kleiner dan 0,05.

Dit betekent dat we in beide gevallen de nulhypothese zouden verwerpen en zouden concluderen dat het aandeel mensen dat de wet steunde voor en na het bekijken van de marketingvideo statistisch verschillend was.

Einen Kommentar hinzufügen

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