introduction aux methodes de monte ... - …miv.u-strasbg.fr/mazet/publis/mazet_mtde03.pdf · cha^...
TRANSCRIPT
Seminaire MTDE
22 mai 2003
INTRODUCTION AUX
METHODES DE MONTE CARLO
PAR CHAINES DE MARKOV
Vincent Mazet
CRAN – CNRS UMR 7039,
Universite Henri Poincare,54506 Vandœuvre-les-Nancy Cedex
10 juillet 2003
Sommaire
1. Introduction
2. A quoi ca sert ?– Generation de variables aleatoires
– Integration
– Optimisation
3. Methodes non MCMC– Inversion de la fonction de repartition
– Generation de VA uniformes
– Generation de VA non uniformes
4. Chaınes de Markov
5. Algorithmes de Metropolis–Hastings
6. Echantillonnage de Gibbs
7. Methodes hybrides
8. Conclusion
9. Bibliographie
2/29
Introduction
MCMC = Markov Chain Monte Carlo
Les methodes MCMC creent une longue chaıne de Markov {xi} dont lesechantillons sont distribues asymptotiquement selon la distribution requise π(x),on dispose ainsi de VA distribuees suivant π.
0 50 100 150 2000
1
2
3
4
5
6
7
8
9
10
PSfrag replacements
π = Ga(3, 1)
chaıne de Markov : xi ne depend que de xi−1
p(xi|xi−1, ..., x0) = p(xi|xi−1)
3/29
Introduction
Historique
Les methodes MCMC sont apparues il y a 50 ans pour la physique statistique[Metropolis et al. 1953].
1970 : article precurseur de Hastings.
1984 : echantillonneur de Gibbs [Geman & Geman 1984].
1990 : apparition des methodes MCMC dans la litterature statistique etd’analyse du signal [Gelfand & Smith 1990] grace aux progres de l’informatique.
4/29
Utilite des methodes MCMC
1. Echantillonnage de variables aleatoires
x ∼ π(x)
I echantillonnage de variables aleatoires, calcul d’integrales, optimisation defonctions,...
I utilisation de methodes usuelles (si π est relativement simple) ou MCMC (s’iln’est pas possible d’utiliser les methodes usuelles).
5/29
Utilite des methodes MCMC
2. Integration
E [f(X)] =
∫f(x)π(x)dx
I calcul de la moyenne a posteriori, estimation de marginales,...
I EN [f(X)] =1
N
N∑
i=0
f(xi)
avec xi ∼ π(x) iid et N suffisamment grand (convergence d’apres la loi desgrands nombres)
6/29
Utilite des methodes MCMC
3. Optimisation
xmax = arg maxx
π(x)
I maximisation de fonction (en s’affranchissant des problemes de minimalocaux), calcul du maximum a posteriori,...
I crible, ARS, recuit simule, ...
exemple de crible pour le calcul du MAP θ = arg maxθ
p(θ|y).
1. echantillonnage : u ∼ Usupport ;
2. xmax = u ssi p(u|y) > p(xmax|y) ;
3. retour en 1.
7/29
Utilite des methodes MCMC
0 2 4 6 8 100
20
40
60
80
100
120
140
160
180
200
0 100 200 3000
1
2
3
4
5
6
7
8
9
10
PSfrag replacements
E =1
N
N∑
i=0
xi = 2, 9693 (3) Var =1
N
N∑
i=0
x2i−E
2= 2, 8187 (3) xmax = 2, 03 (2)
8/29
Methodes non MCMC
Inversion de la fonction de repartition
PSfrag replacements
0 1
p
F
u ∼ U [0, 1]x = F−1(u)
9/29
Methodes non MCMC
Generateurs de VA uniformes
Algorithme Kiss, qui combine deux techniques de generation :
• la generation congruencielle : xn+1 = (axn + b)modM ;
• la generation par deplacement de registre.
Simulation de lois non uniformes
Plusieurs algorithmes existent :
• Algorithme de Box et Muller (1958) pour la simulation d’une loi N (0, 1) ;
• Methodes de melanges (simulation de lois simples pour en construire de pluscomplexes) ;
• Methode d’acceptation-rejet avec ou sans enveloppe ;
• Methodes generales pour les densites log-concaves.
10/29
Chaınes de Markov
Definition
p(xi|x0, ..., xi−1) = p(xi|xi−1)
une chaıne de Markov est definie par deux composantes :
– la distribution initiale p(x0) ;
– le noyau de transition T (x, A) = p(xi+1 ∈ A|xi = x).
11/29
Chaınes de Markov
Proprietes importantes des chaınes de Markov
• Invariance/Stationnarite : si xi distribue suivant π, alors xi+1 et les suivantssont distribues suivant π.
• Irreductibilite : tous les ensembles de probabilite non nulle peuvent etreatteints a partir de tout point de depart.
• Recurrence : les trajectoires (Xi) passent une infinite de fois dans toutensemble de probabilite non nulle.
• Aperiodicite : aucun noyau n’induit un comportement periodique destrajectoires.
12/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
[Metropolis et al. 1953] [Hastings 1970]
objectif : x ∼ π(x)
on introduit q(a|b) : « loi instrumentale » ou « loi candidate ».
q quelconque, mais doit etre simulable rapidement (U , N ,...) et est
– soit disponible analytiquement (a une constante pres) ;
– soit symetrique (q(a|b) = q(b|a)).
13/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
1. initialiser x(0)
2. a l’iteration i :
(a) simuler
x ∼ q(x|x(i−1))
(b) calcul de
α = min
{1,
π(x)
π(x(i−1))
q(x(i−1)|x)
q(x|x(i−1))
}
(c) accepter x avec la probabilite α :
x(i)
=
{x avec la probabilite α (acceptation)
x(i−1) sinon (rejet)
3. i← i + 1 et aller en 2
14/29
Algorithme de Metropolis-Hastings
−20 −10 0 10 200
200
400
600
800
1000
1200
1400
−20 −10 0 10 200
1000
2000
3000
4000
5000
−20 −10 0 10 200
500
1000
1500
2000
2500
3000
3500
−20 −10 0 10 200
1000
2000
3000
4000
PSfrag replacements
q = U [−4, 4] q = U [−10, 10]
q = N (0, 20)q = N (0, 1)
15/29
Algorithme de Metropolis-Hastings
0 50 100 150 200−3
−2
−1
0
1
2
3
0 50 100 150 200−4
−2
0
2
4
0 50 100 150 200−10
−5
0
5
10
0 50 100 150 200−10
−5
0
5
10
15
PSfrag replacements
q = U [−4, 4] q = U [−10, 10]
q = N (0, 20)q = N (0, 1)
16/29
Algorithme de Metropolis-Hastings
Remarques
• Ne genere pas d’echantillons iid, en particulier parce que la probabilited’acceptation de x depend de x(i−1) ;
• Le choix de q est important :– le support de q doit couvrir le support de π ;– q doit etre une bonne approximation de π ;– ...
17/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings independant
(independence sampler)
q(x|x) = q(x)
Algorithme de Metropolis
(Metropolis algorithm) [Metropolis 1953]
q(x|x) = q(x|x)
d’ou : α = min
{1,
π(x)
π(x(i−1))
}
18/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings a sauts reversibles
(reversible jump) [Green 1995]
utilise lorsque la dimension de l’espace est l’un des parametre a simuler.
exemples :
– estimation du nombre de composantes dans un melange ;
– ordre d’une serie ARMA ;
– nombre de changement de regime dans une serie stationnaire par morceaux.
19/29
Algorithme de Metropolis-Hastings
Recuit simule
(simulated annealing)
Pour minimiser un critere E sur un ensemble fini de tres grande taille.
Correspond a l’algorithme de Metropolis pour simuler la densite
π(x) = exp(−E(x)/Ti)
Cette densite tend vers un pic de Dirac.
En general, Ti = βiT0 avec 0 < β < 1 ⇒ chaıne de Markov inhomogene.
20/29
Algorithme de Metropolis-HastingsExemple
Minimum de E(x) = sin(100/x) exp(−(x − 1)2
)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
→ Minimum reel : 1,01 ;
→ Fontion fminsearch, initialisee en 1,5 : 1,48 ;
→ Recuit simule avec q = N (1, 5, 10), β = 0, 9, T0 = 100 : 1,08.
21/29
Algorithme de Metropolis-Hastings
−10 −5 0 5 100
20
40
60
80
−10 −5 0 5 100
50
100
150
200
250
−10 −5 0 5 100
50
100
150
200
−10 −5 0 5 100
100
200
300
400
PSfrag replacements
i ∈ [1; 5000] i ∈ [5000; 10000]
i ∈ [10000; 15000] i ∈ [15000; 20000]
22/29
Algorithme de Metropolis-Hastings
Variantes de l’algorithme de Metropolis-Hastings
Classification complete des algorithmes de Metropolis-Hastings impossible dufait de l’universalite de la methode et du developpement des methodes hybridesplus performantes.
• MH « un a la fois » ;
• MH a marche aleatoire ;
• version autoregressive ;
• ARMS.
23/29
Echantillonnage de Gibbs
Echantillonnage de Gibbs
(Gibbs sampler) [Geman & Geman 1984]
objectif : x ∼ π(x)
avec x = (x1, ..., xN)
πi(xi|x−i) connus
• Taux d’acceptation de 1 (tous les echantillons simules sont acceptes).
• Necessairement multidimensionnel avec nombre de variables fixe.
24/29
Echantillonnage de Gibbs
Echantillonnage de Gibbs
1. initialiser x(0) = (x
(0)1 , ..., x
(0)N
)
2. iteration i : simuler
x(i+1)1 ∼ π1(·|x
(i)2 , ..., x
(i)N
)
x(i+1)2 ∼ π2(·|x
(i+1)1 , x
(i)3 , ..., x
(i)N
)
...
x(i+1)N∼ πN(·|x
(i+1)2 , ..., x
(i+1)N−1 )
3. i← i + 1 et aller en 2
NB : on peut ne pas echantillonner que des scalaires.
25/29
Echantillonnage de Gibbs
Remarques
• Il existe des echantillonneurs de Gibbs a balayage symetrique (deterministically
updated Gibbs sampler) et a balayage aleatoire (random sweep Gibbs sampler).
• x(i+1)j echantillonne seulement a partir de x
(i)−j.
(MH : a partir de x(i)−j et x
(i)j ).
• Tres simple a implementer.
• Lorsqu’il est possible d’echantillonner a partir des probabilites conditionnelles,l’echantillonneur de Gibbs est le meilleur choix.
• Certains parametres, s’ils sont tres correles (exemple : composants d’une RI),peuvent etre visites plus que d’autres (comme une moyenne ou une variance).
26/29
Algorithmes hybrides
Algorithmes hybrides
Versions couplees de plusieurs schemas de simulation afin de pouvoir exploitertoutes leurs proprietes. Algorithmes tres recents.
– acceptation-rejet + Metropolis-Hastings : pour d’obtenir des echantillons iid ;
– grid based chains : permet d’obtenir des expressions du type E[Xi+1|Xi].
27/29
Conclusion
Conclusion
Les methodes MCMC permettent d’echantillonner des VA en construisant unechaıne de Markov. Des estimateurs permettent ensuite d’integrer ou d’optimiserdes fonctions.
Des methodes non MCMC, plus simples permettent dans certains cas des’abstenir des methodes MCMC (inversion de la fonction de repartition, Kiss,acceptation/rejet, ...)
Les deux algorithmes MCMC les plus repandus sont Metropolis-Hastings etl’echantillonneur de Gibbs.
28/29
Bibliographie
Bibliographie
• C. Robert. Methodes de Monte Carlo par Chaınes de Markov. 1996.
• W.R. Gilks, S. Richardson et D.J. Spiegelhalter. Markov Chain Monte Carlo
in Practice. 1996.
• C. Andrieu, A. Doucet et P. Duvaut. Methodes de Monte Carlo par Chaınes
de Markov appliquees au traitement du signal. Rapport interne ETIS-URA2235 97 n◦03
• S. Senecal. Methodes de simulation Monte Carlo par chaınes de Markov
pour l’estimation de modeles. Applications en separation de sources et en
egalisation. These de doctorat, INPG, 2002.
• W.J. Fitzgerald. Markov Chain Monte carlo methods with applications tosignal processing. Signal Processing 81, p. 3–18, 2001
• S. Vaton. Notes de cours sur les methodes de Monte Carlo par chaınes de
Markov. 2002.
29/29