MCMC : Metropolis-Hastings et Gibbs (cours et applications ML)

Cours sur MCMC : Metropolis-Hastings (algorithme, acceptation, detailed balance), Gibbs sampling, diagnostics de convergence (burn-in, ESS, R-hat). Applications ML : inférence bayésienne. Exercices corrigés.
MCMC : Metropolis-Hastings et Gibbs pour le machine learning, formule d'acceptation et trajectoire d'une chaîne

L’approche bayésienne du machine learning se heurte vite à un mur pratique : la loi a posteriori p(\theta \mid D) est presque toujours connue à une constante multiplicative près, et cette constante de normalisation n’a pas de forme close. Comment estimer l’espérance d’une fonction sous une loi dont on ne connaît que le noyau ? La méthode de Monte-Carlo classique suppose qu’on sait tirer des échantillons i.i.d. de la cible, ce qui tombe à l’eau dès que cette constante manque.

MCMC (Markov chain Monte Carlo) contourne ce problème de façon élégante : on construit une chaîne de Markov dont la distribution stationnaire est précisément la cible, et on utilise les échantillons de la chaîne (corrélés) comme s’ils étaient tirés de la cible. Les deux algorithmes phares sont Metropolis-Hastings (le plus général) et Gibbs sampling (le plus simple quand il s’applique). Cet article présente la théorie, les algorithmes, les diagnostics de convergence, et trois exercices corrigés en lien direct avec les applications ML. Il s’inscrit dans la série Maths pour le Machine Learning.

Pourquoi MCMC : Monte-Carlo sur cible intractable

Le problème du posterior bayésien

En statistiques bayésiennes, on cherche à caractériser la loi a posteriori d’un paramètre \theta sachant des données observées D. Le théorème de Bayes s’écrit

p(\theta \mid D) = \frac{p(D \mid \theta) p(\theta)}{Z}, \qquad Z = \int p(D \mid \theta) p(\theta) \mathrm{d}\theta.

Le numérateur (vraisemblance × prior) se calcule point par point sans difficulté. En revanche, la constante Z au dénominateur est une intégrale en grande dimension, généralement sans forme close. Résultat : on connaît la densité posterior à un facteur multiplicatif près, ce qui suffit en théorie pour la caractériser, mais pas pour l’échantillonner par des méthodes standard.

La méthode Monte-Carlo ne suffit pas

Le Monte-Carlo vanilla estime \mathbb{E}_\pi[f(\theta)] en tirant N échantillons i.i.d. \theta_1, \ldots, \theta_N de la cible \pi et en moyennant : \widehat{\mu}_N = \tfrac{1}{N} \sum_i f(\theta_i). Mais pour tirer i.i.d. de \pi, il faut soit connaître la densité en entier (pour inverser la fonction de répartition ou appliquer l’acceptation-rejet), soit savoir simuler via une recette paramétrique. Le posterior bayésien général ne rentre dans aucune de ces deux cases.

L’insight clé de MCMC

L’idée géniale : construire une chaîne de Markov  (\theta_t)_{t \geq 0} dont la loi limite est la cible \pi. Il suffit alors de simuler la chaîne et de moyenner les états visités. Le point crucial, c’est que la règle de transition de la chaîne n’a besoin que du ratio \pi(\theta') / \pi(\theta) : la constante de normalisation Z apparaît au numérateur et au dénominateur et s’élimine. On travaille donc directement avec le noyau non normalisé, ce qui est exactement ce qui est disponible en bayésien.

L’idée centrale : chaîne de Markov ergodique

Rappel : mesure stationnaire

Pour une chaîne de Markov de noyau de transition K(\theta, \theta') (la densité conditionnelle de \theta_{t+1} sachant \theta_t = \theta), une densité \pi est stationnaire si elle reste invariante sous l’action de la chaîne :

\pi(\theta') = \int \pi(\theta) K(\theta, \theta') \mathrm{d}\theta.

Autrement dit, si \theta_t \sim \pi, alors \theta_{t+1} \sim \pi aussi. Le jeu de MCMC consiste à construire un noyau K qui admet précisément la cible \pi comme stationnaire.

Le théorème ergodique

Sous des hypothèses raisonnables (la chaîne est irréductible, apériodique, récurrente positive), on dispose d’un théorème ergodique : pour toute fonction f intégrable sous \pi, la moyenne temporelle converge presque sûrement vers la moyenne spatiale :

\frac{1}{N} \sum_{t=1}^N f(\theta_t) \xrightarrow[N \to \infty]{\text{p.s.}} \mathbb{E}_\pi[f(\theta)]

C’est l’équivalent MCMC de la loi des grands nombres. Peu importe le point de départ \theta_0 : au bout d’un certain temps, la chaîne « oublie » son origine et visite l’espace d’états selon \pi.

Le prix à payer : des échantillons corrélés

Contrairement au Monte-Carlo i.i.d., les états successifs \theta_t et \theta_{t+1} sont fortement corrélés (par construction, \theta_{t+1} dépend de \theta_t). La variance asymptotique de l’estimateur MCMC est donc plus grande que dans le cas i.i.d., d’un facteur égal à l’ESS (effective sample size), qu’on abordera dans la section diagnostics.

Metropolis-Hastings

L’algorithme

L’algorithme, introduit par Metropolis et al. en 1953 et généralisé par Hastings en 1970, fonctionne en deux étapes à chaque itération. Étant donnés l’état courant \theta_t et une densité de proposition q(\theta' \mid \theta) :

  1. Proposer \theta' \sim q(\cdot \mid \theta_t).
  2. Accepter \theta_{t+1} = \theta' avec probabilité
 \alpha(\theta_t, \theta') = \min\left(1, \frac{\pi(\theta')}{\pi(\theta_t)} \cdot \frac{q(\theta_t \mid \theta')}{q(\theta' \mid \theta_t)}\right)

sinon \theta_{t+1} = \theta_t (on reste sur place).

On remarque immédiatement que la cible \pi n’apparaît que via le ratio \pi(\theta') / \pi(\theta_t) : la constante de normalisation se simplifie. C’est précisément ce qui rend MH utilisable pour le posterior bayésien.

Preuve : la condition de balance détaillée

Pourquoi cet algorithme marche-t-il ? Parce qu’il force la chaîne à satisfaire la condition de balance détaillée (detailed balance) :

\pi(\theta) K(\theta, \theta') = \pi(\theta') K(\theta', \theta)

Cette condition, plus forte que la stationnarité, implique que \pi est stationnaire : en intégrant les deux membres sur \theta, on retrouve l’équation de stationnarité.

Vérifions-la. Pour \theta \neq \theta', le noyau effectif de MH est K(\theta, \theta') = q(\theta' \mid \theta) \alpha(\theta, \theta'). Il faut donc vérifier

 \pi(\theta) q(\theta' \mid \theta) \alpha(\theta, \theta') = \pi(\theta') q(\theta \mid \theta') \alpha(\theta', \theta)

Par symétrie du problème, supposons sans perte de généralité que \pi(\theta') q(\theta \mid \theta') \leq \pi(\theta) q(\theta' \mid \theta). Alors

 \alpha(\theta, \theta') = \frac{\pi(\theta') q(\theta \mid \theta')}{\pi(\theta) q(\theta' \mid \theta)} \qquad \text{et} \qquad \alpha(\theta', \theta) = 1

En substituant à gauche :

\pi(\theta) q(\theta' \mid \theta) \cdot \frac{\pi(\theta') q(\theta \mid \theta')}{\pi(\theta) q(\theta' \mid \theta)} = \pi(\theta') q(\theta \mid \theta') = \pi(\theta') q(\theta \mid \theta') \alpha(\theta', \theta)

Les deux membres sont égaux, la balance détaillée est vérifiée, et donc \pi est bien la mesure stationnaire de la chaîne.

Cas particulier : proposition symétrique (Metropolis)

Quand la proposition est symétrique, c’est-à-dire q(\theta' \mid \theta) = q(\theta \mid \theta') (typiquement \theta' = \theta + \varepsilon avec \varepsilon \sim \mathcal{N}(0, \sigma^2 I)), les facteurs q s’éliminent et l’acceptation se réduit à

 \alpha(\theta, \theta') = \min\left(1, \frac{\pi(\theta')}{\pi(\theta)}\right)

C’est l’algorithme Metropolis original. Dans ce cas, on accepte automatiquement tout mouvement vers une zone plus probable, et on accepte avec probabilité réduite un mouvement vers une zone moins probable, dans des proportions qui forcent la bonne fréquence asymptotique de visite.

Le choix du pas : une question critique

Dans le cas d’une marche aléatoire gaussienne \theta' = \theta + \sigma \varepsilon avec \varepsilon \sim \mathcal{N}(0, I_d), le choix du pas \sigma conditionne tout. Trop petit : la chaîne bouge peu, le taux d’acceptation est élevé (proche de 1) mais la chaîne met un temps fou à explorer l’espace (corrélations élevées). Trop grand : les propositions tombent presque toujours dans des zones de faible densité, le taux d’acceptation s’effondre, la chaîne reste figée.

Le résultat théorique de Roberts, Gelman et Gilks (1997) donne une règle pratique pour une cible lisse en grande dimension d : le pas optimal vaut approximativement \sigma_\mathrm{opt} \approx 2{,}38 / \sqrt{d}, ce qui correspond à un taux d’acceptation cible d’environ 0,234 (23,4 %). En dimension 1, le taux optimal remonte à environ 0,44. En pratique, on ajuste \sigma empiriquement pendant une phase d’adaptation pour viser ces taux (cf. exercice 3).

Gibbs sampling

Cas d’usage : conditionnelles tractables

Gibbs sampling est un cas particulier de MH qui s’applique quand la cible \pi(\theta_1, \ldots, \theta_d) admet des conditionnelles tractables, c’est-à-dire qu’on sait tirer exactement de chaque loi \pi(\theta_i \mid \theta_{-i}), où \theta_{-i} = (\theta_1, \ldots, \theta_{i-1}, \theta_{i+1}, \ldots, \theta_d) regroupe toutes les autres coordonnées.

L’algorithme

À chaque itération, on met à jour les coordonnées une par une :

  1. Tirer \theta_1^{(t+1)} \sim \pi(\theta_1 \mid \theta_2^{(t)}, \ldots, \theta_d^{(t)}).
  2. Tirer \theta_2^{(t+1)} \sim \pi(\theta_2 \mid \theta_1^{(t+1)}, \theta_3^{(t)}, \ldots, \theta_d^{(t)}).
  3. Et ainsi de suite jusqu’à \theta_d^{(t+1)} en utilisant les mises à jour les plus récentes.
Trajectoire d'une chaîne Gibbs sur une gaussienne bivariée corrélée avec rho=0,7, montrant les mouvements en escalier (horizontal puis vertical) qui convergent vers le centre de la distribution

La trajectoire d’une chaîne Gibbs a une signature visuelle caractéristique : à chaque demi-itération, on ne bouge que sur un axe. Sur un schéma 2D, cela donne une trajectoire en escalier (mouvement horizontal, puis vertical, puis horizontal, etc.).

Lien avec Metropolis-Hastings

Gibbs est équivalent à MH avec une proposition égale à la conditionnelle : si on propose \theta_i' selon q(\theta_i' \mid \theta) = \pi(\theta_i' \mid \theta_{-i}) (et qu’on garde \theta_{-i} fixé), alors un calcul direct montre que le ratio d’acceptation vaut exactement 1. Toutes les propositions sont acceptées, d’où l’avantage calculatoire. L’inconvénient : il faut savoir tirer des conditionnelles, ce qui restreint le champ d’application.

Où ça marche bien

Gibbs sampling brille dans les modèles hiérarchiques où les conditionnelles sont conjugées. Par exemple :

  • Modèle gaussien bivarié : voir exercice 2.
  • Modèle gaussien avec variance inconnue : la moyenne conditionnelle à la variance est normale, la variance conditionnelle à la moyenne est inverse-gamma, et ces deux lois se tirent facilement.
  • LDA (Latent Dirichlet Allocation) en NLP : l’allocation de chaque mot à un topic se met à jour par Gibbs, donnant l’algorithme collapsed Gibbs de Griffiths et Steyvers (2004) qui a popularisé les modèles de sujets.

Diagnostics de convergence

Un estimateur MCMC n’est bon que si la chaîne a vraiment convergé vers sa loi stationnaire et que l’échantillon est suffisamment riche. Plusieurs diagnostics sont utilisés en pratique.

Burn-in

Au démarrage, la chaîne est dans sa phase transitoire : sa loi marginale n’est pas encore \pi. On jette donc les premières itérations, dites de burn-in, avant de calculer des statistiques. Typiquement, on inspecte visuellement un trace plot pour choisir le burn-in.

Trace plot d'une chaîne Metropolis-Hastings ciblant la loi normale centrée réduite, partant de theta_0 = 8 et convergeant vers la moyenne zéro après environ 100 itérations de burn-in

Sur le trace plot ci-dessus, la chaîne part de \theta_0 = 8 (loin du mode) et dérive rapidement vers la zone de forte densité autour de 0. Après environ 100 itérations, elle fluctue de manière stationnaire autour de la moyenne cible. Le burn-in est alors fixé à 100 (zone grisée).

Thinning

Pour réduire la corrélation entre échantillons, on peut ne garder qu’une itération sur k (thinning). C’est surtout utile pour limiter le stockage ; statistiquement, moyenner tous les échantillons (y compris corrélés) donne une meilleure variance que de les thinner. Le thinning n’améliore pas la qualité de l’estimateur, seulement sa taille disque.

ESS : effective sample size

La variance de l’estimateur MCMC \widehat{\mu}_N = \tfrac{1}{N} \sum_t f(\theta_t) est

\mathrm{Var}(\widehat{\mu}_N) \approx \frac{\sigma_f^2}{N} \cdot \tau, \qquad \tau = 1 + 2 \sum_{k=1}^{\infty} \rho_k

\sigma_f^2 = \mathrm{Var}_\pi(f(\theta)) et \rho_k est l’autocorrélation lag-k. Le facteur \tau (temps de corrélation intégré) compare MCMC à un tirage i.i.d. : l’ESS vaut N/\tau et représente le nombre d’échantillons i.i.d. équivalents. Une chaîne avec N = 10000 et \tau = 50 vaut seulement 200 échantillons indépendants ; c’est une métrique à surveiller.

R-hat de Gelman-Rubin

Pour détecter une convergence qui n’a pas vraiment eu lieu (typiquement : la chaîne reste piégée dans un mode local), on lance plusieurs chaînes indépendantes depuis des points de départ différents, et on compare la variance inter-chaînes à la variance intra-chaîne. Le diagnostic R-hat de Gelman-Rubin vaut (à peu de chose près)

\widehat{R} = \sqrt{\frac{\text{variance totale}}{\text{variance intra-chaîne moyenne}}}

Une valeur proche de 1 (typiquement \widehat{R} < 1{,}01) suggère que les chaînes se sont mélangées ; une valeur supérieure indique que les chaînes explorent des zones différentes de l’espace, donc que la convergence n’est pas acquise.

HMC et NUTS : la génération suivante

MH à marche aléatoire gaussienne explore l’espace de façon locale et aveugle : il ignore la géométrie du posterior. En haute dimension, ça devient inefficace. Hamiltonian Monte-Carlo (HMC), puis son extension auto-ajustée NUTS (No-U-Turn Sampler), utilisent le gradient de la log-densité pour proposer des mouvements plus longs qui suivent les lignes de niveau du posterior. Ce sont les algorithmes sous-jacents de Stan et PyMC, aujourd’hui les outils standard de l’inférence bayésienne moderne.

Applications en machine learning

Inférence bayésienne exacte

MCMC permet de faire de l’inférence bayésienne sans se restreindre à des priors conjugés. Pour un modèle de régression avec prior non gaussien, un GLM bayésien, ou un réseau de neurones bayésien (avec un prior sur les poids), le posterior n’a pas de forme close. MCMC, et en particulier HMC, permet d’échantillonner directement ce posterior et de calculer des intervalles de crédibilité sur les prédictions.

Modèles génératifs

Les Boltzmann machines et leurs variantes (RBM, deep Boltzmann machines) ont joué un rôle historique dans la renaissance du deep learning vers 2006. Leur entraînement repose sur l’estimation de gradients qui font intervenir des espérances sous la loi du modèle, estimées par Gibbs sampling (contrastive divergence de Hinton). Aujourd’hui supplantés par les architectures auto-régressives et les modèles de diffusion, ils restent un exemple pédagogique de MCMC en deep learning.

Optimisation bayésienne et Thompson sampling

Dans le cadre de l’optimisation bayésienne (par exemple pour tuner les hyperparamètres d’un modèle ML), on maintient un posterior sur la fonction objectif (typiquement via un processus gaussien) et on propose le prochain point à évaluer par Thompson sampling : on tire un échantillon du posterior sur la fonction et on choisit le point qui l’optimise. Cet échantillonnage nécessite MCMC quand le posterior n’est pas gaussien.

Lien avec le bootstrap

Le bootstrap et MCMC partagent une idée commune : quand on ne peut pas tirer directement de la loi qui nous intéresse, on simule indirectement. Le bootstrap rééchantillonne depuis les données observées (pour estimer la loi d’un estimateur), MCMC construit une chaîne dont la limite est la cible (pour estimer des espérances). Les deux produisent des échantillons non-i.i.d. corrélés, mais qu’on peut moyenner grâce à des théorèmes de type LGN.

Exercices corrigés

Exercice 1 : Metropolis-Hastings sur une loi Beta

Énoncé. On veut échantillonner de la loi \mathrm{Beta}(2, 5), de densité \pi(\theta) \propto \theta (1 - \theta)^4 sur [0, 1], en utilisant Metropolis-Hastings avec proposition uniforme q(\theta' \mid \theta) = 1 sur [0, 1]. Expliciter la probabilité d’acceptation et vérifier numériquement que la chaîne estime correctement \mathbb{E}[\theta] = 2/7 et \mathrm{Var}(\theta) = 10/392.

Solution. La proposition est uniforme donc constante, en particulier symétrique : q(\theta' \mid \theta) = q(\theta \mid \theta') = 1. La probabilité d’acceptation se simplifie en

\alpha(\theta, \theta') = \min\left(1, \frac{\theta' (1 - \theta')^4}{\theta (1 - \theta)^4}\right)

Algorithme : à partir de \theta_0 = 0{,}5, on tire \theta' \sim \mathcal{U}([0, 1]), on calcule \alpha, on accepte avec cette probabilité, on répète.

Les valeurs théoriques sont

 \mathbb{E}[\theta] = \frac{\alpha}{\alpha + \beta} = \frac{2}{2 + 5} = \frac{2}{7} \approx 0{,}2857
\mathrm{Var}(\theta) = \frac{\alpha \beta}{(\alpha + \beta)^2 (\alpha + \beta + 1)} = \frac{2 \cdot 5}{7^2 \cdot 8} = \frac{10}{392} \approx 0{,}02551

Vérification numérique (NumPy, 200 000 itérations, burn-in 10 000) : moyenne empirique \approx 0{,}2856, variance empirique \approx 0{,}02544, taux d’acceptation \approx 0{,}49. Les estimations empiriques collent aux valeurs théoriques à moins de 0,3 % près, ce qui confirme que la chaîne est bien ergodique de loi stationnaire \mathrm{Beta}(2, 5).

Remarque. Un taux d’acceptation de 0,49 est élevé pour MH en général. Ici c’est normal : la proposition uniforme est « sur-dispersée » par rapport à la cible (Beta(2,5) concentre sa masse autour de 0,3), donc beaucoup de propositions tombent dans des zones de densité comparable à l’état courant.

Exercice 2 : Gibbs sampling sur une gaussienne bivariée

Énoncé. Soit (X, Y) un vecteur gaussien centré de matrice de covariance

\Sigma = \left(\begin{array}{cc} 1 & \rho \\ \rho & 1 \end{array}\right), \qquad \rho = 0{,}7.

Déterminer les lois conditionnelles X \mid Y = y et Y \mid X = x, écrire l’algorithme de Gibbs, et vérifier numériquement que la chaîne estime correctement la corrélation \rho.

Solution. Pour un vecteur gaussien (X, Y) \sim \mathcal{N}(0, \Sigma) , les conditionnelles sont gaussiennes avec

\mathbb{E}[X \mid Y = y] = \rho y, \qquad \mathrm{Var}(X \mid Y = y) = 1 - \rho^2

Pour \rho = 0{,}7 cela donne \mathrm{Var}(X \mid Y) = 1 - 0{,}49 = 0{,}51, soit un écart-type conditionnel \sqrt{0{,}51} \approx 0{,}7141. Par symétrie, Y \mid X = x \sim \mathcal{N}(0{,}7 x, 0{,}51).

L’algorithme de Gibbs alterne donc :

  1. x^{(t+1)} \sim \mathcal{N}(0{,}7 y^{(t)}, 0{,}51).
  2. y^{(t+1)} \sim \mathcal{N}(0{,}7 x^{(t+1)}, 0{,}51).

Chaque tirage est un tirage exact (pas d’acceptation-rejet), d’où la simplicité.

Vérification numérique (NumPy, 200 000 itérations, burn-in 10 000) : moyennes empiriques \approx 0, variances empiriques \approx 1, et corrélation empirique \approx 0{,}6982 (contre \rho = 0{,}7 attendu). La trajectoire en escalier caractéristique est visible sur le schéma plus haut.

Exercice 3 : taux d’acceptation optimal pour MH marche aléatoire

Énoncé. Soit la cible \pi = \mathcal{N}(0, I_d). On simule Metropolis-Hastings à marche aléatoire \theta' = \theta + \sigma \varepsilon avec \varepsilon \sim \mathcal{N}(0, I_d). Pour d = 1 puis d = 10, mesurer le taux d’acceptation en fonction de \sigma et comparer aux résultats théoriques (taux cible 0,44 en dim 1 ; 0,234 en haute dim).

Solution. Pour une marche aléatoire gaussienne, la proposition est symétrique et \alpha = \min(1, \pi(\theta')/\pi(\theta)). Avec \pi(\theta) \propto \exp(-\tfrac{1}{2} \lVert \theta \rVert^2), cela donne

\alpha = \min\left(1, \exp\left(-\tfrac{1}{2} (\lVert \theta' \rVert^2 - \lVert \theta \rVert^2)\right)\right).

Simulation (50 000 itérations, burn-in 5 000) pour différentes valeurs de \sigma :

Dimension 1 (cible \mathcal{N}(0, 1)) :

\sigmaTaux d’acceptation
0,10,96
0,50,85
1,00,70
2,40,44
5,00,24
100,13

Le taux optimal 0,44 est atteint pour \sigma \approx 2{,}4, conforme à la théorie.

Dimension 10 (cible \mathcal{N}(0, I_{10})) :

\sigmaTaux d’acceptation
0,30,65
0,50,45
0,760,26
1,00,14
2,00,01

Le taux cible 0,234 est approximativement atteint pour \sigma \approx 0{,}76 \approx 2{,}38/\sqrt{10}, conforme au résultat de Roberts-Gelman-Gilks.

Conséquence pratique. En haute dimension, il faut diminuer le pas en 1/\sqrt{d} pour maintenir un bon taux. Cela signifie qu’une chaîne MH à marche aléatoire devient progressivement moins efficace quand la dimension croît : à d grand, elle ne peut faire que des petits pas, donc explore lentement. C’est cette limitation qui motive le recours à HMC en dimension élevée.

Exercices d’entraînement

  1. Soit la cible \pi(\theta) \propto 0{,}5 \exp(-\tfrac{1}{2}(\theta - 3)^2) + 0{,}5 \exp(-\tfrac{1}{2}(\theta + 3)^2) (mélange de deux gaussiennes bien séparées). Simuler une chaîne MH à marche aléatoire avec \sigma = 0{,}5 puis \sigma = 3 et montrer que la première reste piégée dans un seul mode alors que la seconde explore les deux.
  2. On considère un modèle hiérarchique gaussien : données X_1, \ldots, X_n \mid \mu, \sigma^2 \sim \mathcal{N}(\mu, \sigma^2) i.i.d., avec prior \mu \sim \mathcal{N}(0, 10) indépendant de \sigma^2 \sim \mathrm{Inverse-Gamma}(2, 1). Exprimer les conditionnelles \mu \mid \sigma^2, X et \sigma^2 \mid \mu, X et écrire l’algorithme de Gibbs correspondant.
  3. Étant donnée une chaîne MCMC \theta_1, \ldots, \theta_N avec N = 10;000, calculer l’ESS en estimant les autocorrélations \rho_k jusqu’au premier k tel que \rho_k < 0{,}05. Comparer ESS au résultat après thinning avec k = 10.

FAQ

Qu’est-ce que MCMC ? 

MCMC (Markov Chain Monte Carlo) est une famille d’algorithmes qui simulent une chaîne de Markov dont la loi stationnaire est une distribution cible donnée. On utilise ensuite les états visités par la chaîne comme des échantillons de cette loi, notamment pour estimer des espérances. MCMC est l’outil standard pour échantillonner un posterior bayésien dont la constante de normalisation est incalculable.

Différence entre Metropolis-Hastings et Gibbs ?

Metropolis-Hastings est l’algorithme MCMC le plus général : à chaque étape on propose un nouveau point selon une loi de proposition quelconque, et on l’accepte avec une probabilité qui dépend du ratio des densités cibles. Gibbs sampling est un cas particulier : il met à jour les coordonnées une à une en tirant directement de la loi conditionnelle de chaque coordonnée sachant les autres. Gibbs accepte toujours (probabilité 1), mais n’est utilisable que si les conditionnelles sont faciles à échantillonner.

Comment choisir le pas en Metropolis-Hastings ?

Un pas trop petit donne un taux d’acceptation élevé mais une exploration lente (chaîne très corrélée). Un pas trop grand donne un taux très bas et une chaîne qui reste bloquée. Le résultat de Roberts-Gelman-Gilks (1997) donne une règle pratique en dimension d : viser un taux d’acceptation d’environ 0,234 en haute dimension (0,44 en dimension 1), ce qui correspond à un pas sigma d’environ 2,38 / racine(d). En pratique, on ajuste sigma empiriquement pendant une phase d’adaptation.

À quoi sert le burn-in ?

Le burn-in désigne les premières itérations de la chaîne, jetées avant de calculer des statistiques. Pendant cette phase transitoire, la loi marginale des états n’est pas encore la loi cible : la chaîne est encore influencée par son point de départ. En supprimant le burn-in, on ne garde que les itérations après stationnarité. On fixe la longueur du burn-in en inspectant un trace plot : quand la chaîne semble fluctuer autour d’une valeur stable, le burn-in est atteint.

Laisser un commentaire

Articles similaires

En savoir plus sur Progresser-en-maths

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Poursuivre la lecture