Metodi di ricampionamento: jacknife, bootstrap e test di ipotesi
Metodi di ricampionamento: jacknife, bootstrap e test di ipotesi
Metodi di ricampionamento: jacknife, bootstrap e test di ipotesi
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Meto<strong>di</strong></strong> <strong>di</strong> <strong>ricampionamento</strong>:<br />
<strong>jacknife</strong>, <strong>bootstrap</strong> e <strong>test</strong> <strong>di</strong> <strong>ipotesi</strong><br />
Riccardo Bellazzi<br />
Laboratory for BioMe<strong>di</strong>cal<br />
Informatics<br />
University of Pavia, Italy
Concetti introduttivi<br />
Supponiamo <strong>di</strong> effettuare un esperimento in cui osserviamo<br />
una variabile casuale X osservabile che assume valori in S.<br />
X è costituito da n osservazioni X = (X 1 , X 2 , ..., X n )<br />
in<strong>di</strong>pendenti e identicamente <strong>di</strong>stribuite (IID).<br />
Una statistica è una funzione osservabile dell'esito <strong>di</strong> un<br />
esperimento casuale: W = h(X).<br />
Una statistica è quin<strong>di</strong> una variabile casuale derivata dai<br />
dati X, con l'<strong>ipotesi</strong> che anche W sia osservabile.<br />
Anche W può essere un vettore.<br />
Un parametro a è un valore che permette <strong>di</strong> specificare la<br />
<strong>di</strong>stribuzione <strong>di</strong> X, che assume valori in uno spazio<br />
parametrico A. Di solito, la <strong>di</strong>stribuzione<br />
<strong>di</strong> X avrà k parametri reali <strong>di</strong> interesse, e a= (a 1, a 2, ..., a k),<br />
con A è sottoinsieme <strong>di</strong> R k.<br />
In molti casi, uno o più parametri sono sconosciuti e devono<br />
essere stimati a partire da X.<br />
Adattato da:http://www.ds.unifi.it/VL/VL_IT/index.html
Proprietà degli stimatori<br />
Supponiamo <strong>di</strong> avere un parametro reale ignoto a che<br />
assume valori in uno spazio parametrico A in R. Una<br />
statistica a valori reali W che si utilizza per stimare a è<br />
detta stimatore <strong>di</strong> a.<br />
Quin<strong>di</strong> uno stimatore è una variabile casuale e possiede<br />
pertanto una <strong>di</strong>stribuzione, valore atteso, varianza e<br />
così via. Quando si esegue l'esperimento e si osservano<br />
i dati, il valore osservato w (che è un numero) è<br />
la stima del parametro a.<br />
L'errore (variabile casuale) è la <strong>di</strong>fferenza tra lo<br />
stimatore e il parametro: W - a.<br />
Il valore atteso dell'errore è detto <strong>di</strong>storsione o bias:<br />
bias(W) = E(W - a)
Bias
Me<strong>di</strong>a campionaria
Altre proprietà<br />
Supponiamo <strong>di</strong> poter effettuare varie stime W n in<br />
relazione al numero <strong>di</strong> dati che abbiamo a<br />
<strong>di</strong>sposizione<br />
La sequenza <strong>di</strong> stimatori W n si<br />
<strong>di</strong>ce asintoticamente corretta per a se:<br />
bias(W n ) 0 per n ∞<br />
La sequenza <strong>di</strong> stimatori W n è consistente per a se<br />
W n converge in probabilità ad a per n che tende a<br />
infinito:<br />
P (| W n - a| > r) 0 per n ∞ per ogni r > 0 e<br />
ogni a appartenente a A.
Il problema della stima in ambiti complessi<br />
Calcolare le proprietà dello stimatore può<br />
essere complesso.<br />
Nel caso della me<strong>di</strong>a è semplice:<br />
Cosa succede se invece utilizziamo la<br />
me<strong>di</strong>ana? O la moda? Non possiamo fare<br />
i calcoli in modo analitico
Jacknife<br />
Bootstrap<br />
<strong>Meto<strong>di</strong></strong> <strong>di</strong> <strong>ricampionamento</strong>
Jacknife<br />
La tecnica <strong>di</strong> <strong>jacknife</strong> (o leave-oneout)<br />
fornisce una procedura generale per<br />
stimare la varianza ed il bias <strong>di</strong> uno<br />
stimatore generico<br />
La tecnica venne proposta per la prima<br />
volta da Quenouille nel 1949.<br />
L’idea <strong>di</strong> base consiste nel togliere un<br />
campione alla volta e ricalcolare lo<br />
stimatore
Jacknife per la me<strong>di</strong>a<br />
Partendo dal nostro data set X, togliamo<br />
l’i-esimo campione da X e calcoliamo la<br />
stima leave-one-out (LOO) della me<strong>di</strong>a<br />
dagli n-1 campioni rimanenti<br />
Il valore <strong>di</strong> X i può essere calcolato sulla base della conoscenza dei<br />
valori della me<strong>di</strong>a complessiva e della me<strong>di</strong>a dell’i-esima iterata
Jacknife: lo stimatore (1)<br />
Supponiamo <strong>di</strong> impiegare uno stimatore<br />
arbitrario funzione degli n punti (W) e <strong>di</strong><br />
effettuare la stima LOO (W (i) ) per ogni i.<br />
In analogia con quanto effettuato per la<br />
me<strong>di</strong>a, possiamo calcolare gli i<br />
pseudovalori come
Jacknife: lo stimatore (2)<br />
Lo stimatore Jacknife <strong>di</strong>venta allora:
€<br />
Jacknife: Bias<br />
La stima Jacknife del Bias è:<br />
bias JK (W ) = W −W JK =<br />
= W − nW + (n −1)W (.) = (n −1)(W (.) −W )<br />
Possiamo correggere la stima W<br />
eliminando il bias:<br />
W '= W − bias JK (W ) = nW − (n −1)W (.)
Jackknife: Varianza<br />
La stima Jacknife della Varianza è:
Jacknife<br />
Le stime <strong>jacknife</strong> riducono il bias<br />
Lo stimatore può avere dei problemi in<br />
alcuni casi, come ad esempio la me<strong>di</strong>ana<br />
Questi casi corrispondono a statistiche la<br />
cui <strong>di</strong>stribuzione <strong>di</strong> probabilità non è<br />
smooth (piccoli cambiamenti nei dati<br />
causano gran<strong>di</strong> cambiamenti nei risultati)
Boostrap<br />
Inventato nel 1979 come metodo per la<br />
stima della varianza<br />
Deriva il suo nome dalle avventure del<br />
Barone <strong>di</strong> Munchausen<br />
Rispetto ad alcune proprietà migliora le<br />
caratteristiche del <strong>jacknife</strong>
Il metodo <strong>di</strong> Bootstrap (con <strong>di</strong>stribuzione<br />
incognita dei dati)<br />
Supponiamo <strong>di</strong> voler calcolare un<br />
parametro a e <strong>di</strong> utilizzare uno stimatore<br />
W, <strong>di</strong> cui vogliamo calcolare bias e<br />
varianza<br />
Dal nostro data set X=(X 1, …, X n)<br />
ricaviamo B nuovi data set (X b , b=1,.. B)<br />
della stessa <strong>di</strong>mensione, n, ottenuti<br />
campionando i casi <strong>di</strong> X con risostituzione<br />
Ogni X b viene detto <strong>bootstrap</strong> sample
Bootstrap: varianza<br />
Possiamo calcolare la stima W (b) per<br />
ognuno dei <strong>bootstrap</strong> samples<br />
La stima Boostrap della Varianza è:
Bootstrap: bias<br />
La stima Bootstrap del Bias è:<br />
bias bs(W ) = W (.) −W<br />
E’ pertanto possibile correggere la stima<br />
eliminando il bias come:<br />
€
Bootstrap<br />
Grazie ai meto<strong>di</strong> <strong>di</strong> <strong>bootstrap</strong> e’ possibile<br />
calcolare i percentili per W, trovando i<br />
limiti inferiori (α/2) e superiori (1-α/2)<br />
con un certo intervallo <strong>di</strong> confidenza
Limiti dei meto<strong>di</strong> <strong>di</strong> <strong>bootstrap</strong> nel caso <strong>di</strong><br />
<strong>ricampionamento</strong><br />
Dati n campioni <strong>di</strong>stinti ci sono fino a<br />
Differenti campioni <strong>di</strong> <strong>bootstrap</strong>. Le<br />
statistiche sono pertanto limitate<br />
superiormente in termini <strong>di</strong> numerosità
Bootstrap e <strong>di</strong>stribuzioni parametriche note<br />
E’ possibile applicare il metodo anche<br />
quando si vogliono calcolare delle<br />
statistiche complesse da campioni estratti<br />
da <strong>di</strong>stribuzioni <strong>di</strong> probabilità note.<br />
L’unica <strong>di</strong>fferenza è che invece <strong>di</strong><br />
ricampionare i dati si estraggono dei<br />
campioni <strong>di</strong> <strong>di</strong>mensione n dati dalle pdf
<strong>Meto<strong>di</strong></strong> <strong>di</strong> <strong>ricampionamento</strong> e <strong>test</strong> <strong>di</strong> <strong>ipotesi</strong>
Metodo Monte Carlo<br />
Supponiamo che sia stata osservata una statistica<br />
W su un data set con n casi<br />
Campioniamo R volte n campioni dalla <strong>di</strong>stribuzione<br />
nulla e calcoliamo le statistiche w (1) , w (2) , …, w (R)<br />
Se l’<strong>ipotesi</strong> nulla è vera allora w (1), w (2), …, w (R), W<br />
sono R+1 campioni estratti dalla stessa<br />
<strong>di</strong>stribuzione<br />
Il p-value <strong>di</strong> un’<strong>ipotesi</strong> uni<strong>di</strong>rezionale viene<br />
calcolato come<br />
p val = P w > W | H 0<br />
( ) = # (w (i) > W )<br />
R +1
Test <strong>di</strong> randomizzazione (Fisher, 1935)<br />
Supponiamo <strong>di</strong> avere dei dati complessi<br />
che sembrano mostrare delle regolarità<br />
I <strong>test</strong> <strong>di</strong> randomizzazione utilizzano<br />
l’<strong>ipotesi</strong> che i dati siano random come<br />
<strong>ipotesi</strong> nulla<br />
Per realizzare il <strong>test</strong>, vengono effettuate<br />
<strong>di</strong>verse trasformazioni casuali dei dati
Esempio<br />
Supponiamo <strong>di</strong> avere una sequenza <strong>di</strong> DNA e<br />
osserviamo che sono presenti delle ripetizioni<br />
apparentemente non casuali. Siano le ripetizioni<br />
pari a 17<br />
L’<strong>ipotesi</strong> nulla è che l’or<strong>di</strong>ne delle basi è casuale<br />
Si costruisce una <strong>di</strong>stribuzione empirica<br />
prendendo il campione originale e scambiando<br />
le basi casualmente per R=1000 volte<br />
Se soltanto 5 dei 1000 campioni presenta un<br />
numero <strong>di</strong> ripetizioni maggiore o uguale a 17, la<br />
probabilità <strong>di</strong> vedere 17 ripetizioni sotto l’<strong>ipotesi</strong><br />
nulla è 0,005
Test basati sulle permutazioni<br />
Introdotti da Fisher nel 1930; stu<strong>di</strong>ati in generale per<br />
due campioni<br />
Supponiamo <strong>di</strong> avere un campione x <strong>di</strong> n elementi<br />
estratti dalla pdf F, ed un campione y <strong>di</strong> m elementi,<br />
estratto dalla pdf G.<br />
L’<strong>ipotesi</strong> nulla è che non vi siano <strong>di</strong>fferenze fra F e G<br />
Per prima cosa calcoliamo la <strong>di</strong>fferenza fra le me<strong>di</strong>e<br />
Se W è grande, l’evidenza contro H è forte. L’idea è<br />
quella <strong>di</strong> calcolare il livello <strong>di</strong> significatività:
Test sulle permutazioni 2<br />
Se l’<strong>ipotesi</strong> nulla fosse vera le misure X e Y<br />
potrebbero essere state estratte<br />
equivalentemente da entrambi i gruppi<br />
Così vengono inserite in un unico gruppo le m+n<br />
osservazioni e quin<strong>di</strong> pren<strong>di</strong>amo un campione <strong>di</strong><br />
grandezza n senza rimpiazzamento per<br />
rappresentare il primo gruppo, così che i<br />
rimanenti m campioni rappresentano il secondo<br />
gruppo<br />
Calcoliamo<br />
Ripetiamo la procedura R volte, ottenendo la<br />
<strong>di</strong>stribuzione nulla delle <strong>di</strong>fferenze
Test delle permutazioni 3<br />
Verifichiamo la posizione <strong>di</strong> W nella<br />
<strong>di</strong>stribuzione nulla delle <strong>di</strong>fferenze.<br />
Se W è al (1-α)% della <strong>di</strong>stribuzione (o si<br />
trova a (α/2)% o (1-α/2)%) si può<br />
rifiutare l’<strong>ipotesi</strong> nulla<br />
I <strong>test</strong> delle permutazioni <strong>di</strong>pendono dal<br />
seguente lemma: “tutte le permutazioni<br />
dei dati X,Y sono equiprobabili sotto<br />
l’<strong>ipotesi</strong> nulla”
Test delle permutazioni 4<br />
Supponiamo <strong>di</strong> avere i seguenti dati:<br />
Li or<strong>di</strong>niamo come segue:
Test delle permutazioni - 5<br />
Stu<strong>di</strong>amo il vettore g dei gruppi, corrispondenti<br />
alle etichette dei valori or<strong>di</strong>nati<br />
Il vettore g contiene N simboli <strong>di</strong> tipo X e M<br />
simboli <strong>di</strong> tipo Y<br />
Ci sono possibili mo<strong>di</strong> <strong>di</strong> partizionare un<br />
vettore <strong>di</strong> N+M elementi in due sottoinsiemi <strong>di</strong><br />
<strong>di</strong>mensione N e M<br />
Il lemma del <strong>test</strong> delle permutazioni afferma<br />
che ogni possibile permutazione ha probabilità<br />
<strong>di</strong> avvenire se F=G
Esercizio<br />
Utilizzando Matlab, si paragonino le due<br />
<strong>di</strong>stribuzioni utilizzando il <strong>test</strong> delle<br />
permutazioni con R=100 ripetizioni:<br />
t=[94 197 16 38 99 141 23];<br />
c=[52 104 146 10 50 31 40 27 46];<br />
[t c]<br />
dati=[t c];<br />
Delta=mean(t)-mean(c);<br />
Nsamp=100<br />
for i=1:Nsamp,<br />
dati_r=dati(randperm(length(dati(1,:))));<br />
delta(i)=mean(dati_r(1:length(t)))-mean(dati_r(length(t)+1:end));<br />
end<br />
perc=length(find(delta>Delta))/(Nsamp+1)
Bootstrap <strong>test</strong><br />
Sia X un campione <strong>di</strong> grandezza n estratto da F<br />
e Y un campione <strong>di</strong> grandezza m estratto da G.<br />
I due campioni sono estratti in modo<br />
in<strong>di</strong>pendente<br />
Sia H0: F=G<br />
Formiamo B campioni <strong>di</strong> <strong>bootstrap</strong> dal set Z=<br />
{X,Y} campionando con risostituzione e<br />
assegnando i primi n campioni a X (b) e i<br />
rimanenti m a Y (b)<br />
Calcoliamo le <strong>di</strong>fferenze
Bootstrap <strong>test</strong> - 2<br />
Valutiamo la posizione <strong>di</strong> W rispetto alla<br />
<strong>di</strong>stribuzione dei W (b) e deci<strong>di</strong>amo se<br />
accettare o rifiutare l’<strong>ipotesi</strong> nulla<br />
La sola <strong>di</strong>fferenza con i meto<strong>di</strong> basati<br />
sulle permutazioni è che i campioni sono<br />
estratti con risostituzione
Paragone fra <strong>bootstrap</strong> e permutazione<br />
La permutazione si effettua solo per paragonare<br />
fra loro <strong>di</strong>stribuzioni<br />
Se venissero fatte tutte le permutazioni il<br />
calcolo del p-value sarebbe esatto<br />
Il <strong>bootstrap</strong> converge all’<strong>ipotesi</strong> nulla “vera”<br />
solo se il campione tende all’infinito<br />
Il metodo <strong>di</strong> <strong>bootstrap</strong> si può utilizzare anche<br />
per paragonare statistiche generali e non solo le<br />
<strong>di</strong>stribuzioni
t=[94 197 16 38 99 141<br />
23];<br />
c=[52 104 146 10 50 …<br />
31 40 27 46];<br />
[t c]<br />
dati=[t c];<br />
Delta=mean(t)-mean(c);<br />
Co<strong>di</strong>ce<br />
% <strong>ricampionamento</strong><br />
for i=1:100,<br />
dati_r=dati(randperm(length(dati(1,:))));<br />
delta(i)=mean(dati_r(1:length(t)))-mean(dati_r(length(t)+1:end));<br />
end<br />
hist(delta)<br />
perc=length(find(delta>Delta))/100<br />
for i=1:100,<br />
<strong>bootstrap</strong>=dati(randsample(length(dati(1,:)),length(dati(1,:)),true))<br />
dati_t=<strong>bootstrap</strong>(1:length(t))<br />
dati_c=<strong>bootstrap</strong>(length(t)+1:end)<br />
deltab(i)=mean(dati_t)-mean(dati_c);<br />
end<br />
figure<br />
hist(deltab)<br />
percb=length(find(deltab>Delta))/100
Bootstrap e errore <strong>di</strong> pre<strong>di</strong>zione<br />
Supponiamo <strong>di</strong> avere un modello che è in grado <strong>di</strong><br />
effettuare delle pre<strong>di</strong>zioni h(x,q) su una variabile y dopo<br />
la stima <strong>di</strong> un set <strong>di</strong> parametri q.<br />
La bontà del modello può essere valutata con il calcolo<br />
dell’MSE<br />
Possiamo effettuare una stima <strong>di</strong> MSE anche me<strong>di</strong>ante il<br />
metodo <strong>di</strong> <strong>bootstrap</strong>
Bootstrap e errore <strong>di</strong> pre<strong>di</strong>zione<br />
La stima non funziona molto bene, viceversa il<br />
metodo viene usato per stimare il bias<br />
MSE empirico è calcolato sul dataset <strong>di</strong><br />
<strong>bootstrap</strong>
Altre stime <strong>di</strong> <strong>bootstrap</strong><br />
Se consideriamo lo stimatore non corretto <strong>di</strong> MSE (MSE BS ),<br />
ve<strong>di</strong>amo che viene effettuato sul data set originale, che<br />
contiene sia esempi che appartengono al data set su cui è<br />
stato appreso il modello sia esempi che non sono stati<br />
utilizzati nell’appren<strong>di</strong>mento<br />
per n∞ la percentuale <strong>di</strong> punti che rimangono nel<br />
<strong>bootstrap</strong> sample è il 63,2% del campione originale<br />
Possiamo allora calcolare la stima <strong>di</strong> MSE usando solo i<br />
campioni del “<strong>test</strong>” set<br />
Dove C i è l’insieme degli in<strong>di</strong>ci del <strong>bootstrap</strong> sample b che non<br />
contengono l’iesimo campione, e B i è il numero <strong>di</strong> questi campioni
.632 <strong>bootstrap</strong><br />
La stima MSE 0 è una stima pessimistica<br />
dell’errore <strong>di</strong> generalizzazione. Viceversa<br />
MSE BS è una stima ottimistica.<br />
E’ stata proposta in modo empirico la me<strong>di</strong>a<br />
pesata fra i due, con il peso determinato sulla<br />
base della percentuale dei dati che si trovano<br />
in un <strong>bootstrap</strong> sample
Acknowledgements<br />
Slides tratte dal corso: “Resampling<br />
techniques for statistical modeling” <strong>di</strong><br />
Gianluca Bontempi, Department<br />
d’Informatique, Boulevard de Triomphe,<br />
CP 212, Bruxelles, http://www.ulb.ac.be/<br />
<strong>di</strong>