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