Markov Chains and Markov Chain Monte Carlo (MCMC)
Transcript
Markov Chains and Markov Chain Monte Carlo (MCMC)
Markov Chains and Markov Chain Monte Carlo (MCMC) Alberto Garfagnini Università degli studi di Padova December 11, 2013 Catene di Markov Discrete • dato un valore xt del sistema ad un istante di tempo fissato, il sistema evolve ad uno stato xt+1 nell’iterazione successiva • le probabilità di evoluzione del sistema dipendono dallo stato attuale del sistema • Alcuni esempi di processi probabilistici ricorrenti si trovano in • cambiamenti nelle specie delle sequenze del DNA attraverso le mutazioni • i passi che determinano il ripiegamento di una proteina • l’andamento giornaliero del mercato azionario • in tutti questi esempi, il sistema deve evolvere tra uno stato (definito ad un istante di tempo) e quello temporalmente successivo in maniera casuale basandosi esclusivamente sullo stato presente e non sull’intera storia dell’evoluzione Grafo per il Random Walk • La Catena di Markov può essere rappresentata da un grafo : 1. i nodi rappresentano gli stati 2. le frecce le transizioni possibili con le relative probabilità • Esempio T11 Tjl probabilità di transizione xj → xl x1 T14 T12 T21 T31 x4 T44 x2 T34 T43 T23 x3 Matrice di Transizione • È possibile associare una matrice di transizione T = {Tij } T11 T12 0 T14 T21 0 T23 0 T = T31 0 0 T34 0 0 T43 T44 T11 x1 T14 T12 T21 T44 T31 x4 x2 T34 T43 T23 x3 La somma delle probabità da uno stato xi agli altri stati deve essere normaPN lizzata j=1 Tij = 1 Es: modello stocastico di mercato azionario • In relazione all’indice della borsa odierno, nella giornata di domani, il mercato potrà avere un andamento al rialzo (up), ribasso (down), oppure rimanere stazionario (same) 0.3 0.4 0.5 0.3 same 0.3 T = 0.4 0.3 up 0.3 up 0.2 0.3 0.4 down 0.5 0.3 0.3 0.2 0.4 down same 0.3 PN j=1 Tij = 1 0.3 Evoluzione del sistema • Definiamo con (k ) (k ) (k ) π (k ) = [π1 π2 . . . πn ] (k ) • un vettore riga, dove πj indica la probabilità che la variabile casuale x si trovi nello stato xj allo step k • la probabilità che la catena evolva nello stato xi allo step k + 1 è (k +1) πi = n X (k ) πj Tji (1) j=1 • che si può scrivere in forma matriciale come π (k +1) = π (k ) T (2) Evoluzione del sistema (2) • Dall’eq (2) si può ricavare la relazione π (k ) = π (k −1) T = (π (k −2) T )T = π (k −2) T 2 (3) • ed inferire che π (k ) = π (0) T k (4) • con il crescere di k π (k ) tende ad una distribuzione stazionaria, o alla PDF sulla quale la matrice di transizione è basata: (n) fi = lim πi n→∞ Distribuzione invariante • Per una distribuzione invariante avremo πT = π • le condizioni che deve soddisfare la matrice di transizione T affinchè il sistema tenda ad una distribuzione invariante sono: 1) T è irriducibile : nella rappresentazione del grafo, ogni vertice è collegato direttamente ad ogni altro vertice 2) T è aperiodica : non è possibile trovare un intero d > 1 tale che il numero di iterazioni necessarie per ritornare ad uno stato fissato sia multiplo di d 0.5 0.5 1 3 2 1 1 Catena periodica con periodo d = 2 Modello stocastico di mercato azionario (1) • Supponendo che il mercato azionario sia in rialzo (UP), calcoliamo le probabilità di evoluzione al giorno successivo π (1) = π (0) T 0.3 0.2 0.5 = [1 0 0] 0.4 0.3 0.3 0.3 0.4 0.3 = [0.32 0.32 0.36] 0.3 up 0.3 0.4 0.5 0.3 down 0.2 0.4 same 0.3 Modello stocastico di mercato azionario (2) • Continuando ad evolvere il sistema ai giorni successivi si ottiene: = π (0) T 2 = [0.332 π (3) = [0.3304 0.303 0.3664] π (4) = [0.33032 0.3036 π (2) 0.304 0.364] 0.36608] ... π (9) = [0.330357 0.303571 0.366072] • il sistema si stabilizza con poche iterazioni e tende al limite della distribuzione invariante • risolvendo l’equazione πT = π si ottiene: 37 π= 112 34 112 41 ∼ [0.33035714 0.30357143 112 0.36607143] 0.3 Markov Chain Monte Carlo • Idea suggerita da N. Metropolis nel 1953 nell’articolo "Equations of state calculations by fast computing machines" : tratta il moto casuale di atomi e molecole ed il calcolo delle loro energie cinetiche e perfezionata da Hastings nel 1970 • L’algoritmo proposto da Metropolis è nella top ten degli algoritmi più citati con la maggiore influenza nello sviluppo della scienza e ingegneria • idea di base: • costruire una Catena di Markov la cui distribuzione invariante è la distribuzione desiderata dalla quale campionare • Se f è una densità di probabilità discreta, con valori nel dominio Ω, i campionamenti da f saranno approssimati da una Catena di Markov in Ω • La generazione dello stato successivo è un processo a due fasi: un valore proposto (estratto da una distribuzione), seguito da accettanza o reiezione Markov Chain Monte Carlo: algoritmo • f (x), definita in D = [a, b], è la PDF in esame 1. Scegliere una qualsiai PDF h(u|x) definita in D 2. Specificare un valore iniziale D, xi 3. Campionare un numero ui da h utilizzando una procedura appropriata (per esempio se la CDF di h è nota analiticamente, usare il metodo dell’inversione) 4. Calcolare la grandezza R, chiamato rapporto di Metropolis o rapporto di Hastings e definita come R(xi , ui ) = f (ui ) h(xi |ui ) f (xi ) h(ui |xi ) 5. Porre α(xi , ui ) = min [1, R(xi , ui )] 6. generare un numero ρ ∼ U(0, 1) ed accettare ui con probabilità α o rigettarlo con probabilità 1 − α poichè ui ifρ ≤ α xi+1 = xi ifρ > α Esempio: calcolo di un integrale con MCMC • Calcolare l’integrale Z ∞ (x − αβ)2 f (x)dx I= 0 • con 1 x α−1 f (x) = exp (−x/β) Γ(α) α • e α = 2, β = 1. Esempio: calcolo di un integrale con MCMC • Si scelga come PDF di prova h(u) = 12 exp (−x/2) • e si parta da xi = 1 per i = 1. • campionando da h avremo ui = −2 log ρ con ρ ∈ U(0, 1). • il rapporto di Metropolis è f (ui )h(xi ) R= = f (xi )u(xi ) ui xi α−1 e(ui −xi )/β e(xi −ui )/2 • la dinamica della catena di Markov è regolata da xi+1 = ui xi • Una stima dell’integrale è IN = N1 if ρ ≤ min(1, R) if ρ > min(1, R) PN 2 i=1 (xi − αβ) = 1 N PN i=1 (xi − 2)2
Documenti analoghi
Appendice 2 - Catene di Markov2
Questo procedimento è detto di uniformizzazione, e la matrice P risultante può essere usata per
determinare la distribuzione stazionaria. Di fatto, questa operazione subordina la catena ad un
proce...
Elaborato finale in Intelligenza Artificiale Hidden Markov Models
E’ il tipo più semplice di fallimento.
Il sensore invia occasionalmente dati senza significato.
Nel caso del robot , ad esempio, il sensore di livello della batteria potrebbe
avere il difetto di in...