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