Come eseguire il test tukey in python


Un’ANOVA unidirezionale viene utilizzata per determinare se esiste o meno una differenza statisticamente significativa tra le medie di tre o più gruppi indipendenti.

Se il valore p complessivo della tabella ANOVA è inferiore a un certo livello di significatività, allora abbiamo prove sufficienti per affermare che almeno una delle medie del gruppo è diversa dalle altre.

Tuttavia, questo non ci dice quali gruppi siano diversi gli uni dagli altri. Questo ci dice semplicemente che non tutte le medie dei gruppi sono uguali. Per sapere esattamente quali gruppi sono diversi tra loro, dobbiamo eseguire un test post hoc .

Uno dei test post hoc più comunemente utilizzati è il test di Tukey , che ci consente di eseguire confronti a coppie tra le medie di ciascun gruppo controllando il tasso di errore familiare .

Questo tutorial fornisce un esempio passo passo di come eseguire il test Tukey in Python.

Passaggio 1: caricare i pacchetti e le funzioni necessari

Innanzitutto, caricheremo i pacchetti e le funzioni necessari in Python:

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

Passaggio 2: adattare il modello ANOVA

Il codice seguente mostra come creare un set di dati falso con tre gruppi (A, B e C) e adattare un modello ANOVA unidirezionale ai dati per determinare se i valori medi di ciascun gruppo sono uguali:

 #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)

Possiamo vedere che il valore p complessivo dalla tabella ANOVA è 0.01258 .

Poiché questo numero è inferiore a 0,05, abbiamo prove sufficienti per affermare che i valori medi in ciascun gruppo non sono uguali.

Quindi, possiamo eseguire il test di Tukey per determinare esattamente quali medie di gruppo sono diverse.

Passaggio 3: eseguire il test di Tukey

Per eseguire il test Tukey in Python, possiamo utilizzare la funzionepairwise_tukeyhsd() dalla libreria statsmodels :

 #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
-------------------------------------------------- ---

Ecco come interpretare il risultato:

  • Valore P per la differenza delle medie tra a e b: 0,0158
  • Valore P per la differenza delle medie tra a e c: 0,8864
  • Valore P per la differenza delle medie tra b e c: 0,0453

Pertanto, concluderemmo che esiste una differenza statisticamente significativa tra le medie dei gruppi a e b e dei gruppi b e c , ma nessuna differenza statisticamente significativa tra le medie dei gruppi a e c .

Risorse addizionali

Come eseguire ANOVA unidirezionale in Python
Come eseguire un’ANOVA bidirezionale in Python
Come eseguire misure ripetute ANOVA in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *