INTRODUCTION AUX MÉTHODES DE MONTE CARLO PAR

Transcription

INTRODUCTION AUX MÉTHODES DE MONTE CARLO PAR
Séminaire MTDE
22 mai 2003
INTRODUCTION AUX
MÉTHODES DE MONTE CARLO
PAR CHAÎNES DE MARKOV
Vincent Mazet
CRAN – CNRS UMR 7039,
Université Henri Poincaré,
54506 Vandœuvre-lès-Nancy Cedex
10 juillet 2003
Sommaire
1. Introduction
2. À quoi ça sert ?
– Génération de variables aléatoires
– Intégration
– Optimisation
3. Méthodes non MCMC
– Inversion de la fonction de répartition
– Génération de VA uniformes
– Génération de VA non uniformes
4. Chaı̂nes de Markov
5. Algorithmes de Metropolis–Hastings
6. Échantillonnage de Gibbs
7. Méthodes hybrides
8. Conclusion
9. Bibliographie
2/29
Introduction
MCMC = Markov Chain Monte Carlo
Les méthodes MCMC créent une longue chaı̂ne de Markov {xi} dont les
échantillons sont distribués asymptotiquement selon la distribution requise π(x),
on dispose ainsi de VA distribuées suivant π.
10
π = Ga(3, 1)
9
8
7
6
5
4
3
PSfrag replacements
2
1
0
0
50
100
150
200
chaı̂ne de Markov : xi ne dépend que de xi−1
p(xi|xi−1, ..., x0) = p(xi|xi−1)
3/29
Introduction
Historique
Les méthodes MCMC sont apparues il y a 50 ans pour la physique statistique
[Metropolis et al. 1953].
1970 : article précurseur de Hastings.
1984 : échantillonneur de Gibbs [Geman & Geman 1984].
1990 : apparition des méthodes MCMC dans la littérature statistique et
d’analyse du signal [Gelfand & Smith 1990] grâce aux progrès de l’informatique.
4/29
Utilité des méthodes MCMC
1. Échantillonnage de variables aléatoires
x ∼ π(x)
I échantillonnage de variables aléatoires, calcul d’intégrales, optimisation de
fonctions,...
I utilisation de méthodes usuelles (si π est relativement simple) ou MCMC (s’il
n’est pas possible d’utiliser les méthodes usuelles).
5/29
Utilité des méthodes MCMC
2. Intégration
E [f (X)] =
Z
f (x)π(x)dx
I calcul de la moyenne a posteriori, estimation de marginales,...
N
X
1
b N [f (X)] =
f (xi)
IE
N i=0
avec xi ∼ π(x) iid et N suffisamment grand (convergence d’après la loi des
grands nombres)
6/29
Utilité des méthodes MCMC
3. Optimisation
xmax = arg max π(x)
x
I maximisation de fonction (en s’affranchissant des problèmes de minima
locaux), calcul du maximum a posteriori,...
I crible, ARS, recuit simulé, ...
exemple de crible pour le calcul du MAP
1. échantillonnage : u ∼ Usupport ;
2. xmax = u ssi p(u|y) > p(xmax |y) ;
θb = arg max p(θ|y).
θ
3. retour en 1.
7/29
Utilité des méthodes MCMC
200
10
180
9
160
8
140
7
120
6
100
5
80
4
60
3
40
2
20
1
0
0
2
4
6
N
X
1
b=
E
xi = 2, 9693 (3)
N i=0
8
10
0
0
100
N
X
1
2 b2
c =
Var
x i −E
= 2, 8187 (3)
N i=0
200
300
x
bmax = 2, 03 (2)
8/29
Méthodes non MCMC
Inversion de la fonction de répartition
F
PSfrag replacements
u ∼ U[0, 1]
x = F −1(u)
p
0
1
9/29
Méthodes non MCMC
Générateurs de VA uniformes
Algorithme Kiss, qui combine deux techniques de génération :
• la génération congruencielle : xn+1 = (axn + b)modM ;
• la génération par déplacement 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) ;
• Méthodes de mélanges (simulation de lois simples pour en construire de plus
complexes) ;
• Méthode d’acceptation-rejet avec ou sans enveloppe ;
• Méthodes générales pour les densités log-concaves.
10/29
Chaı̂nes de Markov
Définition
p(xi|x0, ..., xi−1 ) = p(xi|xi−1)
une chaı̂ne de Markov est définie 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
Propriétés importantes des chaı̂nes de Markov
• Invariance/Stationnarité : si xi distribué suivant π, alors xi+1 et les suivants
sont distribués suivant π.
• Irréductibilité : tous les ensembles de probabilité non nulle peuvent être
atteints à partir de tout point de départ.
• Récurrence : les trajectoires (Xi) passent une infinité de fois dans tout
ensemble de probabilité non nulle.
• Apériodicité : aucun noyau n’induit un comportement périodique des
trajectoires.
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 être simulable rapidement (U, N ,...) et est
– soit disponible analytiquement (à une constante près) ;
– soit symétrique (q(a|b) = q(b|a)).
13/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
1. initialiser x(0)
2. à l’itération i :
(a) simuler
(b) calcul de
α = min
x
e ∼ q(x|x(i−1) )
(
1,
|e
x)
π(e
x) q(x
π(x(i−1) ) q(e
x|x(i−1))
(c) accepter x
e avec la probabilité α :
x
(i)
=
(
x
e
x(i−1)
(i−1)
avec la probabilité α
sinon
)
(acceptation)
(rejet)
3. i ← i + 1 et aller en 2
14/29
Algorithme de Metropolis-Hastings
1400
q = U [−4, 4]
5000
1200
q = U [−10, 10]
4000
1000
800
3000
600
2000
400
1000
200
0
−20
3500
−10
0
10
20
q = N (0, 1)
0
−20
4000
−10
0
10
20
q = N (0, 20)
3000
3000
2500
g replacements 2000
2000
1500
1000
1000
500
0
−20
−10
0
10
20
0
−20
−10
0
10
20
15/29
Algorithme de Metropolis-Hastings
g replacements
q = U [−4, 4]
4
2
5
0
0
−2
−5
−4
0
50
100
150
200
q = N (0, 1)
3
q = U [−10, 10]
10
−10
0
100
150
200
q = N (0, 20)
15
2
50
10
1
5
0
0
−1
−5
−2
−3
0
50
100
150
200
−10
0
50
100
150
200
16/29
Algorithme de Metropolis-Hastings
Remarques
• Ne génère pas d’échantillons iid, en particulier parce que la probabilité
d’acceptation de x
e dépend de x(i−1) ;
• Le choix de q est important :
– le support de q doit couvrir le support de π ;
– q doit être une bonne approximation de π ;
– ...
17/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings indépendant
(independence sampler)
q(e
x|x) = q(e
x)
Algorithme de Metropolis
(Metropolis algorithm) [Metropolis 1953]
q(e
x|x) = q(x|e
x)
d’où :
π(e
x)
α = min 1,
π(x(i−1))
18/29
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings à sauts réversibles
(reversible jump) [Green 1995]
utilisé lorsque la dimension de l’espace est l’un des paramètre à simuler.
exemples :
– estimation du nombre de composantes dans un mélange ;
– ordre d’une série ARMA ;
– nombre de changement de régime dans une série stationnaire par morceaux.
19/29
Algorithme de Metropolis-Hastings
Recuit simulé
(simulated annealing)
Pour minimiser un critère E sur un ensemble fini de très grande taille.
Correspond à l’algorithme de Metropolis pour simuler la densité
π(x) = exp(−E(x)/Ti)
Cette densité tend vers un pic de Dirac.
En général, Ti = β iT0 avec 0 < β < 1 ⇒ chaı̂ne de Markov inhomogène.
20/29
Algorithme de Metropolis-Hastings
Exemple
Minimum de E(x) = sin(100/x) exp −(x − 1)
1
2
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
→ Minimum réel : 1,01 ;
→ Fontion fminsearch, initialisée en 1,5 : 1,48 ;
→ Recuit simulé avec q = N (1, 5, 10), β = 0, 9, T0 = 100 : 1,08.
21/29
Algorithme de Metropolis-Hastings
ag replacements
80
i ∈ [1; 5000]
250
i ∈ [5000; 10000]
200
60
150
40
100
20
0
−10
200
50
−5
0
5
10
i ∈ [10000; 15000]
0
−10
400
150
300
100
200
50
100
0
−10
−5
0
5
10
0
−10
−5
0
5
10
i ∈ [15000; 20000]
−5
0
5
10
22/29
Algorithme de Metropolis-Hastings
Variantes de l’algorithme de Metropolis-Hastings
Classification complète des algorithmes de Metropolis-Hastings impossible du
fait de l’universalité de la méthode et du développement des méthodes hybrides
plus performantes.
• MH « un à la fois » ;
• MH à marche aléatoire ;
• version autorégressive ;
• ARMS.
23/29
Échantillonnage de Gibbs
Échantillonnage 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 échantillons simulés sont acceptés).
• Nécessairement multidimensionnel avec nombre de variables fixe.
24/29
Échantillonnage de Gibbs
Échantillonnage de Gibbs
(0)
(0)
1. initialiser x(0) = (x1 , ..., xN )
2. itération i : simuler
(i+1)
x1
(i+1)
x2
(i+1)
∼ π2(·|x1
.
.
.
(i+1)
xN
(i)
(i)
∼ π1 (·|x2 , ..., xN )
(i+1)
∼ πN (·|x2
(i)
(i)
, x3 , ..., xN )
(i+1)
, ..., xN −1 )
3. i ← i + 1 et aller en 2
NB : on peut ne pas échantillonner que des scalaires.
25/29
Échantillonnage de Gibbs
Remarques
• Il existe des échantillonneurs de Gibbs à balayage symétrique (deterministically
updated Gibbs sampler ) et à balayage aléatoire (random sweep Gibbs sampler ).
(i+1)
• xj
(i)
échantillonné seulement à partir de x−j .
(i)
(i)
(MH : à partir de x−j et xj ).
• Très simple à implémenter.
• Lorsqu’il est possible d’échantillonner à partir des probabilités conditionnelles,
l’échantillonneur de Gibbs est le meilleur choix.
• Certains paramètres, s’ils sont très corrélés (exemple : composants d’une RI),
peuvent être visités plus que d’autres (comme une moyenne ou une variance).
26/29
Algorithmes hybrides
Algorithmes hybrides
Versions couplées de plusieurs schémas de simulation afin de pouvoir exploiter
toutes leurs propriétés. Algorithmes très récents.
– acceptation-rejet + Metropolis-Hastings : pour d’obtenir des échantillons iid ;
– grid based chains : permet d’obtenir des expressions du type E[Xi+1|Xi].
27/29
Conclusion
Conclusion
Les méthodes MCMC permettent d’échantillonner des VA en construisant une
chaı̂ne de Markov. Des estimateurs permettent ensuite d’intégrer ou d’optimiser
des fonctions.
Des méthodes non MCMC, plus simples permettent dans certains cas de
s’abstenir des méthodes MCMC (inversion de la fonction de répartition, Kiss,
acceptation/rejet, ...)
Les deux algorithmes MCMC les plus répandus sont Metropolis-Hastings et
l’échantillonneur de Gibbs.
28/29
Bibliographie
Bibliographie
• C. Robert. Méthodes 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. Méthodes de Monte Carlo par Chaı̂nes
de Markov appliquées au traitement du signal. Rapport interne ETIS-URA
2235 97 n◦03
• S. Sénécal. Méthodes de simulation Monte Carlo par chaı̂nes de Markov
pour l’estimation de modèles. Applications en séparation de sources et en
égalisation. Thèse de doctorat, INPG, 2002.
• W.J. Fitzgerald. Markov Chain Monte carlo methods with applications to
signal processing. Signal Processing 81, p. 3–18, 2001
• S. Vaton. Notes de cours sur les méthodes de Monte Carlo par chaı̂nes de
Markov. 2002.
29/29