Calcul Bayésien : Simulations Méthodes de Monte-carlo par chaînes de Markov (MCMC) 5 décembre 2011 Mélanie Prague Plan Théorie sur l’échantillonnage - non MCMC - MCMC : Monte Carlo Markov Chain Algorithmique (MétropolisHastings, Gibbs…) 2 Références Livres : The Bayesian Choice – C.P. Robert : 2007, Springer p.285-343 Bayesian methods for data analysis – B.P. Carlin et T.A. Louis : 2009, Chapman&Hall p.105-160 Supports numériques : Vincent MAZET Séminaire MTDE 22/05/2003 Antonietta MIRA Bayesian methods in Inverse Problems Summer course 21-24/06/2004 Alexandre POPIER Méthode de monte-Carlo par chaînes de Markov Arnaud DOUCET Monte Carlo Methods. Cours d’été MLSS 2011 3 Notations (Bayésiennes) ( x1 ,..., xn ) : Loi a posteriori ( ) : Loi a priori p( x1 ,..., xn ) : Vraisemblance 4 Motivation (1) Réaliser des calculs en inférence Bayésienne peut être complexe : Avoir une expression analytique de l’a posteriori peut être impossible. Même si cela est possible, certains calculs peuvent être nécessaires (minimisation, intégration…) -> Il faut échantillonner la loi a posteriori Exemple : Considérons x1,…,xn un échantillon d’une loi de Cauchy C(θ,1) et θ~N(μ,σ²), μ et σ² connus. Ecrivons la distribution a posteriori π(θ| x1,…,xn ). ( x1 ,..., xn ) ( ) p( x1 ,..., xn ) e ( )2 / 2 ² n (1 ( x )²) 1 i i 1 5 Motivation (2) Calcul exact de π(θ| x1,…,xn ), constante de normalisation : e ( x1 ,..., xn ) e ( )2 / 2 ² n (1 ( x )²) 1 i ( ) 2 / 2 ² i 1 n (1 ( x )²) i 1 d i 1 Calcul de l’estimateur de Bayes pour la norme quadratique δπ (moyenne a posteriori) : ( x1 ,..., xn ) E ( x1 ,..., xn ) e e ( ) 2 ( ) 2 / 2 ² n (1 ( x i 1 )²) d i 1 / 2 ² n (1 ( xi )²) d 1 i 1 -> π(θ| x1,…,xn ) et δπ n’ont pas d’expression analytique. 6 Motivation (3) Autre exemple: Même dans des cas plus simples, il est souvent nécessaire d’échantillonner : Soit X~N(0,1) : 1 ( x )² exp( )dx 1 2 ² 2 ² Calculer : 5 A 5 1 ( x )² 5 5 exp( )dx ( ) ( ) 2 ² 2 ² -> On ne peut pas calculer analytiquement A. -> Une solution de calcul est l’échantillonnage. 7 Plan Méthodes non MCMC MCMC Monte Carlo par Chaînes de Markov Algorithmes (Métropolis-Hastings, Gibbs…) 8 Partie I Méthodes non MCMC 9 Objectifs Echantillonner des lois usuelles. Loi uniforme Loi binomiale Loi normale … Echantillonner une loi définie analytiquement. Méthode par inversion Méthode d’acceptation-rejet. 10 Objectifs Echantillonner des lois usuelles. Loi uniforme Loi binomiale Loi normale … Echantillonner une loi définie analytiquement. Méthode par inversion Méthode d’acceptation-rejet. 11 Génération de nombres pseudo-aléatoires: loi uniforme sur [0;1] Algorithme congruentiel linéaire (Lehmer, 1948) 1. Générer une suite d’entiers yn tel que yn+1= ( ayn + b ) mod. m 2. Prendre xn= yn / m Choisir a, b et m de manière à ce qu’ yn ait une période très longue pour qu’(x1 , ... , xn) puisse être considéré comme iid. -> On ne s’intéresse pas dans ce cours à ce générateur de nombre pseudo- aléatoires. C’est un outil des différents algorithmes présenté par la suite. 12 Génération de nombres pseudo-aléatoires: loi binomiale B(n,p) Il existe des relations entre les différentes lois usuelles : Yi 1U i p ~ Ber ( p ) n X Yi ~ Bin (n, p ) i 1 -> On peut se servir de l’algorithme congruentiel linéaire pour pseudo-générer de telles lois. 13 Génération de nombres pseudo-aléatoires: loi Normale N(0,1) 14 Objectifs Echantillonner des lois usuelles. Loi uniforme Loi binomiale Loi normale … Echantillonner une loi définie analytiquement. Méthode par inversion Méthode d’acceptation-rejet. 15 Méthode par inversion Exemple : Loi exponentielle, simuler une réalisation de X~exp(λ). f ( x) exp( x) et F ( x) 1 exp( x) u 1 Posons x ln 1 u . S i u ~ U [0,1] Alors x ~ exp( ) 16 Méthode d’acceptation-rejet 17 Exercices Exercice 1 : Construisez un pseudo-n-échantillon de loi discrète : p1δx1+…+pnδxn, Σpi=1 avec Σpi=1. Exercice 2 : Par la méthode par inversion, simuler un n-échantillon d’une loi de Cauchy f(x)=1/(π(1+x²)) sachant arctan(x)’=1/(1+x²), Exercice 3 : Ecrire un algorithme d’acceptation-rejet pour simuler la réalisation d’un échantillon de taille n d’une N(0,1) à l’aide d’une fonction de proposition : g ( x) 1 exp( x ) 2 18 Partie II MCMC Monte Carlo par chaînes de Markov 19 Changement de Notations (MCMC) π ne correspond plus directement à l’a priori. : Loi à échantillonner * : Loi invariante de la châine de Markov 20 Objectifs Introduction Chaîne de Markov Méthodes de Monte-Carlo Chaîne MCMC 21 Objectifs Introduction Chaîne de Markov Méthodes de Monte-Carlo Chaîne MCMC 22 Principe des méthodes MCMC 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 v.a. distribuées suivant π appelée distribution stationnaire de la chaîne. 23 Utilité des méthodes MCMC • • • Echantillonnage de variables aléatoires x~ π(x) Intégration : E[f(X)] (calculs de la moyenne a posteriori, estimation de marginales…) [-> méthodes de Monte-Carlo] Optimisation (maximisation de fonctions…) 24 Objectifs Introduction Chaîne de Markov Méthodes de Monte-Carlo Chaîne MCMC 25 Chaîne de Markov Définition C’est un processus sans mémoire : - « Pour le futur, on ne dépend que du passé via le présent » - L’état à l’étape i+1 ne dépend que de l’état à l’étape i. 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 appartient A| xi=x). 26 Chaîne de Markov Propriété importantes Invariance/Stationnarité : si xi est distribué suivant π, alors xi+1 et les suivants sont distribués suivant π. -> Pour n suffisamment grand, il existe un rang N, n N , xn ~ 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é : Rien n’induit un comportement périodique des trajectoires. 27 Chaîne de Markov Exemple : Supposons que l’état d’un rongeur suive un processus de Markov à trois états (dormir (D), manger (M), faire de l’exercice (E)). Ainsi, son état dans une minute dépend de son état actuel, et pas des minutes précédentes. Supposons que la matrice des probabilité de transition soit la suivante : x \x n 1 n D M E 0.9 0.05 0.05 0 0.3 P 0.7 0.8 0 0.2 1) Selon vous, la chaîne est-elle irréductible? Récurrente? Apériodique? 0.7 M 0.9 0.05 D 0.8 0.05 0.3 E 0.2 28 Chaîne de Markov 2) Supposons que le rongeur dorme que fait-il 2 min après? 10 min après? X n X 0 Pn 1 X 0 0 0 3) T 0.884 X 10 X 0 P10 0.044 0.072 T S’il fait de l’exercice? 0 X 0 0 1 T 0.884 X 10 X 0 P10 0.044 0.072 T Ici la loi est apériodique et irréductible : Il y a donc une loi stationnaire. π*=π*P ( 1 , 2 , 3 )( I P) (0,0,0) 1 0.884 2 0.0442 3 0.0718 29 Objectifs Introduction Chaîne de Markov Méthodes de Monte-Carlo Chaîne MCMC 30 Illustration Monte-Carlo (1955) est le nom crypté d’un projet de John von Neumann et Stanislas Ulam au « Los Alamos Scientic Laboratory ». Le projet consistait à utiliser des nombres aléatoires pour simuler des quantités difficiles (ou impossible) à calculer analytiquement. Exemple : Calcul du nombre pi à l’aide de nombres aléatoires. Un cible quadrillée en 36*36 Une roulette de casino 31 Illustration •Exemple (suite): Calcul du nombre pi à l’aide de nombres aléatoires. • Probabilité d’être dans le cercle : RC R ² (2R)² 4 • Simuler ((x11,x21),…,(x1n,x2n))=(P1,…,Pn) points du repère avec la roulette. • Placer ces points dans le repère. • Calculer le ratio (probabilité estimée d’être dans le cercle) : R̂C P cercle i n Si n=1000, réussites=765 alors, ˆ 3.06 n RC • RˆC 32 Méthodes de Monte-Carlo 33 Objectifs Introduction Chaîne de Markov Méthodes de Monte-Carlo Chaîne MCMC 34 Définition des chaînes MCMC • Métropolis et al. 1953 : Pour produire une approximation acceptable d’une intégrale ou d’une autre fonctionnelle d’une distribution d’intérêt, il suffit de générer une chaîne de Markov (θn) de distribution limite la distribution d’intérêt puis d’y appliquer des méthodes de Monte-Carlo. • Convergence - Un paradoxe apparent : Il semble y avoir un double argument asymptotique. , n X 0 , X n L * N 1 Eˆ N f ( X ) f ( xi ) N E f ( X ) N i 0 35 Une double convergence Construire n*N réalisations, n→∞, N →∞ X 0(1) X 1(1) X 0( 2) X 1( 2) X n(1) X n( 2) X 0( N ) X 1( N ) X n( N ) CHAINE DE MARKOV MONTE-CARLO 36 Théorème Ergodique 0 1 n n 1 n 2 n N PHASE DE CHAUFFE PHASE D’ECHANTILLONAGE ! n doit être suffisamment grand (avec ou sans batch-sampling) 37 Stratégie générale pour MCMC MCMC Position initiale X0=x0 Faire n+N fois Position actuelle : Xt=x 1. Proposer un nouveau candidat y~q(x,.) 2. Accepter y avec la probabilité α (x,y) : Xt+1=y Si t>n, « Sauver » Xt+1 pour calculer la fonctionnelle 3. Sinon, θt+1=x 4. Si t<(n+N), retour en 1. MONTECARLO CHAINE DE MARKOV q : loi instrumentale de proposition α : probabilité d’acceptation 38 Stratégie générale pour MCMC q : loi instrumentale de proposition - Pas de choix optimal (une infinité de choix) - Le support de q doit contenir le support de π. - Ne doit pas générer de valeurs périodiques. - Simple à calculer ou symétrique α : probabilité d’acceptation - Doit être calculée de manière à assurer l’irréductibilité et l’apériodicité de π. 39 Partie II Algorithmes classiques 40 Objectifs Algorithme de Métropolis-Hastings Algorithme du Recuit-simulé Echantillonneur de Gibbs 41 Objectifs Algorithme de Métropolis-Hastings Algorithme du Recuit-simulé Echantillonneur de Gibbs 42 Métropolis-Hastings classique 43 Métropolis-Hastings (acceptation) 44 Métropolis-Hastings (acceptation) (c) Acceptation – rejet de ~ x Simuler une valeur uk de Uk ~ U([0,1]) x (i ) x si uk ~ (i 1) sinon x 45 Métropolis-Hastings (loi instrumentale) Métropolis-Hastings indépendant : q( ~ x x) q( ~ x) Exemple : • Si on veut échantillonner la loi de l’âge des femmes au premier enfant en France, on pourrait prendre une N(30,10) IC(95%)=[10.4;49.6] ans. • Si on veut échantillonner le nombre de visites moyen d’un habitant, sans maladie particulière, chez le médecin en 1 an, on pourrait prendre une loi de Poisson(3) 46 Métropolis-Hastings (loi instrumentale) Métropolis-Hastings à marche aléatoire : q( ~ x x) q ( ~ x x) (a) Simuler ~ x 1. Simuler une valeur ei de εi ~g(.) 2. ~ x x (i 1) ei Dans le cas où le noyau g est symétrique (i.e. g(t)=g(-t) ) : ( i 1) ~ (~ q ( x x) (~ x ) x) min 1, min 1 , ( i 1 ) ( i 1 ) ( i 1 ) ~ ( x ) q( x x ) (x ) Exemple : • loi discrète: g= ½ δ1+ ½ δ-1 • loi continue: g est une densité d’une loi normale centré. 47 Métropolis-Hastings à marche aléatoire (a) Simuler ~ x 1. Simuler une valeur ei de εi ~g(.) x x (i 1) ei 2. ~ (~ x) min 1, (i 1) (x ) (c) Acceptation – rejet de ~ x Simuler une valeur uk de Uk ~ U([0,1]) x (i ) ~ (~ x) x si u min 1 , k ( x (i 1) ) (i 1) sinon x -> INTERPRETATION DE L’ALGORITHME 48 Métropolis-Hastings - illustration Exemple: (Robert, 2007) Résultats d’un algorithme de Métropolis-Hastings à marche aléatoire N2(0,0.2I2), pour la distribution normale modifiée : 1 , x R ², ( x) exp( x ² / 2) exp i 1 i 15 ² μi sont des points répulsifs (valeur invraisemblable de θ) et sont correctement évités par la chaîne de Markov qui prend cependant la forme d’une loi normale à deux dimensions. 49 Métropolis-Hastings - illustration Exemple : 50 Les pours et contres de Métropolis-Hastings • C’est un algorithme très simple et très général permettant d’échantillonner de manière uni ou multidimensionnelle. • Le choix de la distribution instrumentale est crucial mais difficile. De plus, il a un impact considérable sur les performances de l’algorithme (temps lié aux forts taux de rejet) • Inefficace dans les problèmes de trop grande dimension • N’est pas adapté au calcul de certains indicateurs (ex: mode, quantiles…) -> Il faut améliorer l’algorithme : - Recuit simulé. - Echantillonneur de Gibbs qui peut être vu comme une succession de Métropolis-Hastings imbriqués. 51 Objectifs Algorithme de Métropolis-Hastings Algorithme du Recuit-simulé Echantillonneur de Gibbs 52 Algorithme du recuit simulé • Particulièrement adapté à la recherche du mode dans les distributions multimodale. •Idée : - La probabilité d’acceptation doit être grande au début pour balayer tout l’ensemble - Puis restrictive pour assurer que toute nouvelle valeur acceptée se rapproche du mode. - On introduit dans Métropolis-Hastings classique une température variant à chaque itération notée T(i). 1 ( i 1) ~ T ( i ) (~ q ( x x ) x) min 1, ( i 1 ) ( i 1 ) ~ ( x ) q( x x ) Exemple : Fonction géométrique i / N search Tf T (i ) T0 T0 T (i ) : Température à l'itération i T0 : Température de base N search : Itération à partir de laquelleon pense être proche du mode Tf : Température après N search 53 Objectifs Algorithme de Métropolis-Hastings Algorithme du Recuit-simulé Echantillonneur de Gibbs 54 Echantillonnage de Gibbs Un algorithme de simulation d’une loi π(x) telle que : • x admet une décomposition x=(x1,…,xn) • Les lois πi(.| x1,… xi-1, xi+1,…,xn) sont connues et simulables aisément. -> Algorithme de réactualisation composante par composante. 55 Echantillonnage de Gibbs - illustration Exemple : 1 ( X , Y ) ~ N (0, ) avec 1 X Y y ~ N ( y ,1 ²) et Y X x ~ N ( x,1 ²) A l' itération i : x ( i 1) ~ N ( y ( i ) ,1 ²) y ( i 1) ~ N ( x ( i 1) ,1 ²) Autre exemple : Cours 3 de François Caron p. 11 Cours 3 de François Caron p. 35 56 Implémentation MCMC dans Winbugs • Les estimations se font par MCMC pour tous les paramètres. • Le système choisit automatiquement entre • • • • Métropolis-Hastings classique Gibbs Sampling classique Gibbs Sampling par Métropolis-Hastings. Les lois instrumentales sont choisies de manière optimisée (lois conjuguées lorsque cela est possible) -> Métropolis within Gibbs sampling (Algorithme hybride) 57 Exercice Exercice 1 : Estimation bayésienne d ’une probabilité. Soit X=(X1,…,Xn) un n-échantillon d’une loi de Bernouilli de paramètre θ. On suppose que le paramètre θ a comme loi a priori la loi beta de paramètre (3,2). 1. Montrer que la loi a posteriori de θ|(X1,…,Xn)=(x1,…,xn) est encore une loi beta dont on précisera les paramètres. 2. En déduire l’espérance de cette loi a posteriori, et l’estimateur bayésien généralisé du paramètre θ associé à la fonction de coût quadratique. 3. Décrire un algorithme de Métropolis-Hastings indépendant permettant d’approcher la valeur de cet estimateur, en prenant comme loi instrumentale la loi beta de paramètre (3,2). Pourquoi choisit-on la loi a priori de θ comme loi instrumentale ici? 58 Conclusion Les méthodes MCMC permettent d‘échantillonner des v.a. 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, acceptation/rejet, ...) Les deux algorithmes MCMC les plus répandus sont Métropolis-Hastings et échantillonneur de Gibbs. 59