Diapositiva 1 - Istituto per le Applicazioni del Calcolo
by user
Comments
Transcript
Diapositiva 1 - Istituto per le Applicazioni del Calcolo
Laboratorio Processi Stocastici Annalisa Pascarella Istituto per le Applicazioni del Calcolo "M. Picone" Consiglio Nazionale delle Ricerche Metodo Monte Carlo N L’idea è quella di estrarre un insieme i.i.d. di campioni X i i 1 da una pdf target p definita su uno spazio a grandi dimensioni ai quali sono associati dei pesi wi iN1 tale che l’integrale di una qualsiasi funzione misurabile rispetto alla pdf target p(x) E[ f ( X )] I ( f ) X f ( x) p( x)dx possa essere approssimato dalla somma pesata N I N ( f ) wi f ( X i ) i 1 i pesi wi sono determinati dalla stessa pdf Tre approcci random sampling -> campiono direttamente dalla pdf target importance sampling -> uso una pdf dalla quale so campionare MCMC Random sampling Se X i iN1 è un insieme i.i.d. di campioni generato dalla pdf target p il metodo Monte Carlo approssima la pdf target con la seguente funzione di densità empirica 1 N p N ( x ) ( x xi ) N i 1 Usando tale densità empirica un’approssimazione dell’integrale I si può 1 N I N ( f ) f ( xi ) N i 1 calcolare Per la legge dei grandi numeri si ha la convergenza a I(f) La velocità di convergenza dipende da N e non dallo spazio nel quale vivono i campioni principale vantaggio rispetto alle tecniche di quadratura Random sampling I campioni così ottenuti possono essere usati per calcolare ad es xˆ arg max p ( xi ) Se ad es f(x)=x e la pdf target è la pdf a posteriori p(x|y), I(f) è il valor medio condizionale e una sua stima è xCM 1 N xi N i 1 La principale hp è che si possano estrarre N i.i.d. campioni dalla pdf target nel caso gaussiano esistono diverse routine per campionare da esse in generale si devono campionare pdf complicate => per ottenere un insieme di campioni con cui approssimare l’integrale I(f) si ricorre a tecniche più sofisticate come l’importance sampling o i metoti MCMC Importance sampling L’idea alla base dell’IS è usare una pdf q(x) dalla quale si sa campionare I( f ) X f ( x) p( x) p( x) q ( x)dx E q { f ( x) } E q { f ( x) w( x)} q( x) q( x) q(x) prende il nome di proposal pdf w(x) = p(x)/q(x) il supporto di q deve contenere quello della pdf target p Se si possono estrarre N i.i.d. campioni da q(x) e calcolare i pesi p(x)/q(x) una stima Monte Carlo di I(f) sarà data da 1 N I N ( f ) f ( xi )w( xi ) N i 1 in pratica stiamo effettuando un random sampling di f(x)w(x) Importance sampling Se sono in un contesto di inferenza Bayesiana vorrei poter campionare p(x|y) p ( y | x)p pr ( x) p post ( x | y ) p ( y) campionare tale pdf usando l’IS non è sempre possibile in quanto spesso non si può calcolare la costante di normalizzazione Una possibile soluzione Markox Chain Monte Carlo: usano catene di Markov per generare campioni da usare nell’integrazione Monte Carlo. L’algoritmo Metropolis è considerato tra uno dei dieci metodi che hanno avuto maggiore influenza sulle scienze e l’ingegneria nel XX secolo MCMC Da MC a MCMC L’obiettivo dei metodi MC, e il loro principale utilizzo nelle applicazioni, è l’integrazione stima del valore atteso di una funzione di X ∼ p (x) tramite simulazione di un campione da p (distribuzione target che può essere valutata facilmente ma dalla quale non è immediato campionare). simulare un campione da una generica funzione target p può risultare di fondamentale importanza anche in altri contesti Il metodo Markov Chain Monte Carlo (MCMC), che ci consente di ottenere campioni da funzioni target qualsiasi, consente quindi di raggiungere obiettivi inferenziali più generali del solo calcolo di un integrale. MCMC L’idea di base dei metodi MCMC è di generare un campione dalla distribuzione d’interesse p costruendo una catena di Markov irriducibile e aperiodica, avente la distribuzione target p come distribuzione stazionaria; per n sufficientemente grande, una realizzazione Xn della catena è equivalente ad un campionamento da p . L’applicazione più popolare dei metodi MCMC è nell’ambito dell’inferenza Bayesiana, dove la distribuzione target p è la distribuzione a posteriori, generalmente indicata con π, ed X sono i parametri di interesse, generalmente indicati con θ. Differenze La differenza sostanziale tra il metodo Monte Carlo classico e i metodi MCMC è che nel primo caso i campioni generati sono indipendenti tra loro, mentre nel secondo caso vengono generati attraverso un processo stocastico di Markov. nei metodi MCMC i campioni sono correlati tra loro e di conseguenza vi è la necessità di un maggior numero di iterazioni per avere un risultato sufficientemente accurato. Non sempre è possibile trovare una distribuzione da cui generare i campioni indipendenti, mentre è molto semplice generare una catena di Markov che si muova nello spazio delle soluzioni, addirittura anche nel caso in cui le probabilità che stiamo cercando siano proporzionali a una costante a noi sconosciuta, o di cui è difficile trovare il valore esatto. Catene di Markov Sia Xt il valore di una v.a. a t e sia S={s1, …, sm} l’insieme degli stati. Il processo stocastico {Xt} è un processo di Markov se Pr( X t 1 s j | X 0 s k ,..., X t si ) Pr( X t 1 s j | X t si ) Catene di Markov Nella dinamica delle catene di Markov abbiamo una matrice P, detta matrice di transizione, i cui elementi rappresentano delle probabilità di transizione tra diversi stati. Più precisamente pij è la probabilità condizionata che il sistema si trovi “domani” nello stato j essendo “oggi” nello stato i. P è una matrice stocastica la somma di ogni riga di P è uguale ad 1. Indicato con p0 il vettore iniziale di probabilità degli stati si è interessati a sapere cosa succede al variare di n al vettore pn definito come pn+1 = Ppn = Pnp0, n >= 0 Catene di Markov Si noti che anche Pn è una matrice di transizione avente righe a somma 1, un suo generico elemento di indici i e j rappresenta quindi la probabilità che il sistema si trovi dopo n passi nello stato j trovandosi nello stato i all’istante iniziale. elemento ij della matrice Pn Si è interessati a sapere cosa succede per n crescente. Cosa possiamo dire sul “comportamento” della matrice Pn e di pn? un concetto chiave in questo contesto è la distribuzione stazionaria, che indicheremo d’ora in poi con π. una distribuzione π si dice stazionaria per una catena con probabilità di transizione P(x,y) se p * p *P il vettore delle probabilità di essere in un certo stato è indipendente dalla condizione iniziale. Esempio spazio degli stati S={pioggia, sole, nuvole} 0.5 0.25 0.25 P 0.5 0 0.5 0.25 0.25 0.5 tra 2 giorni p2= p0P2 =(0.375 0.25 0.375) e tra 7 p2= p0P7 =(0.4 0.2 0.4) Se oggi piove p0 = (1 0 0) P(pioggia domani| pioggia oggi) = 0.5 P(sole domani| pioggia oggi) = 0.25 P(nuvole domani| pioggia oggi) = 0.25 Se oggi c’è il sole p0 = (0 1 0) il tempo segue un processo di Markov: la probabilità del tempo di domani dipende solo da quello di oggi tra 2 giorni p2= p0P2 =(0.4375 0.1875 0.375) e tra 7 p2= p0P7 =(0.4 0.2 0.4) Dopo un certo tempo il tempo atteso è indipendente dal vettore delle probabilità iniziali la catena ha raggiunto una distribuzione stazionaria, dove i valori di probabilità sono indipendenti dai valori iniziali di partenza Irriducibilità e aperiodicità Una catena di Markov è irriducibile se nij 0 t.c. pij ij 0 i, j n in altre parole tutti gli stati comunicano con gli altri, è sempre possibile muoversi da uno stato all’altro Una catena di Markov è aperiodica se il numero di step richiesti per muoversi tra due stati non è un multiplo di qualche intero. La catena non è intrappolata in qualche ciclo di lunghezza fissata tra certi stati il periodo di uno stato x è il massimo comune divisore dell’insieme dx={n ≥ 1 : Pn(x, x) > 0}. uno stato x si dice aperiodico se dx = 1. Ergodicità Se {Xt} è una catena di Markox aperiodica e irriducibile con distribuzione stazionaria p p è l’unica distribuzione invariante 1 f ( X i ) f ( x)p ( x)dx E{ f ( X )} lim N N N P lim ( x, y) p ( X ) N La media campionaria degli stati della catena è stimatore consistente del valore atteso della distribuzione limite π, nonostante gli stati siano fra loro dipendenti. Catene reversibili Condizione sufficiente per avere una distribuzione stazionaria è la condizione di reversibilità P ( j , k )p *j p *j P (k , j ) k , j Una catena di Markov che soddisfa tale condizione si dice reversibile L’importanza delle catene reversibili si spiega immediatamente: tale condizione implica che la catena ammette distribuzione stazionaria se esiste una distribuzione π che soddisfa la condizione di reversibilità per una catena di Markov irriducibile e aperiodica la distribuzione π è distribuzione stazionaria e anche distribuzione limite. La costruzione di catene di Markov con distribuzione limite si riduce a trovare probabilità di transizione che soddisfano la condizione di reversibilità MCMC La strategia di campionamento MCMC consiste nella costruzione di catene di Markov aperiodiche e irriducibili per le quali la distribuzione stazionaria sia esattamente la distribuzione target π. Due sono gli algoritmi utilizzati nel contesto della simulazione MCMC: Algoritmo Metropolis-Hasting Algoritmo Gibbs Sampler MCMC Sia S = {s1, s2, . . . , sm} un insieme di stati, dove m è la cardinalità dell’insieme S, e sia X una variabile aleatoria a valori in S, con probabilità pj = P(X = sj ). Sia, inoltre, f una funzione definita su S a valori in R. Si vuole calcolare m E[ f ( X )] f ( s j ) p j j 1 Tale quantità potrebbe essere calcolata direttamente utilizzando la formula sopra riportata. Tuttavia, se la cardinalità di S è molto grande, tale approccio può risultate eccessivamente oneroso. Alternativamente, la quantità potrebbe essere approssimata utilizzando il metodo di Monte Carlo, ovvero campionando la variabile X, e utilizzando lo stimatore di media campionaria. Questo presuppone, tuttavia, di saper campionare dall’insieme S, cosa non sempre scontata. Inoltre, in talune applicazioni, la densità di probabilità è nota soltanto a meno di una costante moltiplicativa il che rende impossibile l’utilizzo delle tecniche menzionate. MCMC L’idea dei metodi Markov Chain Monte Carlo è la seguente se siamo in grado di costruire una catena di Markov Xn sugli stati S, che sia ergodica e abbia p come probabilità limite, possiamo approssimare la quantità mediante n 1 n f ( X i ) n i 0 Per la proprietà di ergodicità, sappiamo infatti lim n n che qualunque sia il punto di partenza della catena. Poiché i primi stati della catena sono fortemente influenzati dallo stato iniziale, è buona norma iniziare a calcolare la media campionaria, lungo la traiettoria della catena, soltanto dopo k iterazioni, con k scelto opportunamente. Definiamo dunque lo stimatore k ,n 1 k n f (Xi ) n i k 1 Metropolis-Hastings Presenteremo ora l’algortimo MCMC universalmente noto con il nome di Metropolis-Hastings. Esso risale all’originale idea di Metropolis, alla base di svariati algoritmi di campionamento (i.e. simulated annealing): l’algoritmo è basato sull’analogia termodinamica con la posizione di equilibrio di un certo numero di molecole in una sostanza, la cui distribuzione è data da un’energia potenziale; dal momento che il campionamento diretto da questa distribuzione non è possibile, Metropolis propose l’utlizzo di metodi Monte Carlo. In seguito, Hastings riprese l’idea originale inserendola nel framework del campionamento da catene di Markov, e mantenendo l’accettazione o il rifiuto del valore campionato nel nucleo di transizione della catena. Metropolis-Hastings L’idea è la seguente: supponiamo di poter costruire una catena di Markov {Xn} irriducibile e aperiodica, con un’unica legge limite p Se noi simuliamo l’evoluzione della catena la legge di Xn al tempo n, quando n ->∞, convergerà a p, indipendentemente dalla legge iniziale scelta. Consideriamo una matrice stocastica Q R mxm irriducibile e aperiodica t.c. qij≠0 se qji≠0 , i,j=1,…,m. Sia Yn la catena di Markov sugli stati S avente Q come matrice di transizione. La catena Yn non avrà, in generale, probabilità limite pari a p. Metropolis-Hastings Costruiamo la matrice di transizione P definita da pij ij qij , i j ij min(1, q jip j qij p i j i ) La catena Xn è ergodica, reversibile e ammette p come distribuzione limite L’equazione di bilancio è infatti soddisfatta p i min(1, q jip j qij p i )qij p j min(1, analizzando i due casi q jip j qij p i pii 1 pij qij p i q jip j )q ji q jip j qij p i l’eq è sempre soddisfatta Dall’equazione di bilancio dettagliato consegue che p è anche probabilità invariante di P, e quindi probabilità limite, essendo la catena ergodica: Metropolis-Hastings - algoritmo Un modo per generare il nuovo stato Xk+1 della catena a partire da Xk campionare la variabile Y avente distribuzione qXkj e calcolare la probabilità di accettazione dello spostamento da xk a y ij min(1, q jip j qij p i ) accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di probabilità uniforme se ( xk , y) t , set xk 1 y, else xk 1 xk se k=K stop else k=k+1 and go to step 2 Esercizio Si consideri un sistema di particelle che possa assumere solo m configurazioni possibili S = {1, 2, . . . ,m}. La probabilità che il sistema si trovi nella configurazione j-esima è pj = Ce−Ej/T (distribuzione di Boltzmann), essendo Ej = j2 l l’energia del sistema, T la temperatura e C la costante di normalizzazione. Scrivere una funzione Matlab che implementi l’algoritmo di Hastings-Metropolis, dati i valori m e T, il numero n di passi da simulare e lo stato iniziale X0 della catena e restituisca il vettore X degli stati visitati. Si prenda la matrice di transizione qij = 1/m (ovvero partendo dallo stato i, lo stato candidato è uno qualunque degli altri stati con uguale probabilità). Si prenda m = 100, T = 100 e si parta da uno stato a caso. Si n valuti lo stimatore. k , n E X4 / n confrontandolo col i k 1 valore esatto i Esercizio S = {1, 2, . . . ,m}, pj = Ce−Ej/T , Ej = j2 function X = my_mh(m,T,n,X0) n numero di passi da simulare, stato iniziale X0 della catena , X vettore degli stati visitati, matrice di transizione qij = 1/m (partendo dallo stato i, lo stato candidato è uno qualunque degli altri stati con uguale probabilità) Algoritmo campionare la variabile Y avente distribuzione qXkj e calcolare la probabilità di accettazione dello spostamento da xk a y. P(Xk=si)=pi q jip j ij min(1, ) qij p i accettare y con tale probabilità; come? estrarre u in [0,1] da una distribuzione di probabilità uniforme ij u, set xk 1 y, else xk 1 xk se k=K stop else k=k+1 and go to step 2 Metropolis-Hastings Costruiamo un opportuno nucleo di transizione P(x, y) tale che p sia la distribuzione stazionaria Un modo immediato è scegliere una q tale che: p(x)P(x, y) = p(y)P(y, x), ∀ (x, y) In tal caso la catena è reversibile, condizione sufficiente perché p sia distribuzione stazionaria della catena risultante. Il nucleo P(x, y) è scelto tale che P(x, y) = q(x, y)α(x, y), se x !=y, dove q(x, y) è un nucleo di transizione arbitrario, mentre α(x, y) è una probabilità di accettazione. la probabilità di accettazione α(·, ·) è scelta in modo che la catena risultante sia reversibile, ovvero q ( y, x)p ( y ) ( x, y ) min(1, ) q ( x, y )p ( x) Metropolis-Hastings Per dimostrare che tale algoritmo genera una catena di Markov la cui densità di equilibrio è p(x) è sufficiente mostrare che il transition kernel P soddisfa l’equazione di bilancio Noi campioniamo da q(x,y) e accettiamo di muoverci con probabilità α(x, y) Il transition kernel è P(x,y)=q(x,y) α(x, y) si dimostra che con questo transition è soddisfatta l’equazione di bilancio la dimostrazione che la condizione di reversibilità è soddisfatta dalla scelta di P e dunque definisce una catena reversibile con distribuzione di equilibrio π, segue immediatamente dalla definizione della probabilità di accettazione. Metropolis-Hastings La scelta del nucleo q(·, ·) è arbitraria, e fornisce uno strumento molto flessibile per la costruzione dell’algoritmo; 5 2 1 3 4 1 1 2 3 4 4 5 … Metropolis-Hastings Il nucleo di transizione q definisce solo una possibile mossa della catena, che deve essere confermata in base ad α; per tale ragione viene solitamente chiamato proposal. La catena potrebbe rimanere nello stesso stato per molte iterazioni: la potenza del metodo si esplica quando si riesce ad avere un tasso di accettazione non troppo basso. q deve dosare opportunamente i movimenti proposti in modo che non risulti troppo basso, ma lo spazio degli stati venga visitato sufficientemente in fretta. Monitoraggio: percentuale di iterazioni in cui la proposta è accettata. Deve essere facile campionare dalla proposal, in quanto il metodo sostituisce il campionamento da p (difficile) con molti campionamenti da q (facili); Metropolis-Hastings - algoritmo inizializzare il contatore delle iterazioni k=0 ed il valore iniziale x0 per lo stato della catena estrarre y da una proposal distribution q(xk,y) e calcolare la probabilità di accettazione dello spostamento da xk a y ( xk , y ) min(1, q ( y, xk )p ( y ) ) q ( xk , y )p ( xk ) accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di probabilità uniforme se ( xk , y) t , set xk 1 y, else xk 1 xk se k=K stop else k=k+1 and go to step 2 Metropolis L'algoritmo base genera una sequenza stocastica di stati, a partire da x0, e la seguente regola dinamica per passare dallo stato x a y: propone un candidato y a partire da q(y,x) che potrebbe dipendere da x. Se il kernel è simmetrico q(x,y)=q(y,x) per ogni x,y allora ( x, y ) min(1, p ( y) ) p ( x) La generazione del candidato si può implementare come y = x + e. Possibili scelte per la distribuzione di e sono distribuzioni di Cauchy, Gaussiane, o T con pochi gradi di liberta. se y usa meno energia dello stato corrente x si accetta con probabilità 1. Altrimenti si accetta con una probabilità esponenzialmente decrescente nella dierenza di energia; formalmente inizializzare il contatore delle iterazioni k=0 ed il valore iniziale x0 per lo stato della catena estrarre y da una proposal distribution q(xk,y) e calcolare la probabilità di accettazione dello spostamento da xk a y ( xk , y ) min(1, q( y, xk )p ( y ) ) q( xk , y )p ( xk ) accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di probabilità uniforme se ( xk , y) t , set xk 1 y, else xk 1 xk se k=K stop else k=k+1 and go to step 2 1 p ( x) 1 x2 q ( x, y ) exp( 1 2 2 x y ) 2 Esercizio Si assuma di voler campionare da una densità di Cauchy non normalizzata 1 y 1 x2 Usiamo il random walk come proposal q( x, y ) exp( 1 2 2 x y ) 2 Riassumendo Le tecniche Monte Carlo per l’approssimazione di integrali possono essere contestualizzate in ambito statistico (inferenziale) e sfruttate per il calcolo di tutte quelle quantità di interesse statistico esprimibili sottoforma di integrali. Le tecniche Markov Chain Monte Carlo, che permettono di ottenere un campione da una qualsiasi distribuzione target di interesse, consentono tra le altre cose di utilizzarlo per calcolare stime e fare inferenza. In questo senso possono considerarsi una generalizzazione delle tecniche Monte Carlo. I metodi di inferenza statistica Bayesiana, basati sulla simulazione stocastica, utilizzano campioni dalla distribuzione a posteriori (target) per riassumere l’informazione in essa contenuta.