I test statistici sulle frequenze
‐ test ² (chi quadrato)
‐ test “esatto” di Fisher
‐ test di McNemar
Camillo Pieramati
Facoltà di Medicina Veterinaria di Perugia
Perugia, 9 settembre 2011
2 “chi quadrato” (indice di dispersione di Pearson)
2
(O ‐
E)
2 = 
E
dove: O è la frequenza osservata (Observed)
E è la frequenza attesa (Expected)
‐ non si può usare con meno di 5 osservazioni (si usa il Test “esatto” di Fisher)
‐ fino a 50 o 100 osservazioni si usa la correzione di Yates
‐ per dati appaiati si usa il test di McNemar
2
(O ‐
E)
2 = 
E
nota bene:
‐O ed E sono frequenze assolute (NON relative, o percentuali: c.d. “conteggi”)
‐ lo scarto è elevato al quadrato
‐ non tutti i termini della sommatoria sono liberi di assumere
qualsiasi valore (g.d.l.)
‐ lo scarto (quadrato) è ponderato per l’attesa
Funzione di densità di probabilità del  di Pearson
(2)/2 ‐ 1
f(2) =
2/2
‐
e
2/2 (/2)
dove: 2 è il valore osservato
 sono i g.d.l.
Funzione di densità di probabilità del 
0.15
0.10
0.05
0.00
densità di P
0.20
0.25
verde 2 gdl - blu 4 gdl - rosso 10 gdl
0
5
10
15
chi quadrato
20
25
30
Funzione di densità di probabilità del 
funzione diretta
=DISTRIB.CHI(x;gradi_di_libertà)
funzione inversa
=INV.CHI(probabilità;gradi_di_libertà)
ad esempio:
=DISTRIB.CHI(3,841;1)
0,05
=INV.CHI(0,05;1)
3,841
Funzione di densità di probabilità del 
Lancio di una moneta
a priori: P(testa) = P(croce) = 0,5
21g.d.l. =
bontà dell’adattamento (“goodness of fit”)
(teste ‐ teste attese)2
(croci ‐ croci attese)2
+
teste attese
croci attese
‐ meno di 5 osservazioni: Test “esatto”
‐ da 5 a 100 osservazioni: correzione di Yates (per la continuità)
- sottrarre 0,5 al valore più elevato di scostamento
- sommare 0,5 al valore più basso di scostamento
- solo dopo elevare al quadrato
Lancio di un dado
=TEST.CHI(intervallo_effettivo;intervallo_previsto)
 (la probabilità di errore di I tipo)
Tabella di contingenza
SESSO
RISPOSTA
2 x 2
M
F
+
107
84
191
a
b
n1
‐
132
121
253
c
d
n2
239
205
444
n3
n4
N
g.d.l. = (righe‐1)(colonne‐1)
tabella 2 x 2 (2‐1)(2‐1) = 1 g.d.l.
I VALORI ATTESI (in caso di probabilità indipendenti fra righe e colonne)
P(prima riga) = n1/N
a
b
n1
P(prima colonna) = n3/N
c
d
n2
P(seconda colonna) = n4/N
n3
n4
N
P(seconda riga) = n2/N
P(a) = P(1r  1c) = P(1r) * P(1c)
P(b) = P(1r  2c) = P(1r) * P(2c)
P(c) = P(2r  1c) = P(2r) * P(1c)
P(d) = P(2r  2c) = P(2r) * P(2c)
E[a] = P(a) N = n1/N * n3/N * N = n1 * n3 / N (102,81)
E[b] = P(b) N = n1/N * n4/N * N = n1 * n4 / N (88,19)
E[c] = P(c) N = n2/N * n3/N * N = n2 * n3 / N (136,19)
E[d] = P(d) N = n2/N * n4/N * N = n2 * n4 / N (116,81)
ovvero E[cella] = totale di riga x totale di colonna / totale generale
Tabella di contingenza
SESSO
RISPOSTA
2 x 2
M
F
+
107
84
191
a
b
n1
‐
132
121
253
c
d
n2
239
205
444
n3
n4
N
g.d.l. = 1
21g.d.l. ≈
(107 – 102,81)2
(84 – 88,19)2
(132 – 136,19)2
(121 – 116,81)2
+
+
+
=
102,81
88,19
136,19
116,81
= 0,171 + 0,199 + 0,129 + 0,150 = 0,649
2 < 21;0,05  accetto H0
Tabella di contingenza
Tabella di contingenza
www.r‐project.org
Pearson's Chi-squared test
X-squared = 0.6481, df = 1, p-value = 0.4208
Formule brevi per le tabelle di contingenza
Tabellina 2 x 2
2
=
2 =
(ad ‐ bc)2 N
n1 n2 n3 n4
(107 * 121 ‐ 84 * 132)2 444
191 * 253 * 239 * 205
 0,648
2N
(|ad ‐
bc| ‐
N/2)
con correzione di Yates  2 =
n1 n2 n3 n4
Formule brevi per le tabelle di contingenza
Tabelline m x n (c.d. metodo semplificato di Skory)
a
e
i
b
f
j
c
g
k
d
h
l
n1 n2 n3 n4
a2/m1 + e2/m2 + i2/m3 = N1
b2/m1 + f2/m2 + j2/m3 = N2
c2/m1 + g2/m2 + k2/m3 = N3
d2/m1 + h2/m2 + l2/m3 = N4
m1
m2
m3
N
 (associazione)
N
( Nn
1
1
N
N
N
+ n2 + n3 + n4 ‐ 1
2
3
4
dimensione del campione
Tabellina m x n con (m‐1)(n‐1) gdl ) = 
2
significatività statistica
si può scomporre il 2 in (m‐1)(n‐1) tabelline 2 x 2 indipendenti
Il test “esatto” di Fisher per piccoli campioni
t1
a
c
n3
+
‐
t2
b
d
n4
P(tabella) = ?
n1
n2
N
esaminando i risultati favorevoli n1 con la distribuzione binomiale
n3
P1a Q1n3 ‐ a =
a
n4
P(b) =
P2b Q2n4 ‐ b =
b
N
P(n1) =
Pn1 Q1N ‐ n1 =
n1
P(a) =
( )
( )
( )
e quindi
t1 t2 trattamento
+ ‐ esito
n3
P1a Q1c a
n4
P2b Q2d b
N
Pn1 Qn2
n1
( )
( )
( )
P (tabella|n1) =
n3
a
n4
b
( )
( )P
N
(n )P Q
P1a Q1c n1
1
n2
b
2
Q2d P (tabella|n1) =
n3
a
n4
b
( )
( )P
N
(n ) P Q
P1a Q1c n1
b
2
Q2d n2
1
se H0 : P1 = P2 = P
e quindi anche n3! n4!
P = a! c! b! d! Pa+b Qc+d
/
Q1 = Q2 = Q
N!
Pn1 Qn2 =
n1! n2!
n1! n2! n3! n4!
a! b! c! d! N!
Esempio di test “esatto” di Fisher
1)
Trattamento
Controllo
Morti
2
8
10
Vivi
17
1
18
19
9
28
10! 18! 19! 9!
28! 2! 17! 8! 1!
 0,000117
10! 18! 19! 9!
28! 1! 18! 9! 0!
 0,000001
ma un risultato più estremo e più favorevole è anche:
2)
Trattamento
Controllo
Morti
1
9
10
P = P(1) + P(2) = 0,000118
Vivi
18
0
18
19
9
28
rifiuto H0 : P+|trattamento = P+|controllo
accetto H1 : P+|trattamento > P+|controllo
Test “esatto” di Fisher
www.r‐project.org
Fisher's Exact Test for Count Data
p-value = 0.0001187
Test “esatto” di Fisher e distribuzione ipergeometrica
test “esatto”
n1! n2! n3! n4!
a! b! c! d! N!
( na ) ( nb )
( Nn )
3
=
4
distribuzione ipergeometrica
1
=DISTRIB.IPERGEOM(successi_campione;numerosità_campione;successi_popolazione;numerosità_popolazione)
Il test di McNemar (per dati appaiati)
B
+
‐
A
+
a
c
‐
b
d
stesso animale, 2 trattamenti ed esito discordante
oppure
coppia caso‐controllo con rischio discordante b + c
Expected: ;
2
Observed: b ; c
21gdl
=
(
b ‐ b + c
2
b + c
2
2
c ‐ b + c
2
+
b + c
2
) (
2
) (
=
b ‐ c 2 c ‐ b
2 +
2
b + c
2
) (
2
)
=
b + c
2
2 (c ‐ b)2
4
b + c
2
(c ‐ b)2
=
b + c
Il test di McNemar
B
A
+
‐
+
a
c
‐
b
d
... è un test chi quadrato, e quindi:
21gdl
(c ‐ b)2
=
c + b
campione grande
21gdl
(|c ‐ b| ‐ 1)2
=
c + b
eventuale correzione di continuità
Il test di McNemar
B
A
+
‐
+
a
c
‐
b
d
... è un test chi quadrato, e quindi:
se b<5 e/o c<5 si effettua in maniera esatta con la Distribuzione binomiale
b+c
(

i=b
b+c
i
i
)( )( )
1
2
1
2
b+c ‐ i
=
( )
1
2
b+c b+c
b+c
(

i )
i=b
dove b > c
Test di McNemar (esatto)
=DISTRIB.BINOM(numero_successi;numero_prove;probabilità_successo;cumulo_probabilità)