07.06.2013 Views

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

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!