domenica 5 luglio 2009

Confronto tra più gruppi, metodo non parametrico: test di Kruskal-Wallis

Se vogliamo eseguire il confronto tra più gruppi, ma non è possibile eseguire una ANOVA, è possibile ricorrere al test di Kruskal-Wallis, che può essere applicato quando non si può fare l'assunzione che i gruppi seguano una distribuzione normale.
Questo test è del tutto analogo ai test di Wilcoxon per 2 campioni.
Può essere utile verificare l'omogeneità delle varianze di k gruppi di campioni che non seguono una distribuzione normale, applicando il test di Levene non parametrico.

Supponiamo di volere verificare se i seguenti 4 gruppi di valori siano statisticamente simili:
Gruppo A: 1, 5, 8, 17, 16
Gruppo B: 2, 16, 5, 7, 4
Gruppo C: 1, 1, 3, 7, 9
Gruppo D: 2, 15, 2, 9, 7


Per richiamare il test di Kruskal-Wallis è sufficiente inserire i dati, e quindi organizzarli in una lista:

> a = c(1, 5, 8, 17, 16)
> b = c(2, 16, 5, 7, 4)
> c = c(1, 1, 3, 7, 9)
> d = c(2, 15, 2, 9, 7)
>
> dati = list(g1=a, g2=b, g3=c, g4=d)


Se richiamiamo la variabile dati, possiamo vedere come i dati sono stati organizzati.
Ora richiamiamo la funzione:

> kruskal.test(dati)

Kruskal-Wallis rank sum test

data: dati
Kruskal-Wallis chi-squared = 1.9217, df = 3, p-value = 0.5888


Il valore della statistica test è 1.9217. Questo valore prevede già la correzione quando ci sono dei ties (ripetizioni). Il p-value è maggiore di 0.05; inoltre il valore della statistica test è inferiore al chi-quadro-tabulato:

> qchisq(0.950, 3)
[1] 7.814728


La conclusione è quindi che accetto l'ipotesi H0: le medie dei 4 gruppi sono statisticamente uguali.

9 commenti:

  1. salve. sto svolgendo una tesi di laurea in cui tratto due gruppi di pazienti distinti con due diverse terapie. Per ciascun soggetto valuto 4 outcome,prima e dopo il trattamento. Poichè per alcuni outcome la distribuzione non è normale che tipo di anlisi posso fare? Test di Kruskal Wallis ?
    grazie per l'aiuto. :)

    RispondiElimina
  2. Ciao Laura,
    non mi è chiaro di quali dati disponi. Per ognuno dei 4 parametri, hai due rilevazioni (prima e dopo)?
    Se sì, allora perchè non il test i Wilcoxon per i ranghi con segno, un test per ciascun parametro?

    RispondiElimina
  3. Ciao! volevo complimentarmi con il tuo sito, davvero utile, pieno di informazioni scritte in modo semplice e chiaro! Volevo solo farti notare una cosa. Il test di Kruskal-Wallis stabilisce se le MEDIANE dei gruppi presi in esame sono simili, non le medie.

    RispondiElimina
  4. @Damiano
    Giustissima osservazione: poichè si sta parlando di distribuzione non-normale, si utilizza la mediana, e non la media.
    Grazie anche per i complimenti :)

    RispondiElimina
  5. salve, sto scrivendo la mia tesi..ho due gruppi da confrontare, ma sono di numerosità diversa..quindi si usa il test di levene parametrico o non parametrico? e poi come devo interpretare i risultati? Grazie

    RispondiElimina
  6. ciao, una domanda..per interpretare i risultati del test..incide la numerosità dei vettori? mi spiego meglio..qui, nell'esempio riportato, ogni vettore ha 5 dati..e per interpretare il test, si considera:
    -p-value: se maggiore di 0.05 accetto H0;
    -statistica test: se inferiore al chi-quadro-tabulato accetto H0.
    la mia domanda è: questo vale sempre? indipendentemente dalla numerosità dei vettori? o meglio, nel mio caso, devo confrontare 4 vettori, ciascuno con 33 osservazioni (e non 5 come nell'esempio su riportato)..per decidere se accettare o meno la H0, considero sempre il p-value e la statistica test? grazie:)

    RispondiElimina
  7. buongiorno, scusate la domanda che sembrerà scema ma non ho mai fatto queste cose e le sto studiando da sola. non ho capito cosa devo considerare per capire se accettare o meno l'H0 nel caso del test kruskal-wallis, solitamente non dovrei rifiutare l'H0 quando il p-value è <0,05? perchè qui sembra il contrario? cosa devo considerare? potete spiegarmi per cortesia? ringrazio infinitamente.

    RispondiElimina
  8. Hai un codice in matlab per utilizzare kruskal wallis?

    RispondiElimina
  9. Ciao a tutti, sto cercando uno studente per ripetizioni di statistica a Pavia e che usi e conosca il metodo r. scrivetemi alla mia casella di posta lasciando il vs recapito:laura.demarco73@hotmail.it

    RispondiElimina