Come eseguire il test post-hoc nemenyi in python
Il test di Friedman è un’alternativa non parametrica all’ANOVA a misure ripetute . Viene utilizzato per determinare se esiste o meno una differenza statisticamente significativa tra le medie di tre o più gruppi in cui compaiono gli stessi soggetti in ciascun gruppo.
Se il valore p del test di Friedman è statisticamente significativo, allora possiamo eseguire il test post-hoc di Nemenyi per determinare esattamente quali gruppi sono diversi.
Il seguente esempio passo passo mostra come eseguire il test Nemenyi in Python.
Passaggio 1: creare i dati
Supponiamo che un ricercatore voglia sapere se i tempi di reazione dei pazienti sono uguali con tre farmaci diversi. Per verificarlo, ha misurato il tempo di reazione (in secondi) di 10 pazienti diversi a ciascuno dei tre farmaci.
Possiamo creare le seguenti tre tabelle che contengono i tempi di risposta per ciascun paziente su ciascuno dei tre farmaci:
group1 = [4, 6, 3, 4, 3, 2, 2, 7, 6, 5] group2 = [5, 6, 8, 7, 7, 8, 4, 6, 4, 5] group3 = [2, 2, 5, 3, 2, 2, 1, 4, 3, 2]
Passaggio 2: eseguire il test di Friedman
Successivamente, eseguiremo il test di Friedman utilizzando la funzione friedmanchisquare() dalla libreria scipy.stats:
from scipy import stats #perform Friedman Test stats. friedmanchisquare (group1, group2, group3) FriedmanchisquareResult(statistic=13.3513513, pvalue=0.00126122012)
Il test di Friedman utilizza le seguenti ipotesi nulle e alternative:
L’ipotesi nulla (H 0 ): la media di ciascuna popolazione è uguale.
L’ipotesi alternativa: (Ha): almeno una media della popolazione è diversa dalle altre.
In questo esempio, la statistica del test è 13.35135 e il valore p corrispondente è 0.00126 . Poiché questo valore p è inferiore a 0,05, possiamo rifiutare l’ipotesi nulla secondo cui il tempo di risposta medio è lo stesso per tutti e tre i farmaci.
In altre parole, abbiamo prove sufficienti per concludere che il tipo di farmaco utilizzato causa differenze statisticamente significative nel tempo di risposta.
Passaggio 3: eseguire il test Nemenyi
Quindi possiamo eseguire il test post-hoc Nemenyi per determinare esattamente quali gruppi hanno medie diverse.
Per fare ciò, dobbiamo installare la libreria scikit-posthocs:
pip install scikit-posthocs
Successivamente, utilizzeremo la funzione posthoc_nemenyi_friedman() per eseguire il test post-hoc Nemenyi:
import scikit_posthocs as sp
import numpy as np
#combine three groups into one array
data = np. array ([group1, group2, group3])
#perform Nemenyi post-hoc test
sp. posthoc_nemenyi_friedman ( data.T )
0 1 2
0 1.000000 0.437407 0.065303
1 0.437407 1.000000 0.001533
2 0.065303 0.001533 1.000000
Nota: abbiamo dovuto trasporre l’array numpy (data.T) per eseguire correttamente il test post-hoc.
Il test post-hoc di Nemeyi restituisce valori p per ogni confronto a coppie delle medie. Dal risultato possiamo vedere i seguenti valori p:
- Valore P del gruppo 0 rispetto al gruppo 1: 0,4374
- Valore P del gruppo 0 rispetto al gruppo 2: 0,0653
- Valore P del gruppo 1 rispetto al gruppo 2: 0,0015
Con α = 0,05, gli unici due gruppi che hanno medie diverse in modo statisticamente significativo sono il Gruppo 1 e il Gruppo 2.
Nota: il test di Nemenyi ha convertito il numero del gruppo da 1, 2, 3 a 0, 1, 2. Quindi i gruppi nei dati originali che sono significativamente diversi sono i gruppi 2 e 3.