laboratorio processi stocastici annalisa pascarella istituto per le applicazioni del calcolo...
TRANSCRIPT
Laboratorio Processi Stocastici
Annalisa Pascarella
Istituto per le Applicazioni del Calcolo "M.
Picone"Consiglio Nazionale delle Ricerche
Metodo Monte Carlo L’idea è quella di estrarre un insieme i.i.d. di
campioni da una pdf target p definita su uno spazio a grandi dimensioni ai quali sono associati dei pesi tale che l’integrale di una qualsiasi funzione misurabile rispetto alla pdf target p(x)
possa essere approssimato dalla somma pesata
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
)()(1
i
N
iiN XfwfI
NiiX 1
Niiw 1
X
dxxpxffIXfE )()()()]([
Random sampling Se è 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
Usando tale densità empirica si può calcolare un’approssimazione dell’integrale I
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
NiiX 1
N
iiN xf
NfI
1
)(1
)(
N
iiN xx
Nxp
1
)(1
)(
Random sampling I campioni così ottenuti possono essere usati per
calcolare ad es
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 è
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
N
iiCM x
Nx
1
1
)(maxargˆ ixpx
Importance sampling L’idea alla base dell’IS è usare una pdf q(x) dalla
quale si sa campionare
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
in pratica stiamo effettuando un random sampling di f(x)w(x)
)()(1
)(1
i
N
iiN xwxf
NfI
)}()({})(
)()({)(
)(
)()()( xwxfE
xq
xpxfEdxxq
xq
xpxffI qq
X
Importance sampling Se sono in un contesto di inferenza Bayesiana
vorrei poter campionare p(x|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
)(
)()|()|(
y
xxyyx pr
post
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(),...,|Pr( 101 itjtitkjt sXsXsXsXsX
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
il vettore delle probabilità di essere in un certo stato è indipendente dalla condizione iniziale.
P**
Esempio spazio degli stati S={pioggia, sole, nuvole}
il tempo segue un processo di Markov: la probabilità del tempo di domani dipende solo da quello di oggi
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) 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) 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
5.025.025.0
5.005.0
25.025.05.0
P
Irriducibilità e aperiodicità Una catena di Markov è irriducibile se
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.
jipctn ijnijij ,0..0
Ergodicità
Se {Xt} è una catena di Markox aperiodica e irriducibile con distribuzione stazionaria p p è l’unica distribuzione invariante
La media campionaria degli stati della catena è stimatore consistente del valore atteso della distribuzione limite π, nonostante gli stati siano fra loro dipendenti.
)}({)()()(1
lim XfEdxxxfXfN i
N
)(),(lim XyxPNN
Catene reversibili Condizione sufficiente per avere una
distribuzione stazionaria è la condizione di reversibilità
Una catena di Markov che soddisfa tale condizione si dice reversibile tale condizione implica che la catena ammette
distribuzione stazionaria L’importanza delle catene reversibili si spiega
immediatamente: 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à
jkjkPkjP jj ,),(),( **
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
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.
j
m
jj psfXfE
1
)()]([
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à q mediante
Per la proprietà di ergodicità, sappiamo infatti
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
1
0
)(n
iin nXf
nnlim
nk
kiink Xf
n 1, )(
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 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.
mxmRQ
Metropolis-Hastings Costruiamo la matrice di transizione P definita
da
La catena Xn è ergodica, reversibile e ammette pcome distribuzione limite L’equazione di bilancio è infatti soddisfatta
analizzando i due casi 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:
),1min(
1,
iij
jjiij
ijijiiijijij
q
q
ppjiqp
jijji
iijjij
iij
jjii q
q
q
q),1min(),1min(
iijjjiiijjji qqqq
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
accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di
probabilità uniforme se se k=K stop else k=k+1 and go to step 2
kkkk xxelseyxsettyx 11 ,,),(
),1min(iij
jjiij q
q
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 valuti lo stimatore. confrontandolo col valore esatto
n
kiXnk nEi
1
4, /
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
accettare y con tale probabilità; come? estrarre u in [0,1] da una distribuzione di probabilità
uniforme
se k=K stop else k=k+1 and go to step 2
),1min(iij
jjiij q
q
kkkij xxelseyxsetu 11 ,,
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 cheP(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
))(),(
)(),(,1min(),(
xyxq
yxyqyx
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;
1
1
2
2
3
3
4
5
4 5 …1 4
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. q deve dosare opportunamente i movimenti proposti in
modo che non risulti troppo basso, ma lo spazio degli stati venga visitato sufficientemente in fretta.
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. 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
accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di
probabilità uniforme se se k=K stop else k=k+1 and go to step 2
))(),(
)(),(,1min(),(
kk
kk xyxq
yxyqyx
kkkk xxelseyxsettyx 11 ,,),(
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
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
))(
)(,1min(),(x
yyx
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
accettare y con tale probabilità; come? estrarre t in [0,1] da una distribuzione di
probabilità uniforme se se k=K stop else k=k+1 and go to step 2
))(),(
)(),(,1min(),(
kk
kk xyxq
yxyqyx
kkkk xxelseyxsettyx 11 ,,),(
21
1)(
xx
)
2
1exp(),(
2
2yxyxq
Esercizio Si assuma di voler campionare da una densità di
Cauchy non normalizzata
Usiamo il random walk come proposal
)2
1exp(),(
2
2yxyxq
21
1
xy
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.