sabato 15 novembre 2008

Test t a due campioni #2

Confronto delle medie di due gruppi di campioni indipendenti, estratti da due popolazioni a varianza incognita; varianze campionarie non omogenee.

Si chiede di confrontare le medie delle altezze di due gruppi. I dati vengono riportati qui di seguito (i valori sono completamente inventati).

A: 175, 168, 168, 190, 156, 181, 182, 175, 174, 179
B: 120, 180, 125, 188, 130, 190, 110, 185, 112, 188

Per risolvere questo problema dobbiamo ricorrere ad un test t di student a due campioni (come vedremo un po’ diverso dal precedente), supponendo che i due campioni siano estratti da popolazioni che seguano una distribuzione di tipo gaussiana (nel caso in cui non si possa supporre ciò, si risolve questo problema sfruttando il metodo non parametrico, chiamato test di Wilcoxon-Mann-Whitney). Prima di procedere con il t-test, è necessario valutare le varianze campionarie dei due gruppi, ossia effettuare un test F di Fisher per verificare l’omoschedasticità (omogeneità delle varianze). In R si procede così:

> a = c(175, 168, 168, 190, 156, 181, 182, 175, 174, 179)
> b = c(120, 180, 125, 188, 130, 190, 110, 185, 112, 188)
>
> var.test(b,a)

F test to compare two variances

data: b and a
F = 14.6431, num df = 9, denom df = 9, p-value = 0.0004636
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
3.637133 58.952936
sample estimates:
ratio of variances
14.64308


Abbiamo ottenuto p-value minore di 0.05, quindi le due varianze non sono omogenee. Difatti possiamo confrontare il valore di F ottenuto con il valore di F tabulato per alpha = 0.05, gradi di libertà del numeratore = 9, e gradi di libertà del denominatore = 9, utilizzando la funzione qf(p, df.num, df.den):

> qf(0.95, 9, 9)
[1] 3.178893


Notiamo che il valore di F-calcolato è maggiore del valore di F-tabulato, il che ci porta a rifiutare l’ipotesi di omogeneità delle varianze.
NOTA: come potete vedere, non ho richiamato la funzione var.test(a,b), ma la funzione var.test(b,a), perchè per convenzione per calcolare il valore di F di Fisher si esegue il rapporto tra le varianze campionarie, con al numeratore la varianza maggiore (al fine di ottenere un valore di F sempre maggiore di 1). Se avessi calcolato var.test(a,b) avrei ottenuto un valore di F minore di 1 (0.002 all'incirca): ottenere un risultato del genere ci obbliga a ripetere il test di Fisher invertendo i parametri, così da ottenere il valore di F maggiore di 1, che può essere confrontato con il valore F-tabulato. Se invece basiamo la nostra decisione solo sul valore di p-value, allora non occorre badare a questo dettaglio, perchè il p-value di var.test(a,b) è uguale al p-value di var.test(b,a).

Richiamiamo quindi la funzione t.test per varianze non omogenee (var.equal=FALSE, che si può anche omettere, perché di default la funzione lavora su varianza non omogenee) e campioni indipendenti (paired=FALSE, che si può anche omettere perché di default la funzione lavora su campioni indipendenti) in questo modo:

> t.test(a,b, var.equal=FALSE, paired=FALSE)

Welch Two Sample t-test

data: a and b
t = 1.8827, df = 10.224, p-value = 0.08848
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.95955 47.95955
sample estimates:
mean of x mean of y
174.8 152.8


Come vediamo nella intestazione, è stato eseguito un t-test su due campioni con il calcolo dei gradi di libertà secondo la formula di Welch-Satterthwaite (il risultato della formula applicata lo possiamo leggere in df = 10.224), cui si ricorre nel caso in cui le varianze non siano omogenee (si applica la formula di Welch-Satterwhaite per il calcolo dei gradi di libertà in k gruppi a varianze non omogenee; nel caso k = 2, come questo, la formula prende anche il nome di formula di Dixon-Massey).
Abbiamo ottenuto p-value maggiore di 0.05, quindi possiamo concludere che le medie dei due gruppi sono significativamente simili (seppur di poco, visto che p-value è molto vicino alla soglia limite 0.05). Difatti il valore di t è minore rispetto al valore t-tabulato per 10.224 gradi di libertà, che in R possiamo calcolare così:

> qt(0.975, 10.224)
[1] 2.221539


Questo ci conferma che possiamo accettare l’ipotesi H0 di uguaglianza delle medie.

Per completezza ecco le formule per il calcolo dei gradi di libertà:

Welch-Satterthwaite equation:



Dixon-Massey equation:


Nessun commento:

Posta un commento