Séminaire MTDE 22 mai 23 INTRODUCTION AUX MÉTHODES DE MONTE CARLO PAR CHAÎNES DE MARKOV Vincent Mazet CRAN CNRS UMR 739, Université Henri Poincaré, 5456 Vandœuvre-lès-Nancy Cedex 1 juillet 23
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 {x i } dont les échantillons sont distribués asymptotiquement selon la distribution requise π(x), on dispose ainsi de VA distribuées suivant π. 1 9 8 π = Ga(3, 1) 7 6 5 4 PSfrag replacements 3 2 1 5 1 15 2 chaîne de Markov : x i ne dépend que de x i 1 p(x i x i 1,..., x ) = p(x i x i 1 ) 3/29
Introduction Historique Les méthodes MCMC sont apparues il y a 5 ans pour la physique statistique [Metropolis et al. 1953]. 197 : article précurseur de Hastings. 1984 : échantillonneur de Gibbs [Geman & Geman 1984]. 199 : apparition des méthodes MCMC dans la littérature statistique et d analyse du signal [Gelfand & Smith 199] grâce aux progrès de l informatique. 4/29
Utilité des méthodes MCMC 1. Échantillonnage de variables aléatoires x π(x) échantillonnage de variables aléatoires, calcul d intégrales, optimisation de fonctions,... 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)] = f(x)π(x)dx calcul de la moyenne a posteriori, estimation de marginales,... ÊN [f(x)] = 1 N N f(x i ) i= avec x i π(x) iid et N suffisamment grand (convergence d après la loi des grands nombres) 6/29
Utilité des méthodes MCMC 3. Optimisation x max = arg max x π(x) maximisation de fonction (en s affranchissant des problèmes de minima locaux), calcul du maximum a posteriori,... crible, ARS, recuit simulé,... exemple de crible pour le calcul du MAP 1. échantillonnage : u U support ; 2. x max = u ssi p(u y) > p(x max y) ; 3. retour en 1. θ = arg max θ p(θ y). 7/29
Utilité des méthodes MCMC 2 1 18 9 16 8 14 7 12 6 1 5 8 4 6 3 4 2 2 1 2 4 6 8 1 1 2 3 Ê = 1 N N 1 x i = 2, 9693 (3) Var = N i= N x 2 i Ê2 = 2, 8187 (3) x max = 2, 3 (2) i= 8/29
Méthodes non MCMC Inversion de la fonction de répartition F PSfrag replacements p u U[, 1] x = F 1 (u) 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 : x n+1 = (ax n + 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 (, 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. 1/29
Chaînes de Markov Définition p(x i x,..., x i 1 ) = p(x i x i 1 ) une chaîne de Markov est définie par deux composantes : la distribution initiale p(x ) ; le noyau de transition T (x, A) = p(x i+1 A x i = x). 11/29
Chaînes de Markov Propriétés importantes des chaînes de Markov Invariance/Stationnarité : si x i distribué suivant π, alors x i+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 (X i ) 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 197] 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 () 2. à l itération i : (a) simuler (b) calcul de x q(x x (i 1) ) { } π( x) q(x (i 1) x) α = min 1, π(x (i 1) ) q( x x (i 1) ) (c) accepter x avec la probabilité α : { x avec la probabilité α (acceptation) x (i) = x (i 1) sinon (rejet) 3. i i + 1 et aller en 2 14/29
Algorithme de Metropolis-Hastings 14 12 1 8 6 4 2 q = U[ 4, 4] q = U[ 1, 1] 5 4 3 2 1 2 1 1 2 2 1 1 2 35 q = N (, 1) 4 q = N (, 2) 3 replacements 25 2 15 3 2 1 5 1 2 1 1 2 2 1 1 2 15/29
Algorithme de Metropolis-Hastings 4 q = U[ 4, 4] q = U[ 1, 1] 1 2 5 2 5 4 5 1 15 2 1 5 1 15 2 3 q = N (, 1) 15 q = N (, 2) replacements 2 1 1 1 5 2 5 3 5 1 15 2 1 5 1 15 2 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 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( x x) = q( x) Algorithme de Metropolis (Metropolis algorithm) [Metropolis 1953] q( x x) = q(x x) d où : α = min { 1, } π( x) π(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)/T i ) Cette densité tend vers un pic de Dirac. En général, T i = β i T avec < β < 1 chaîne de Markov inhomogène. 2/29
Algorithme de Metropolis-Hastings Exemple Minimum de E(x) = sin(1/x) exp ( (x 1) 2) 1.8.6.4.2.2.4.6.8 1.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Minimum réel : 1,1 ; Fontion fminsearch, initialisée en 1,5 : 1,48 ; Recuit simulé avec q = N (1, 5, 1), β =, 9, T = 1 : 1,8. 21/29
Algorithme de Metropolis-Hastings 8 i [1; 5] i [5; 1] 25 6 4 2 2 15 1 5 1 5 5 1 1 5 5 1 2 i [1; 15] i [15; 2] 4 g replacements 15 1 3 2 5 1 1 5 5 1 1 5 5 1 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 = (x 1,..., x N ) π i (x i 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 1. initialiser x () = (x () 1,..., x() N ) 2. itération 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 é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). échantillonné seulement à partir de x (i) x (i+1) j (MH : à partir de x (i) j et x(i) j ). 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). j. 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[X i+1 X i ]. 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 3 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, 22. W.J. Fitzgerald. Markov Chain Monte carlo methods with applications to signal processing. Signal Processing 81, p. 3 18, 21 S. Vaton. Notes de cours sur les méthodes de Monte Carlo par chaînes de Markov. 22. 29/29