Hoe de tukey-test in python uit te voeren


Een eenrichtings-ANOVA wordt gebruikt om te bepalen of er al dan niet een statistisch significant verschil bestaat tussen de gemiddelden van drie of meer onafhankelijke groepen.

Als de totale p-waarde van de ANOVA-tabel onder een bepaald significantieniveau ligt, hebben we voldoende bewijs om te zeggen dat ten minste één van de groepsgemiddelden verschilt van de andere.

Dit vertelt ons echter niet welke groepen van elkaar verschillen. Dit vertelt ons eenvoudigweg dat niet alle groepsgemiddelden gelijk zijn. Om precies te weten welke groepen van elkaar verschillen, moeten we eenpost-hoctest uitvoeren.

Een van de meest gebruikte post-hoc tests is de Tukey-test , waarmee we paarsgewijze vergelijkingen kunnen maken tussen de gemiddelden van elke groep, terwijl we controleren voor het familiefoutenpercentage .

Deze tutorial biedt een stapsgewijs voorbeeld van hoe u de Tukey-test in Python uitvoert.

Stap 1: Laad de benodigde pakketten en functies

Eerst zullen we de benodigde pakketten en functies in Python laden:

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

Stap 2: Monteer het ANOVA-model

De volgende code laat zien hoe u een nep-dataset met drie groepen (A, B en C) kunt maken en een eenrichtings-ANOVA-model op de gegevens kunt passen om te bepalen of de gemiddelde waarden van elke groep gelijk zijn:

 #enter data for three groups
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]

#perform one-way ANOVA
f_oneway(a, b, c)

F_onewayResult(statistic=5.167774552944481, pvalue=0.012582197136592609)

We kunnen zien dat de totale p-waarde uit de ANOVA-tabel 0,01258 is.

Omdat dit getal kleiner is dan 0,05, hebben we voldoende bewijs om te zeggen dat de gemiddelde waarden in elke groep niet gelijk zijn.

We kunnen dus de Tukey-test uitvoeren om precies te bepalen welke groepsgemiddelden verschillend zijn.

Stap 3: Voer de Tukey-test uit

Om de Tukey-test in Python uit te voeren, kunnen we de functie pairwise_tukeyhsd() uit de statsmodels- bibliotheek gebruiken:

 #create DataFrame to hold data
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 )}) 

# perform Tukey's test
tukey = pairwise_tukeyhsd(endog=df['score'],
                          groups=df['group'],
                          alpha= 0.05 )

#display results
print (tukey)

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

Zo interpreteert u het resultaat:

  • P-waarde voor het verschil in gemiddelden tussen a en b: 0,0158
  • P-waarde voor het verschil in gemiddelden tussen a en c: 0,8864
  • P-waarde voor het verschil in gemiddelden tussen b en c: 0,0453

We zouden dus concluderen dat er een statistisch significant verschil is tussen de gemiddelden van de groepen a en b en de groepen b en c , maar geen statistisch significant verschil tussen de gemiddelden van de groepen a en c .

Aanvullende bronnen

Eenrichtings-ANOVA uitvoeren in Python
Hoe u een tweerichtings-ANOVA uitvoert in Python
Hoe herhaalde metingen ANOVA in Python uit te voeren

Einen Kommentar hinzufügen

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