Appunti su Metodi Monte Carlo (draft)

Transcript

Appunti su Metodi Monte Carlo (draft)
Appunti su Metodi Monte Carlo (draft)
Giuseppe Boccignone
12 maggio 2010
2
Indice
1 Monte Carlo e inferenza Bayesiana
5
2 Tecniche semplici di campionamento
2.1 Campionamento per inversione . . . . . . . . . . . . . .
Campionamento mediante trasformazione inversa
2.2 Metodo di accettazione-rigetto (Rejection sampling) .
Rejection sampling . . . . . . . . . . . . . . . . .
2.3 Metodo di campionamento ad importanza . . . . . . .
2.3.1 Idea di base . . . . . . . . . . . . . . . . . . . . .
2.3.2 Importance sampling . . . . . . . . . . . . . . . .
2.3.3 Proprietá . . . . . . . . . . . . . . . . . . . . . .
Esempio MATLAB . . . . . . . . . . . . . . . .
3 MCMC: brevi richiami di Meccanica statistica
3.1 Elementi di fisica statistica . . . . . . . . . . . .
3.1.1 Da Newton a Hamilton . . . . . . . . . .
3.1.2 Formulazione Hamiltoniana . . . . . . . .
3.2 Lo spazio delle fasi . . . . . . . . . . . . . . . . .
3.3 Distribuzione di Maxwell-Boltzmann-Gibbs . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
9
9
10
11
12
13
14
.
.
.
.
.
17
17
17
18
19
20
4 L’algoritmo di Metropolis
25
4.1 Formulazione originale (1953) . . . . . . . . . . . . . . . . . . 25
4.2 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . 27
5 Da Metropolis all’inferenza statistica.
5.1 Connessioni con la statistica . . . . . . . . . . .
5.1.1 Metropolis con distribuzione di proposta
Algoritmo di Metropolis . . . . . . . . .
Esempio MATLAB . . . . . . . . . . .
5.1.2 Metropolis-Hastings . . . . . . . . . . .
3
. . . . . . .
simmetrica
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
29
29
30
30
31
32
4
INDICE
5.1.3
5.1.4
Metropolis per componenti . . . . . . . . . . . . . . .
Campionatore di Gibbs (Gibbs sampler) . . . . . . . .
Campionatore di Gibbs . . . . . . . . . . . . . . . . .
6 Monte Carlo ibrido
6.1 Momenti come variabili ausiliarie . .
6.2 Dinamica hamiltoniana in un tempo
6.2.1 Reversibilitá temporale . . .
6.2.2 Conservazione dell’energia .
6.2.3 Teorema di Liouville . . . .
6.2.4 Discretizzazione Leapfrog . .
6.3 Hybrid Monte Carlo . . . . . . . . .
6.3.1 Perché HMC funziona . . . .
. . . .
fittizio
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
35
35
37
37
38
38
39
39
41
42
42
Capitolo 1
Monte Carlo e inferenza
Bayesiana
I metodi Monte Carlo sono tecniche computazionali che fanno uso di numeri
casuali. Nel quadro dell’ inferenza, il loro scopo, é la soluzione di uno dei
seguenti problemi (o entrambi)
Problema 1 . Campionamento x(n) ∼ P (x), ovvero la generazione di un
insieme di campioni {x(n) }N
n=1 da una distribuzione di probabilitá P (x)
Problema 2 . Stima dei momenti di una generica funzione φ(x) rispetto
alla distribuzione di probabilitá P (x), e.g., la media :
Z
E[φ(x)] = φ(x)P (x)dp x
5
6
CAPITOLO 1. MONTE CARLO E INFERENZA BAYESIANA
Capitolo 2
Tecniche semplici di
campionamento
Introduciamo alcune tecniche standard per la soluzione del Problema 1
(campionamento) e del Problema 2 (integrazione)
2.1
Campionamento per inversione
Il piú semplice motore per generare numeri casuali a partire da una distribuzione di cui si sappia calcolare l’inversa FX−1 della sua funzione di
ripartizione, é il campionamento per inversione.
Il campionamento per inversione si puó effettuare mediante la seguente
procedura:
Campionamento mediante trasformazione inversa
{
REPEAT
{
u ∼ U nif (0, 1)
x ← F −1 (u)
}
UNTIL condizione
RETURN x
}
7
8
CAPITOLO 2. TECNICHE SEMPLICI DI CAMPIONAMENTO
dove U nif (0, 1) é la distribuzione uniforme nell’intervallo [0, 1]
Il seguente teorema ne giustifica la correttezza:
Teorema 1. Sia X una v.a. (continua) e FX (X) la sua funzione di ripartizione, strettamente crescente in R.
Allora la v.a. U = FX (X) ha distribuzione uniforme in [0, 1]
Dimostrazione Poiché FX (X) strettamente crescente in R, esiste l’inversa FX−1 .
Per definizione U = u(X) = FX (X) con 0 6 U 6 1 e la sua funzione di
ripartizione é concentrata in [0, 1], ovvero FU (u) = 0 se u 6 0 e FU (u) = 1
se u > 1. Allora, nell’intervallo [0, 1]:
FU (u) = P (U 6 u) = P (FX (X) 6 u) =
= P (X 6 FX−1 (u)) = FX (FX−1 (u)) = u.
Pertanto:
U (u)
PU (u) = dFdu
=1
in [0, 1] ed é dunque uniforme.
Dal precedente segue banalmente che:
Lemma 2. Se U ∼ U nif (0, 1), allora X = F −1 (U ) ha funzione di distribuzione F
Esempio 3. Supponiamo di voler generare 1000 campioni dalla distribuzione esponenziale, F (x|λ) = 1 − exp(−λx), λ > 0. L’inversa della funzione di
ripartizione risulta essere F − 1(u|λ) = − log(1 − u)/λ. Allora:
{
n←1
REPEAT
{
u ∼ U nif (0, 1)
x ← − log(1 − u)/λ
n←n+1 }
UNTIL n 6 1000
RETURN x
}
2.2.
2.2
METODO DI ACCETTAZIONE-RIGETTO (REJECTION SAMPLING) 9
Metodo di accettazione-rigetto (Rejection sampling)
In molti casi non é possibile applicare il metodo di inversione perché risulta
difficile calcolare la funzione di ripartizione o la sua inversa. Un metodo
alternativo é quello di accettazione-rigetto, posto che sia possibile valutare
la densitá P (x) per un qualunque valore x L’idea é molto semplice (dovuta a
Von Neumann). Per campionare dalla densitá di probabilit P (x), si definisce
una densitá di prova o di proposta Q(x) (proposal density) piú semplice P (x)
da cui sappiamo certamente campionare (e.g., mediante inversione) e tale
che
cQ(x) ≥ P (x) per qualche costante c > 1 e per qualunque x
(cq é l’inviluppo di f ).
Il metodo consiste nel generare campioni con densit’n̆iforme sotto il grafo
di inviluppo e accettare i campioni che cadono sotto il grafico di f rifiutando
quelli generati fra f e il suo inviluppo.
Figura 2.1: Rejection Sampling (da MacKay (1))
Formalmente:
Teorema 4. Se P e Qsono densitá in Rp con, P (x) ≤ cQ(x) per qualunque
x ∈ Rp , ed esiste c ≥ 1, allora il seguente algoritmo
Rejection sampling
{
REPEAT
{
x∼g
u ∼ U nif (0, 1)
y ← c Q(x)
P (x)
10
CAPITOLO 2. TECNICHE SEMPLICI DI CAMPIONAMENTO
}
UNTIL uy ≤ 1
RETURN x }
genererá un campione X = x di densitá P (x).
Per dimostrare il teorema introduciamo i seguenti:
Lemma 5. Sia X un vettore aleatorio di dimensione p di densitá P (x). Sia
U ∼ U nif (0, 1) una v.a. independente da X, e sia c > 0. Allora,
I. (X, cU P (x)) é uniforme in A = {(x, u) : x ∈ Rp , 0 ≤ u ≤ cP (x)}
II. Se (X, U ) é uniforme in A, allora X ha densitá P (x).
Lemma 6. Siano X1 , X2 , . . . vettori aleatori iid in Rp . Sia A ⊂ Rp dove
P [X ∈ A] = α > 0. Sia Y il primo Xi ∈ A. Allora, ∀B ⊂ Rp misurabile,
T
P [X1 ∈ A B]
P [Y ∈ B] =
.
(2.1)
α
Inoltre, se X1 é uniforme in A0 ⊃ A, allora Y é uniforme in A.
Possiamo ora dimostrare perché il campionamento per rigetto funziona.
Dimostrazione
(Il metodo di accettazione-rigetto é valido). Al primo passo l’algoritmo genera (per il Lemma 5, I) (X, cU Q(x)) uniforme
su C = {(x, u) : x ∈ Rp , 0 ≤ u ≤ cQ(x)}. In uscita (per il Lemma 6),
(X, cU Q(x)) é uniforme su C = {(x, u) : x ∈ Rp , 0 ≤ u ≤ P (x)}. Sotto
l’ipotesi che P (x) ≤ cQ(x), C ⊃ A. Pertanto, (Lemma 5, II) X ha densitá
P (x).
Osservazione 7. Il metodo lavorerá meglio se Q(x) úna buona approssimazione di f . In caso contrario, affinché possa valere P (x) ≤ cQ(x) ovunque,
richiederá una c grande e la frequenza di rigetto sará elevata.
2.3
Metodo di campionamento ad importanza
E’ un metodo che serve sostanzialmente a risolvere il Problema 2, ovvero
il calcolo di un integrale rispetto ad una qualunque distribuzione P (x)
2.3.
2.3.1
METODO DI CAMPIONAMENTO AD IMPORTANZA
11
Idea di base
Si vuole calcolare l’integrale di una qualunque funzione reale integrabile φ
Z
I = φ(x)dx
(2.2)
.
Sia x ∈ Rp , e si scelga una opportuna funzione Q(x) > 0 con
Z
Q(x)dx = 1.
L’integrale si puó scrivere come:
Z
Z
Z
φ(x)
φ(x)
Q(x)dx =
dQ(x)
I = φ(x)dx =
Q(x)
Q(x)
(2.3)
(2.4)
La funzione g puó essere pensata come una densitá di probabilitá. Allora
φ(X)
I = Eg
(2.5)
Q(x)
Possiamo affermare che la media del campione tende al valore atteso: infatti, la Legge (forte) dei Grandi Numeri assicura che per n sufficientemente
grande,
n
1 X φ(Xt )
I≈
= In
n
Q(Xt )
(2.6)
t=1
con probabilitá quasi 1, dove X0 , X1 , . . . sono iid con distribuzione g.
Vale inoltre il Teorema del Limite Centrale:
n1/2 (In − I)
(2.7)
σ
converge in legge alla Gaussiana standardizzata, posto che σ (la deviazione
standard della v.a.. Y = P (x)/Q(x)), sia finita e diversa da zero.
La σ controlla l’accuratezza dell’approssimazione. Piú piccola σ, piú
accurato In come stimatore di I.
Zn =
Osservazione 8. Se Q(x) é scelta uniforme, abbiamo come caso particolare il metodo di campionamento uniforme detto Monte Carlo grezzo (crude
1
Monte Carlo). Infatti, posto ad esempio Q(x) = b−a
:
Z
b
Z
φ(x)dx = (b − a)
I=
a
a
b
φ(x)
dx = (b − a) < φ(x) >
b−a
(2.8)
12
CAPITOLO 2. TECNICHE SEMPLICI DI CAMPIONAMENTO
ovvero
n−1
b−aX
φ(Xt ) = In
I≈
n
(2.9)
t=0
dove Xt ∼ U nif (a, b)
Osservazione 9. La funzione Q(x) deve essere il piu possibile vicina a φ(x).
2.3.2
Importance sampling
Estendiamo il ragionamento della sezione precedente e supponiamo di voler
calcolare il valore atteso della funzione φ(x) rispetto alla distribuzione P (x)
da cui non sappiamo campionare. Allora:
Z
Ep [φ(x)] =
≈
Z
φ(x)P (x)dx =
φ(x)
n
n
t=1
t=1
P (x)
Q(x)dx
Q(x)
(2.10)
1 X P (Xt )
1X
ˆ
φ(Xt ) =
wt φ(Xt ) = I[φ],
n
Q(Xt )
n
dove
P (Xt )
(2.11)
Q(Xt )
sono detti pesi di importanza, il cui scopo é correggere il bias introdotto dal
fatto di campionare dalla distribuzione di prova anziché dalla distribuzione
esatta.
Si noti che P (X), Q(X) sono spesso in pratica non normalizzate, ovvero
P (X) = Z1P P̃ (X) and Q(X) = Z1Q Q̃(X) cosı́ che
wt =
w̃ =
ZQ P̃ (Xt )
P (Xt )
=
Q(Xt )
ZP Q̃(Xt )
dove
ZP
=
ZQ
R
P̃ (X)dX
=
ZQ
Z
P̃ (X)
q(X)
Q̃(X)
N
1 X p̃(X)
,
'
N
q̃(X)
t=1
(2.12)
2.3.
METODO DI CAMPIONAMENTO AD IMPORTANZA
13
dove abbiamo usato l’insieme di campioni da Q(X) per stimare il fattore
di normalizazione in (2.12). Ne scaturiscono due forme di approssimazione,
dove (2.14) é semplicemente l’approssimazione derivata in (2.11)
Iˆ1 [φ] =
N
X
P̃ (X(t) )/Q̃(X(t) )
wt φ(Xt ), wt = PN
k=1 P̃ (X(k) )/Q̃(X(k) )
t=1
N
1 X P (Xt )
Iˆ2 [φ] =
φ(Xt )
N
Q(Xt )
(2.13)
(2.14)
t=1
E’ importante notare che (2.13) é un’approssimazione dove Q(X) é stata
approssimata due volte: una volta per il termine principale e una volta per
i pesi (2.12). Tale approssimazione é necessaria qualora non vi sia garanzia
che P (X) o Q(X) siano normalizzate. La seconda forma (2.14) assume
invece che entrambe le distribuzioni siano normalizzate.
2.3.3
Proprietá
ˆ ] decresce all’aumenNell’importance sampling la varianza della stima I[f
ˆ
tare del numero di campioni. Poiché {I[φ]} = I[φ], si definisccela varianza
asintotica σf2 ,
ˆ
var(I[φ])
=
σφ2
1
=
N
N
Z
φ2 (X)P 2 (X)
2
dX − I [f ] ,
Q(X)
(2.15)
e la densitá Q∗ (X) che minimizza (2.15) é proporzionale a |φ(X)|P (X). Si
consideri infatti il caso φ(X) > 0,. Allora il numeratore in (2.15) tende a
ˆ
zero piú lentamente di Q(X), var(I[φ])
→ ∞. Pertanto, la selezione della
Q(X) ha un notevole impatto sull’accuratezza dell’approssimazione: una
scelta non ponderata conduce ad una stima di elevata varianza.
Anzitutto é importante selezionare Q(X) con supporto diverso da zero
dove P (X) supporto diverso da zero. Ció puó essere ottenuto scegliendo una
Q che minimizza la α-divergenza1
Z
1+α
1−α
4
2
2
Dα (P ||Q) =
1 − P (X)
Q(X)
dX ,
(2.16)
1 − α2
per α ≥ 1. La Kullback-Leibler Dα (P ||Q) che é per definizione zero-avoiding
seleziona tipicamente una Q che copre P .
1
Bishop pag. 470
14
CAPITOLO 2. TECNICHE SEMPLICI DI CAMPIONAMENTO
Inoltre se scegliamo una distribuzione di campionamento come nel rejection sampling dove P (X) ≤ kQ(X) con k costante, allora vi é garanzia di
mantenere una varianza limitata. L’approssimazione (2.13) garantisce che
Q non dbba essere nortmalizzata affinché il metodo funzioni.
Un ultimo punto critico é la determinazione del numero sufficiente di
campioni,. In (? ), Kong et al. suggerisce l’ effective sample size definito
come:
ESS ,
N
1 + var(wi )
per valutare l’impatto sulla varianza al crescere del numero di campioni.
Esempio MATLAB
Calcoliamo il valore atteso di
f (x) = 2 sin(
π
x), x ≥ 0
1.5
(2.17)
dove X e’ distribuito secondo una distribuzione di tipo ma con parametro di gradi di libertá (gdl) non intero. Q é una distribuzione normale scalata
N [x|0.8, 1.5] dove i parametri sono tali per cui P (x) < kQ(x), ∀x ≥ 0.
P (x) = x(1.65)−1 e−
x2
2
,x≥0
((0.8)−x)2
− 2(1.5)
2
Q(x) = p
e
2π(1.5)
(2.18)
(2.19)
(2.20)
2.3.
METODO DI CAMPIONAMENTO AD IMPORTANZA
15
p(x)
q(x)
p(x)f(x)
1.2
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
0
1
2
3
x
4
5
6
Figura 2.2: Grafico di p(x), q(x) e di p(x)f (x)
clear all;
mu = 0.8;
sigma = sqrt(1.5);
k=1.65;
c=2;
num_iter = 100;
%
%
%
%
%
p = @(x) x^(k-1)*exp(-x^2/2);
q = @(x) c/sqrt(2*pi*sigma^2)...
*exp(-(mu-x)^2/(2*sigma^2));
f = @(x) 2*sin(pi/1.5*x);
% distribuzione target
% distribuzione di sampling
% funzione di cui ottenere la media
for iter=1:num_iter
samp_size = 1000;
X = normrnd(mu,sigma,[samp_size 1]);
% numero iniziali di campioni da
% X ~ q(X)
for i=1:length(X)
if X(i)>=0
W(i) = p(X(i))/q(X(i));
I(i) = W(i)*f(X(i));
else
W(i)=0;
I(i)=0;
samp_size = samp_size - 1;
end
end
I_hat = sum(I)/sum(W);
[tmp tmp2 non_zero_weights] = find(W);
variance = var(non_zero_weights);
eff_samp_size = samp_size/(1 + variance);
format short g
results(iter,:) = [I_hat variance samp_size
media gaussiana
deviazione standard
gdl della Chi
costante moltiplicativa per p < cq
numero di Monte Carlo runs
q
% elimina X fuori dal supporto di p
% importance weight
% pesa la funzione
% valori ignorati
% approssimazione
% elimina pesi scartati
% calcula varianza pesi
% calcola l’ effective sample size
% memorizza il run
eff_samp_size];
end
% stampa risultati
totals = [mean(results(:,1)) mean(results(:,2)) mean(results(:,3)) mean(results(:,4));...
var(results(:,1)) var(results(:,2)) var(results(:,3)) var(results(:,4))]
16
CAPITOLO 2. TECNICHE SEMPLICI DI CAMPIONAMENTO
Capitolo 3
MCMC: brevi richiami di
Meccanica statistica
Il primo metodo Monte Carlo basato su Catene di Markov (Markov Chain
Monte Carlo, MCMC ), l’algoritmo di Metropolis fu introdotto nell’ambito
della fisica statistica. Il suo obiettivo era la simulazione dell’evoluzione di un
sistema fisico (un solido) in un bagno di calore verso l’equilibrio termico. Nel
seguito, richiamiamo alcuni concetti fondamentali della Meccanica Statistica
che verranno poi utilizzati nella formulazione dei vari algoritmi MCMC.
3.1
3.1.1
Elementi di fisica statistica
Da Newton a Hamilton
La formulazione della meccanica classica ha alla base le leggi di Newton, di
cui la piú famosa é la seconda:
F = ma
(3.1)
, dove F é la forza, m la massa e a l’accelerazione (omettiamo nel seguto
l’uso dei simboli di vettore per semplicitá notazionale). L’accelerazione é la
derivata seconda della posizione q rispetto al tempo:
a = q̈.
(3.2)
Per una particella singola, q indica il vettore di posizione (e.g. (x, y, z)
in coordinate cartesiane); per un sistema di particelle, é il vettore q =
(q1 , q2 , · · · ) i cui elementi rappresentano le coordinate delle singole particelle.
17
18CAPITOLO 3. MCMC: BREVI RICHIAMI DI MECCANICA STATISTICA
In generale i campi di forze sono arbitrarie funzioni a valori vettoriali
della posizione e della velocitá; poiché le quattro forze fondamentali presenti in natura (gravitazionale, elettromagnetica, debole e forte) conservano
l’energia, considereremo forze esprimibili come il gradiente di una qualche
funzione potenziale (campo scalare) V = V (q, q̇)
F =−
∂V
∂q
(3.3)
.
La seconda legge di Newton ci dice che l’evoluzione di un sistema di
particelle é governata da un sistema di equazioni differenziali del secondo
ordine:
F (q, q̇) = mq̈
(3.4)
Per un sistema di N particelle in assenza di vincoli, ci sono 3N equazioni
differenziali da risolvere. Sotto opprtune condizioni di regolaritá delle funzioni F e q(t), il sistema ha soluzione unica per un insieme dato di condizioni
iniziali (e.g., valori iniziali di posizione e velocitá).
Un sistema del second’ordine puøsempre essere ridotto ad un sistema del
prim’ordine raddoppiando il numero di equazioni. Si introduca il momento
o quantitá di moto p,
p = mq̇
(3.5)
possiamo rimpiazzare il sistema di 3N equazioni differenziali del second’ordine con un sistema di 6N equazione del primo ordine nelle variabili
p e q:
ṗ = F (q, p/m).
q̇ =
3.1.2
p
;
m
(3.6)
(3.7)
Formulazione Hamiltoniana
Si introduca la funzione hamiltoniana H(q, p) che rappresenta l’energia totale del sistema, dunque la somma delle energie cinetica e potenziale,
3.2. LO SPAZIO DELLE FASI
19
H(q, p) = Energia = Cinetica + P otenziale
1 2
=
mq̇ + V
2
p2
=
+ V.
2m
Le equazioni di Hamilton si ottengono esprimendo il sistema di 6N
equazioni mediante l’hamiltoniana H:
∂H
∂q
∂H
∂p
ṗ = −
q̇ =
La formulazione Hamiltoniana é equivalente alla formulazione newtoniana (stessa informazione); pertanto, note le condizioni iniziali q(0), p(0) al
tempo t = 0, le eq. di Hamilton predicono il passato e il futuro del sistema
con certezza.
Hic sunt leones: per un sistema macroscopico il numero di particelle, N
é dell’ordine del numero di Avogadro
N ∼ 1024 ;
(3.8)
di conseguenza abbiamo 6 ∗ 1024 condizioni iniziali ed un numero equivalente
di eq. diff. del prim’ordine da risolvere.
Nella complessitá di questo problema, risiede l’origine della fisica statistica.
3.2
Lo spazio delle fasi
E’ conveniente visualizzare un sistema dinamico come un punto nello spazio
a 6N dimensioni di tutte le posizioni e i momenti (q, p) delle N particelle.
Rinunciando all’utilizzo di condizioni iniziali precise (sconosciute), la
fisica statistica descrive il sistema mediante una distribuzione di probabilitá
sullo spazio delle fasi, che indichiamo con ρ(q, p) al tempo t = 0. Anticipiamo
che le equazioni di Hamilton equations implicano la conservazione, ad ogni
istante, di questa distribuzione iniziale (Teorema di Liouville).
Il primo passo dunque é la determinazione di ρ.
20CAPITOLO 3. MCMC: BREVI RICHIAMI DI MECCANICA STATISTICA
Figura 3.1: Due traiettorie nello spazio delle fasi
3.3
Distribuzione di Maxwell-Boltzmann-Gibbs
Tra le varie forme di ρ ci concentreremo sulla distribuzione canonica.
Assumiamo che il sistema non sia isolato ma in equilibrio termico con
una riserva o bagno di calore a temeperatura costante T . Statisticamente
quest’assunzione é equivalente a richiedere che l’energia media delle molecole
sia costante.
Ciascuma particella ha momento e posizione definite. Suddividiamo lo
spazio delle fasi in m cellette (a 6 dimensioni) di uguale volume. Si assuma inoltre che le cellette siano abbastanza piccole in modo che l’energia in
ciascuna cella sia pressoché costante (a meno di fluttuazioni) Sia Ej l’energia nella j-sima cella. Ciascuna cella, benché piccola contiene un numero
abbastanza elevato di particelle considerate le dimensioni atomiche (∼ 10−8
cm), il numero elevato di particelle N , e la liscezza delle superfici di energia.
Questa suddivisione conduce ad una discretizzazione dello spazio delle fasi
in mN celle di uguale dimensione. Lo stato del sistema s é specificato come,
s ∈ {1, 2, . . . , m}N
(3.9)
e indica a quale cella appartiene ciascuna particella.
Se queste sono identiche e indistinguibili, le possibili permutazioni delle
molecole con un certo indice di cella non hanno conseguenze fisiche Ció che
3.3. DISTRIBUZIONE DI MAXWELL-BOLTZMANN-GIBBS
(a)
(b)
21
(c)
Figura 3.2: Esempio di traiettorie nello spazio delle fasi: (a) un sistema
che oscilla intorno a una configurazione di equilibrio stabile; (b) rappresentazione del moto del sistema nello spazio delle fasi (in assenza di attrito);
(c) traiettoria in presenza di attrito
conta é quante molecole sono in una certa cella. Pertanto l’insieme degli
stati realizzabili e distinguibili é molto inferiore a mN , nella fattispecie,
(N + m − 1)!
N !(m − 1)!
(3.10)
corrispondente al numero di modi di configurare N nelle m celle. Ci sono,
N!
n1 !n2 ! . . . nm !
(3.11)
modi di disporre le N molecule nelle m celle in maniera tale che n1 siano
nella cella j = 1, n2 nella cella j = 2, ecc.
Se si assume a priori che le molecole abbiano la stessa probabilitá di
collocarsi in qualunque cella, allora il numero di disposizioni puó essere
ricondotto alla probabilitá dello stato s = (n1 , . . . , nm ),
P =
N!
× cost
n1 !n2 ! . . . nm !
(3.12)
La distribuzione piú probabile delle molecole fra le celle si puó ricavare
mediante una massimizzazione vincolata di P dove i vincoli formalizzano la
nostra conoscenza del sistema.
Se l’unico parametro noto é la temperatura T , massimizziamo P sotto
il vincolo she l’energia media sia fissata a kT , dove k é la costante di Boltzmann, una costante fenomenologica utile per convertire le unitá di misura
da ergs (energia) a gradi (temperatura),
22CAPITOLO 3. MCMC: BREVI RICHIAMI DI MECCANICA STATISTICA
k = 1.380 × 10−14 erg/gradi
(3.13)
Per N e nj grandi utilizziamo l’approssimazione di Stirling,
log n! ∼ n log n − n
(3.14)
per ottenere,
log P
= N log N −
X
(nj log nj − nj ) + cost
j
= −N
X
pj log pj + cost
j
dove,
pj =
nj
.
N
(3.15)
Pertanto, P é la probabilitá di osservare la probabiliá (p1 , . . . , pm ) (un a
priori )
P ∝ e−N
P
j
pj log pj
(3.16)
P
E’ noto anche come a priori entropico (per il termine, − j pj log pj ).
Se assumiamo che pj siano delle densitá di probabilitá, la distribuzione
a priori piú probabile si ottiene risolvendo,
max −
s.t.
X
X
pj log pj
j
pj = 1
j
X
pj Ej = kT
j
Usando i moltiplicatori Lagrange per trattare i vincoli, massimizziamo
L=
X
j
Derivando,
pj log pj − α −
X
j
pj − β
X
j
pj Ej
(3.17)
3.3. DISTRIBUZIONE DI MAXWELL-BOLTZMANN-GIBBS
∂L
= 0 ⇒ log pi − 1 − βEi − α = 0
∂pi
23
(3.18)
da cui,
pi =
1 −βEi
e
Z
(3.19)
dove la costante di normalizzazione,
Z=
X
e−βEi
(3.20)
i
é detta funzione di partizione. Per soddisfare il vincolo di energia media
costante,
P
Z ∞
−βEi
i Ei e
P
≈
Eβe−βE dE = kT.
(3.21)
−βEi
e
0
i
Poiché l’integrale ĺa media della distribuzione esponenziale, si ottiene la
relazione
β=
1
.
kT
(3.22)
24CAPITOLO 3. MCMC: BREVI RICHIAMI DI MECCANICA STATISTICA
Capitolo 4
L’algoritmo di Metropolis
4.1
Formulazione originale (1953)
L’idea originale é quella di simulare l’evoluzione di un sistema in un bagno
di calore verso l’equilibrio termico. Dallo stato i di energia Ei , si genera un
nuovo stato j di energia Ej mediante una piccola perturbazione, applicata
per esempio alle coordinate di posizione di una delle particelle. Se lo stato
proposto j ha un’ energia minore dello stato i allora j viene accettato tout
court, altrimenti viene accettato con probabilitá
Aij (T ) = exp(−(Ej − Ei )/kT )
(4.1)
dove T é la temperatura del bagno di calore.
Dopo un certo numero (sufficientemente grande) di iterazioni ci si aspetta che l’algoritmo visiti stati di energia differente secondo la distribuzione
canonica. Ció é giustificabile rigorosamente mostrando che la sequenza di
stati visitata, forma una catena di Markov (Markov Chain, MC) ergodica e
la distribuzione canonica é la distribuzione stazionaria della catena.
Richiamiamo brevemente alcuni concetti sulle MC. Sia,
Xt = stato del sistema al tempo t
(4.2)
Le probabilitd́i transizione per un passo di Metropolis sono,
pij (T ) = P [Xt+1 = j|Xt = i] =
where,
25
Gij (T
if i 6= j
P)Aij (T )
1 − k6=j pij (T ) if i = j
(4.3)
26
CAPITOLO 4. L’ALGORITMO DI METROPOLIS
Gij (T ) = prob. di generare j da i
Aij (T ) = prob. accettare j da i
Le probabilitá di accettazione per Metropolis sono,
Aij (T ) = exp(−(Ej − Ei )+ /kT )
(4.4)
where,
x+ =
x se x > 0
0 altrimenti
(4.5)
Qualsiasi distribuzione π sull’insieme degli stati che soddisfi la condizione di
reversibilitá detta di bilancio dettagliato,
pij πi = pji πj
(4.6)
é una distribuzione stazionaria per la MC con probabilitá di transizione pij
come si puó vedere sommando su j nell’eq. precedente,
P [Xt = j] = πi =
X
pij πi
j
=
X
pji πi = P [Xt+1 = j]
j
Quando le G sono simmetriche ,
Gij (T ) = Gji (T )
(4.7)
abbiamo un bilancio dettagliato con,
1
exp(−Ei /kT )
(4.8)
Z
ovvero la distribuzione canonica.
Questo é vero per i = j; per i 6= j con Ei < Ej il bilancio dettagliato si
riduce all’identitá,
πi =
exp(−(Ej − Ei )/kT ) exp(−Ei /kT ) = exp(−Ej /kT );
(4.9)
Il caso che inverte i con j, é ovviamente vero.
Si noti che questo non dimostra che la catena é ergodica, e cioé che la
distribuzione di Xt converge alla distribuzione canonica.
4.2. SIMULATED ANNEALING
4.2
27
Simulated Annealing
L’ Annealing é un processo fisico utilizzato per eliminare fratture e impuritá
da un solido: si riscalda il solido fino alla fusione poi si riduce lentamente
la temperatura per consentire la redisposizione delle particelle nello stato di
minima energia.
Puó essere utile pensare l’annealing come un modo di utilizzare la natura
per risolvere un difficile problema di minimizzazione. Puó essere simulato
dall’algoritmo di Metropolis utilizzando una sequenza decrescente di temperature e convergente a 0. Se si esegue Metropolis per ciascun valore di
temperatura e per un tempo sufficientemente lungo che consente di raggiungere la distribuzione canonica, allora nel limite T → 0 il sistema the system
si troverá nello stato i con probabilitá,
exp{−Ei /kT }
lim P
j exp{−Ej /kT }
n ∗
o
−Ei
exp E kT
n ∗
o
= lim P
E −Ei
T →0
exp
j
kT
lim πi (T ) =
T →0
T →0
dove,
E ∗ = min Ei = Min. globale di energia
i
(4.10)
Si noti che gli esponenti sono sempre o zero o negativi; nel limite T → 0, i
termini con esponenti negativi si annullano ,
1
if Ei = E ∗
N∗
(4.11)
lim πi (T ) =
0
otherwise
T →0
dove,
N ∗ = |{i : Ei = E ∗ }|
(4.12)
Pertanto, limT →0 πi (T ) é uniformemente distribuita su un insieme di stati
di energia minima.
Il Simulated annealing é uno dei pochi algoritmi che in teoria assicurino
la convergenza ad un minimo assoluto , in pratica la performance dipende
dalla schedulazione della procedura di raffreddamento (cooling schedule), e
dal criterio di fermata.
28
CAPITOLO 4. L’ALGORITMO DI METROPOLIS
Capitolo 5
Da Metropolis all’inferenza
statistica.
5.1
Connessioni con la statistica
Per campionare da un v.a X ∈ Rp con pdf P (x) si riformula quest’ultima come una distribuzione canonica scegliendo T e Z(T ) e si definisce la funzione
energia
E(x) = −T log P (x) − T log Z(T )
(5.1)
1
E(x)
P (x) =
exp −
Z(T )
T
(5.2)
tale che,
Normalmente conosciamo P (x) a meno di una costante indipendente da x,
i.e.
1
P (x) = pe(x) con c =
c
Z
pe(x)dx
(5.3)
Si assume che pe(x) sia nota e computabile, ma c potrebbe non essere determinata. Intal caso si pone T = 1 e,
E(x) = − log pe(x)
(5.4)
Ció é sufficiente per campionare da P (x). Per calcolare la moda di P (x),
si puó piú semplicemente usare tale energia con un qualunque valore di T .
29
30 CAPITOLO 5. DA METROPOLIS ALL’INFERENZA STATISTICA.
5.1.1
Metropolis con distribuzione di proposta simmetrica
L’algoritmo base genera un sequenza stocastica di stati, a partire da x0 , e
la seguente regola dinamica per passare dall stato x a y:
1. Propone un candidato ya partire da Q(y|x) che potrebbe dipendere da
x. Q(y|x) é simmetrica in x and y, i.e.,
Q(y|x) = Q(x|y)
(5.5)
La generazione del candidato si puó implementare come
y =x+
(5.6)
dove é un vettore aleatorio simmetrico radialmente rispetto a 0.
Possibili scelte per la disribuzione di sono distribuzioni di Cauchy,
Gaussiane, o T con pochi gradi di libertá.
2. se y usa meno energia dello stato corrente x si accetta con probabilitá 1.
Altrimenti si accetta con una probabilitá esponenzialmente decrescente
nella differenza di energia; formalmente;
(E(y) − E(x))+
α(x, y) = exp −
T
P (y)
}
= min{1,
P (x)
Algoritmo di Metropolis
{
X0 ← x0 (arbitrario)
for t = 0, 1, 2, . . .
{
y ∼ Q(·|xt )
u ∼ Unif(0, 1)
if u ≤ min{1, P (y)/P (xt )} then Xt+1 ← y
else Xt+1 ← xt
}
}
(5.7)
5.1. CONNESSIONI CON LA STATISTICA
31
Esempio MATLAB
Si assuma di voler campionare da una densita’ di Cauchy non normalizzata
y=
1
,
1 + x2
implementabile in Matlab mediante la funzione:
function y = cauchy( x )
%% Ritorna la densita’ non normalizzata della distribuzione di Cauchy
y = 1 ./ (1 + x.^2)
L’implementazione dell’algoritmo di Metropolis é realizzabile con il seguente codice:
T
= 500;
% Numero massimo di iterazioni
sigma = 1;
% Deviazione standard della Q(x)= Normal(x | mu, sigma)
xmin = -30; xmax = 30;
% range per i valori iniziali di x
x = zeros( 1 , T );
% Buffer per i campioni
seed=1; rand( ’state’ , seed ); randn(’state’,seed );
% fissa il random seed
x(1) = unifrnd( xmin , xmax );
% genera i valori di partenza
%% Inizia campionamento
t = 1;
while t < T % Itera fino a T campioni
t = t + 1;
% Propone un nuovo valore per x usando Q(x)=Normale
x_star = normrnd( x(t-1) , sigma );
% Calcola l’acceptance ratio
alpha = min( [ 1 cauchy( x_star ) / cauchy( x(t-1) ) ] );
% Campiona da Unif[ 0 1 ]
u = rand;
% Accettare la proposta?
if u < alpha
x(t) = x_star; % SI: setta il nuovo stato
else
x(t) = x(t-1); % NO: usa il vecchio stato
end
end
%% Mostra l’istogramma dei campioni
figure( 1 ); clf;
subplot( 3,1,1 );
nbins = 200;
xbins = linspace( xmin , xmax , nbins );
counts = hist( x , xbins );
bar( xbins , counts/sum(counts) , ’k’ );
xlim( [ xmin xmax ] );
xlabel( ’x’ ); ylabel( ’p(x)’ );
%% Sovrappone la densita’ teorica
y = cauchy( xbins );
hold on;
plot( xbins , y/sum(y) , ’r--’ , ’LineWidth’ , 3 );
set( gca , ’YTick’ , [] );
%% Mostra la storia dei campioni
32 CAPITOLO 5. DA METROPOLIS ALL’INFERENZA STATISTICA.
subplot( 3,1,2:3 );
stairs( x , 1:T , ’k-’ );
ylabel( ’t’ ); xlabel( ’x’ );
set( gca , ’YDir’ , ’reverse’ );
xlim( [ xmin xmax ] );
Un risultato della simulazione é mostrato in Figura 5.1.
Figura 5.1: Campionamento da una distribuzione di Cauchy usando il metodo di Metropolis. La figura in alto mostra l’istogramma dei campioni (500)
con sovrapposta la densitá teorica; la figura in basso, mostra la sequenza di
campioni in una catena
5.1.2
Metropolis-Hastings
Una semplice riscrittura della probabilitá di accettazione (Eq. 5.7), consente l’uso di una distribuzione non simmetrica, mantenendo le propretá di
bilancio :
5.1. CONNESSIONI CON LA STATISTICA
Q(x|y)P (y)
α(x, y) = min 1,
Q(y|x)P (x)
33
(5.8)
Infatti per quanto attiene alla propieti. bilancio :
P (y|x)P (x) = P (x|y)P (y)per tutti x, y
(5.9)
quando x = y v́era banalmente; per x 6= y l’unico modo per arrivare a y e
accettrlo come candidato. Ció implica
α(x, y)Q(y|x)P (x) = α(y, x)Q(x|y)P (y)
(5.10)
ovvero,
Q(x|y)P (y)
min 1,
Q(y|x)P (x)
Q(y|x)P (x)
Q(y|x)P (x) = min 1,
Q(x|y)P (y)
Q(x|y)P (y)
(5.11)
che é vera, quando il min. a sinistra vale 1, il min. sull’altro termine
non vale 1 e il termine a denominatore si cancella con quello fuori parentesi
Il bilancio dettagliato assicura che p é stazionaria per la catena, ma non
é condizione necessaria. Per la stazionarietá é sufficiente che
Z
P (x) = P (x|y)P (y)dy
(5.12)
i.e., che p sia il punto fisso dell’operatore T , definito dal kernel di transizione,
Z
T : P (·) → P (·|y)P (y)dy
(5.13)
Questo peró non é sufficiente per garantire che la catena campioni gli
stati dalla densitá P , ma assicura che se a qualche istante t la densitá di
Xt é P allora rimarrá P ai tempi successivi giacché la dinamica di Xt+1 é
T P = P . Dal teorema di punto fisso dell’analisi funzionale sappiamo che
se le P appartengono a uno spazio metrico completo con metrica d, e T é
contrattivo,
d(T P, T Q) ≤ λd(P, Q) con λ < 1
(5.14)
allora le iterazioni P0 , T (P0 ), T (T (P0 )), . . . converge geometricamente
nella metrica dello spazio all’unico punto fisso per T , posto che la P0 iniziale
non sia troppo distante dal punto fisso.
34 CAPITOLO 5. DA METROPOLIS ALL’INFERENZA STATISTICA.
La MC avrá dunque il punto fisso quale distribuzione a lungo termine In
realtá tali condizioni sono eccessivamente restrittive: dietro a condizioni di
regolaritá del kernel piú rilassate . (e.g. T contrattivo in media) un’ampia
classe di MC avrćomportamento ergodico.
5.1.3
Metropolis per componenti
Quando la dimensionalitá di X é grande, é piú efficiente raggruppare le
coordinate di X e utilizzare distribuzioni di prova che aggioornano un gruppo
di coordinate per volta.
Sia I = {1, 2, . . . , p} l’insieme di indici delle coordinate di x. Scriviamo,
x = {x1 , x2 , . . . , xp } ≡ xI
(5.15)
x−J
Se J ⊂ I, denotiamo con
l’insieme di coordinate non appartenenti
−J
I\J
a J, i.e. x = x . Inoltre, sia I1 , I2 , . . . , Im una partizione di I tale che
x sia separato in m gruppi,
x = {xI1 , . . . , xIm }
(5.16)
Si inizi Metropolis-Hastings da qualche parte e si supponga che al tempo
t si visiti lo stato x, allora al tempo t + 1 possiamo rimanere in x o passare
a y modificando solo una delle m componenti di x, i.e.,
xt+1 = y = {x−Ik , y Ik } per qualche k
(5.17)
Il valore di k puó essere scelto in modo casuale tra {1, 2, . . . , m} oppure
in modo ciclico, nel qual caso per avere una catena omogenea si considera
conclusa un’iterazione dopo aver visitato tutte le m componenti. La scelta
random delle componenti elimina questo problema, ma nel tempo alcune
di esse potrebbero risultare trascurate Una soluzione intermedia é la randomizzazione dell’ordine e l’aggiornamento delle componenti nel medesimo
ordine.
In ogni caso la probabilitá di accettazione é quella classica di MetropolisHastings ma quando x differisce da y nella k-sima componente abbiamo
che,
Q(x|y)P (y)
min 1,
Q(y|x)P (x)
Qk (xIk |y Ik , x−Ik )P (y Ik |x−Ik )
= min 1,
Qk (y Ik |xIk , x−Ik )P (xIk |x−Ik )
(5.18)
dove Qk é la funzione di prova q per aggiornare k e il rapporto P (y)/P (x)
ścritto come il rapporto delle condizionali, dove,
5.1. CONNESSIONI CON LA STATISTICA
P (xIk |x−Ik ) = R
P (xIk , x−Ik )
P (y Ik , x−Ik )dy Ik
35
(5.19)
Da quest’ultima si vede che la MC associata alla sequenza di aggiornamenti della componente k, con tutte le altre fissate a x−Ik , ha tale condizionale come distribuzione stazionaria. In conclusione, tutte le componenti
finiscono con il campionare dalle condizionali corrette.
5.1.4
Campionatore di Gibbs (Gibbs sampler)
Quando la distribuzione condizionale per la k-sima componente di x é utilizzata tout court come distribuzione di prova abbiamo il Gibbs Sampler
(GS):
Qk (y Ik |xIk , x−Ik ) = p(y Ik |x−Ik )
(5.20)
In tal caso la probabilitá di accettazione é uguale a 1 e il GS accetta
tutte le mosse. Dunque GS é un caso speciale di Metropolis. Una formulazione intuitivadel GS: per campionare da una distribuzione congiunta, é
sufficiente campionare in maniera ripetuta da ciascuna delle condizionali
unidimensionali.
Campionatore di Gibbs
{
X0 ← x0 (arbitrario)
for t = 0, 1, 2, . . .
{
k ∼ U nif {1, 2, . . . , p}
−{k}
y k ∼ P (xk |xt
)
−{k}
Xt+1 ← {y k , xt
} }
}
36 CAPITOLO 5. DA METROPOLIS ALL’INFERENZA STATISTICA.
Figura 5.2: Comportamento del campionatore di Gibbs (da MacKay (1))
Capitolo 6
Monte Carlo ibrido
6.1
Momenti come variabili ausiliarie
Ricordiamo che per campionare dalla distribuzione
P (x) =
1
exp{−(− log P (x))}
Z
(6.1)
utilizziamo Metropolis algorithm con funzione energia − log P (x).
Possiamo interpretare le x ∈ Rn come variabili di posizione q = (q1 , . . . , qn )
in maniera tale che la log-likelihood giochi il ruolo di un’energia potenziale.
Introduciamo come variabili ausiliarie i momenti p = (p1 , . . . , pn ), i.i.d.
secondo una distribuzione Gaussiana standardizzata. Possiamo cosı́ aggiungere un termine di energia cinetica all’energia potenziale per costruire una
funzione Hamiltoniana (energia totale) relativa a uno spazio delle fasi fittizio,
H(q, p) = − log P (q) +
1X 2
pi
2
(6.2)
i
con distribuzione canonica
π(q, p) =
1
exp{−H(q, p)}
ZH
(6.3)
da cui possiamo campionare sfruttando una combinazione di Gibbs e Metropolis. Al termine del campionamento, scartiamo le variabili ausiliarie
mantenendo le variabili di posizione che per costruzione sono generate dalla
distribuzione marginale corretta, cioé p(q).
Il costo dell’ampliamento dello spazio di campionamento é ripagato dal
beneficio di un’esplorazione piú efficiente di ampie regioni dello spazio delle
37
38
CAPITOLO 6. MONTE CARLO IBRIDO
fasi mediante la simulazione di una dinamica Hamiltoniana in un tempo
fittizio. E’ infatti possibile proporre degli spostamenti distanti dallo stato
corrente, ancorché accettabili in termini probabilistici.
La validitá del Monte Carlo Ibrido (Hybrid Monte Carlo, HMC) trova
ragione in tre propritá della dinamica hamiltoniana:
1. Reversibilitá temporale: t → −t, p → −p.
2. Conservazione dell’energia: , H(q, p) é costante nel tempo.
3. Teorema di Liouville: i volumi si conservano nello spazio delle fasi.
6.2
Dinamica hamiltoniana in un tempo fittizio
Sia τ il tempo fittizio nel corso del quale un sistema evolve secondo le equazioni di Hamilton, che scriviamo per componenti, e utilizzando l’Hamiltoniana prima definita:
dqi
∂H
= q˙i =
= pi
dτ
∂pi
∂H
∂ log P (q)
dpi
= p˙i = −
=
dτ
∂qi
∂qi
(6.4)
(6.5)
Si noti che in questa legge dinamica il campo di forze é specificato in
termini di una funzione obiettivo le derivate log-likelihood. log P (q)
6.2.1
Reversibilitá temporale
Il sistema in Eq. 6.4 é invariante per la trasformazione
τ
→ −τ = τ 0
p → −p = p0
q → q = q0
Infatti:
1X 0 2
(pi )
2
i
1X 2
= − log P (q) +
pi
2
H0 (q 0 , p0 ) = − log f (q 0 ) +
i
= H(q, p)
6.2.
DINAMICA HAMILTONIANA IN UN TEMPO FITTIZIO
39
e le equazioni sono identiche,
dq 0
∂H0
=
dτ 0
∂p0
0
∂H0
dp
=
−
dτ 0
∂q 0
dq
∂H
=−
dτ
∂p
dp
∂H
←→ −
=
dτ
∂q
←→ −
(Le equazioni della meccanica classica sono cieche rispetto alla direzione del
tempo).
6.2.2
Conservazione dell’energia
Mediante le equazioni di Hamilton possiamo calcolare la derivata temporale
di qualsiasi funzione F (q, p)definita sullo spazioe delle fasi. Derivando a
catena,
d
∂F
∂F
F (q, p) =
q̇ +
ṗ
dτ
∂q
∂p
(6.6)
Usando le equazioni di Hamilton:
d
∂F ∂H ∂F ∂H
F (q, p) =
−
≡ {H, F }
dτ
∂q ∂p
∂p ∂q
(6.7)
dove {H, F } sono le classiche parentesi di Poisson. In buona sostanza
d
la dτ
F (q, p) é computabile calcolando le parentesi di Poisson di F con
l’Hamiltoniana del sistema H. Se F = H
d
H(q, p) = 0
dτ
ovvero l’energia totale H si conserva nel tempo.
6.2.3
(6.8)
Teorema di Liouville
Si consideri un volumetto v nello spazio delle fasi: ciascun punto nell’elemento v rappresenta un sistema con la stessa Hamiltoniana ma con differenti condizioni iniziali. I sistemi (punti) evolvono nel tempo obbedendo
alle equazioni di Hamilton. Dopo un certo tempo, i punti saranno soggetti
ad una dispersione/diffusione: tuttavia il volume che racchiude l’insieme di
punti considerato rester costante nel tempo. Questa é in sintesi il Teorema
di Liouville.
Piú formalmente, si consideri un tempo arbitrario τ0 e una regione arbitraria nello spazio delle fasi, D0 . Sia assuma, senza perdere in generalitá
40
CAPITOLO 6. MONTE CARLO IBRIDO
τ0 = 0 . Sia D(τ ) la regione al tempo τ occupata dagli stessi punti che erano
inizialmente in D(0) = D0 (Fig. 6.1
Figura 6.1: Conservazione delle traiettorie nello spazio delle fasi
Il volume di D(τ )és,
Z
Z
0 0
v(τ ) =
dq dp =
det(I + τ M )dqdp + O(τ )
(6.9)
D(0)
D(τ )
dove é stato utilizzato il cambiamento di variabili,
q 0 = q + τ q̇ + o(τ )
p0 = p + τ ṗ + o(τ )
La matrice M ié la parte dello Jacobiano con derivate q̇ and ṗ. Si ha che
det(I + τ M ) = 1 + τ T rM + o(τ )
(6.10)
dove T r é la traccia, che mediante le Eq. di Hamilton puó essere scritta
come,
∂ q̇ ∂ ṗ
∂ ∂H
∂ ∂H
T rM =
+
=
−
=0
(6.11)
∂q ∂p
∂q ∂p
∂p ∂q
dove si é assunto che le derivate parziali del secon’ordine siano continue per
avere derivate parziali miste identiche. Allora,
Z
v(τ ) =
(1 + 0)dqdp + o(τ ) = v(0) + o(τ )
(6.12)
D(0)
6.2.
DINAMICA HAMILTONIANA IN UN TEMPO FITTIZIO
41
da cui,
d
v(τ ) = 0
dτ
0
(6.13)
Poiché τ0 = 0 é arbitrario, la relazione vale in qualunque istante, percui il
volume si conserva.
6.2.4
Discretizzazione Leapfrog
Per simulare la dinamica Hamiltoniana, discretizziamo le equazioni di moto.
La discretizzazione deve essere effettuata in maniera tale da non introdurre errori che comprometterebbero la reversibilitá temporale., richiesta da
Metropolis. Un schema che gode di questa proprietá é la discretizzazione
leapfrog. Un’iterazione dello schema leapfrog aggiorna le coordinate qi , pi in
tre tempi.
Per iniziare viene effettuato un mezzo passo per aggiornare pi ,
p̂i (τ + /2) = p̂i (τ ) −
∂ log P
(q̂(τ ));
2 ∂qi
(6.14)
poi viene compiuto un passo intero per aggiornare le posizioni,
q̂i (τ + ) = q̂i (τ ) + p̂i (τ + /2);
(6.15)
infine, un secondo mezzo passo per i momenti,
p̂i (τ + ) = p̂i (τ + /2) −
∂ log P
(q̂(τ + ))
2 ∂qi
(6.16)
Al termine dell’iterazione si ottiene un’approssimazione di qi , pi al tempo
τ + partendo da τ . la discretizzazione leapfrog gode dunque delleseguenti
proprietá
1. Preserva H, a meno di fattori trascurabili (dell’ordine di O(2 )).
2. Conserva i volumi, poiché le trasformazioni effettuate sono solo deformazioni.
3. E’ reversibile.
42
CAPITOLO 6. MONTE CARLO IBRIDO
6.3
Hybrid Monte Carlo
HMC é sostanzialmente un Metropolis eseguito nello spazio delle fasi
1. Si sceglie una direzione casuale del tempo, i.e., con probabilitá 1/2 per
simulare una dinamica in avanti o all’indietro.
2. dato lo stato corrente (q, p) = (q(0), p(0)) di energia H, si eseguono
un numero casuale L di iterazioni dello schema leapfrog con passo
di discretizzazione casuale, nella direzione casuale scelta al passo
precedente. Questo produce uno stato candidato (q 0 , p0 ) di energia H0 .
Lo stato proposto viene accettato con la regola di Metropolis,
min{1, exp[−(H0 − H)]}
(6.17)
La probabilitá di accettazione puó essere resa arbitrariamente prossima a
1, diminuendo . In pratica la discretizzazione introduce un piccolo errore
H0 − H.
6.3.1
Perché HMC funziona
La ragione del suo funzionamento risiede nella simmetria del procedimento.
Si consideri la probabilitd́i proporre una nuova regione D0 posto che lo stato
corrente é situato in una piccola regione D di volume dv nello spazio delle
fasi. Poiché la dinamica simulata é invariante per inversione temporale e
conserva i volumi, D0 avrá anch’esso volumedv e la probabilitá di raggingere
D partendo da D0 é la stessa di quella che si ha nel passaggio D0 → D.
Il beneficio di seguire una traiettoria nello spazio delle fasi consiste nel
poter esplorare velocemente regioni che sono lontane dallo stato corrente,
riducendo dunque il cammino erratico della catena di Markov, pur mantenendo un basso tasso di rigetto delle mosse proposte. La possibilitá divisitare regioni lontane aumenta ovviamente l’accuratezza con cui si campiona
la distribuzione iniziale.
Bibliografia
[1] D.J.C. MacKay,
Information Theory, Inference and Learning
Algorithms, Cambridge University Press, Cambridge, UK, 2002.
43