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.

Aggiungi un commento

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