• Non ci sono risultati.

Laboratorio Processi Stocastici

N/A
N/A
Protected

Academic year: 2021

Condividi "Laboratorio Processi Stocastici"

Copied!
35
0
0

Testo completo

(1)

Laboratorio

Processi Stocastici

Annalisa Pascarella

Istituto per le Applicazioni del Calcolo "M

. Picone"

Consiglio Nazionale delle Ricerche

(2)

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

i

i

N f w f X

I

 Xi iN1

 wi iN1

X

dx x p x f f

I X

f

E[ ( )] ( ) ( ) ( )

(3)

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

 Xi iN1

N

i

i

N f x

f N I

1

) 1 (

) (

N

i

i

N x x

x N p

1

) 1 (

)

(

(4)

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

i i

CM x

x N

1

1

) ( max arg

ˆ p xi

x

(5)

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

i

i

N f x w x

f N

I

)}

( ) ( { )}

( ) ) (

( { )

) ( (

) ) (

( )

( E f x w x

x q

x x p

f E dx

x x q

q x x p

f f

I q q

X

(6)

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

x x

y y

x pr

post p

p

p p

(7)

MCMC

(8)

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.

(9)

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 θ.

(10)

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.

(11)

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(Xt1 sj X0 sk Xt si Xt1 sj Xt si

(12)

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

(13)

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

* p

p

(14)

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 . 0 25 . 0 25 . 0

5 . 0 0

5 . 0

25 . 0 25 . 0 5 . 0 P

(15)

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.

j i p

c t

nij 0 . . ijnij 0 ,

(16)

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

N f Xi f x x dx E f X

N

p

) ( )

,

lim

PN (x y X

N

p

(17)

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à

j k j

k P k

j

P( , )p*j p*j ( , ) ,

(18)

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

(19)

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

j

j p

s f X

f

E

1

) ( )]

(

[

(20)

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

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

i

i

n f X n

n

limn

k n

k i

i n

k f X

n 1

, 1 ( )

(21)

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.

(22)

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.

Rmxm

Q

(23)

Metropolis-Hastings

Costruiamo la matrice di transizione P definita da

La catena Xn è ergodica, reversibile e ammette p come 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:

) ,

1 min(

1 ,

i ij

j ji ij

i j

ij ii

ij ij ij

q q

p p

j i q

p

p

p

ji j ji

i ij j

ij i ij

j ji

i q

q q q

q

q ) min(1, )

, 1

min( p

p p p

p p

i ij j

ji i

ij j

ji q q q

q p p p p

(24)

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

k k

k

k y t set x y else x x

x , ) , 1 , 1

(

) ,

1 min(

i ij

j ji

ij q

q p

p

(25)

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

k i

X n

k E n

1 i

4

, /

(26)

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 )

, 1 min(

i ij

j ji

ij q

q p

p

k k

k

ij u, set x 1 y, else x 1 x

(27)

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

)) ( ) , (

) ( ) , , (

1 min(

) ,

( q x y x

y x

y y q

x p

p

(28)

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.

(29)

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

(30)

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);

(31)

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 )) ( ) , (

) ( ) , , (

1 min(

) , (

k k

k k

x y

x q

y x

y y q

x p

p

k k

k

k y t set x y else x x

x , ) , 1 , 1

(

(32)

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

)) (

) , (

1 min(

) ,

( x

y y

x p

p

(33)

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 )) ( ) , (

) ( ) , , (

1 min(

) , (

k k

k k

x y

x q

y x

y y q

x p

p

k k

k

k y t set x y else x x

x , ) , 1 , 1

(

1 2

) 1

(x x

p )

2 exp( 1 )

,

(x y 2 x y 2

q

(34)

Esercizio

Si assuma di voler campionare da una densità di Cauchy non normalizzata

Usiamo il random walk come proposal

2 ) exp( 1 )

,

(x y 2 x y 2

q

1 2

1 y x

(35)

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.

Riferimenti

Documenti correlati

Prima di applicare i risultati appena citati per studiare la probabilit` a di generare i sottogruppi massimali di G ∈ {Sym n , Alt n }, nel terzo capitolo vedremo un’appli-

•• Per uno spazio degli stati con fattore di ramificazione b e profondità Per uno spazio degli stati con fattore di ramificazione b e profondità massima d la ricerca richiede

 Per poter richiamare la funzione dobbiamo essere nella directory nella quale è salvata la funzione oppure “settare” nel path di Matlab la directory nella quale

 calcolatore: il calcolatore è un oggetto puramente deterministico e quindi prevedibile, per cui nessun calcolatore è in grado di generare numeri puramente

 Dato l’intervallo di tempo in cui voglio simulare il processo di Poisson di parametro , genero variabili esponenziali di parametro  fino a quando la loro somma

L’intersezione di ta- li σ−algebre si chiama σ−algebra generata da F... L’intersezione di ta- li σ−algebre si chiama σ−algebra generata

IF() returns a numeric or string value, depending on the context in which it is

Le iDC sono capaci di infettare in trans le cellule T CD4 + indirizzando il virus ai recettori delle sinapsi immunologiche, accrescendo la possibilità di dare origine a