Il test t di Student
si utilizza per confrontare le medie, ossia per verificare se il valor medio dei dati di un campione si possa considerare statisticamente diverso dal valor medio di una popolazione.
In questo caso il valore di t risulta :
t= ¯x−μ s
√
ndove ¯x e' il valor medio del campione , n e' il numero di elementi (del campione) e s e' la deviazione standard dei dati del campione definita come s2=
∑
(xi−¯x)2μ e' invece il valor medio della popolazione .n−1
Esempio pratico:
Supponiamo di aver effettuato 13 misure di una certa quantita' (per esempio la MB di 13 galassie ellittiche) e di aver trovato per esse un valore medio pari a -20.3 e una deviazione standard pari a 0.5 . Dobbiamo paragonare il valor medio misurato a quello atteso -21 (cfr. esercizio 9).
abbiamo quindi t=−20.3−21
0.5
√
13t= 5.04778
Dobbiamo confrontare il valore di t coi valori tabulati per stabilire se il valor medio di MB dei dati del nostro campione si possa considerare significativamente diverso da quello della popolazione e con quale probabilita'.
I gradi di liberta' sono 12 (n-1) .
Il valore che abbiamo trovato per t e' superiore a tutti i valori tabulati corrispondenti a diversi livellli di significativita' . Se ne conclude che le medie sono diverse ad un livello di significativita' inferiore a 0.005 (ossia che la probabilita' che si possa considerare il campione estratto dalla popolazione e' inferiore al 5/1000).
Il livello di confidenza e' pari a 1 – livello di significativita' (nel caso specifico c.l. 0.995)
La tabella ha mostrato che il valore che abbiamo ottenuto per la t era superiore a quello corrispondente ad un livello di significativita' (detto anche P-value) dello 0.005 (che signfica che il P-value e' inferiore a tale valore)
L'istruzione t_pdf in GDL mi da' l'esatto livello di confidenza (pari a 1 – P-value) a cui posso considerare diverse le medie GDL> print,t_pdf(5.04778,12)
GDL> 0.99986
Mentre se voglio riprodurre i dati della Tabella (esempio 6 gradi di liberta' confidenza 0.01)
posso usare
GDL>print,t_cvf(0.01,6) GDL>3.14267.
Tutti i test statistici di significativita' assumono l'ipotesi zero ( o ipotesi nulla). Ipotesi che prevede che non vi sia alcuna differenza fra i campioni che vengono confrontati riguardo al parametro considerato.
Pertanto, se l'ipotesi nulla e' verificata i campioni vengono considerati parte della stessa popolazione e le differenze riscontrare attribuibili solo al caso.
Se si decide di respingere l'ipotesi nulla (sulla base del risultato del test) la decisione potrebbe essere giusta ma anche sbagliata.
La probabilita' dello sbaglio e' il livello di significativita' del test , (detto anche P-value) e di solito viene scelta (da chi esegue il test) pari a 0.05 (5%) o a 0.01 (1%). Con un P-value pari a 0.05 ho il 5% delle probabilita' che la differenza che osservo sia dovuta al caso, con 0,01 ho l'1% (risultato piu' forte).
Posso applicare il test di Student a 2 diversi campioni per verificare se i valori medi sono significativamente diversi.
In questo caso la variabile t diviene t= x¯1−x¯2
√
ns121+ns222 dove x¯1 e x¯2 sono I valori medi dei 2campioni e s1 s2 le deviazioni standard n1 e n2 gli elementi di ciascun campione.
I gradi di liberta' sono n1+n2−2 .
ESERCIZIO 12
Vogliamo verificare se le MB e le velocita' di dispersione sono significativamente diverse per galassie ellittiche e galassie S0.
Per farlo dobbiamo avere i dati.
1- collegarsi con Hyperleda
(http://leda.univ-lyon1.fr/) e capire quali dati servono e come possiamo scaricarli (con una query).
Suggerimento : mettere un identificativo nel box quick search (es N 1300, N 3232) e vedere come si chiamano i dati che ci servono
2 oltre a MB e velocity dispersion serve la velocita' di recessione di Hubble e ovviamente il tipo morfologico (si chiama t) se ci cliccate sopra vedete a cosa corrisponde.
3- la velocita' di recessione serve per evitare l'effetto MB distanza. Una volta che avete scaricato I dati fate un plot MB versus velocita' di recessione e capirete il problema.... va risolto prima di procedere con il calcolo dei valori medi.
Esempio di come leggere con GDL un file che si chiama gal.dat e che contiene 1000 righe di dati distribuite su 3 colonne
data=fltarr(3,1000) openr,1,'gal.dat' readf,1,data
print,data(0,1),data(1,1),data(6,1) close,1
(l'istruzione print mi serve per controllare che stia leggendo i dati in modo corretto).
Se non so quante righe contenga il file posso saperlo usando l'istruzione
file_lines('gal.dat') ovvero
n=file_lines('gal.dat') data=fltarr(3,n) openr,1,'gal.dat' readf,1,data
print,data(0,1),data(1,1),data(6,1) close,1