Taux d'acceptation dans l'algorithme Metropolis – Hastings

9

Dans l'algorithme Metropolis – Hastings d'échantillonnage d'une distribution cible, supposons:

  • πi soit la densité cible à l'état ,i
  • πj la densité cible à l'état proposé ,j
  • hij la densité de proposition pour la transition vers l'état étant donné l'état actuel ,ji
  • aij soit la probabilité d'acceptation de l'état proposé étant donné l'état actuel .ji

Ensuite, par l'équation de solde détaillée, après avoir choisi la densité de proposition , la probabilité d'acceptation est calculée comme : ha

aij=min(1,πjhjiπihij).

Si h est symétrique, c'est-à-dire hij=hji , alors:

aij=min(1,πjπi).

Lorsque hi est une distribution gaussienne centrée à l'état i et a la même variance σ2 pour tout i , h est symétrique. De Wikipédia :

Si σ2 est trop grand, presque toutes les étapes de l'algorithme MH seront rejetées. D'un autre côté, si σ2 est trop petit, presque toutes les étapes seront acceptées.

Je me demande pourquoi la probabilité d'acceptation change dans le sens inverse du changement de variance de la densité de la proposition, comme mentionné dans la citation ci-dessus?

Tim
la source
Il y a un problème avec votre formulation: vous utilisez un espace d'états finis pour définir la cible, la proposition et la probabilité d'acceptation, mais une distribution gaussienne opérant sur un espace continu comme exemple.
Xi'an
@ Xi'an: Merci! J'étais conscient de la différence entre l'espace d'échantillonnage discret et continu, lorsque j'ai posté la question. Donc dans ma formulation, il y a des fonctions de densité pour les distributions cible et proposition, alors que c'est la probabilité pour la distribution d'acceptation. Je ne vois pas ce qui n'est pas correct. Je me demande si vous pourriez les signaler?
Tim
Dans votre formulation, la cible et la proposition sonnent comme des fonctions de masse de probabilité, pas des fonctions de densité. Ou bien il est très déroutant d'utiliser des symboles habituellement réservés aux entiers ... Je veux dire, ressemble à un élément de matrice. C'est pourquoi je pense que la proposition gaussienne ne convient pas. hij
Xi'an

Réponses:

11

Afin d'obtenir cela, et pour simplifier les choses, je pense toujours d'abord en un seul paramètre avec une distribution a priori uniforme (à longue portée), de sorte que dans ce cas, l'estimation MAP du paramètre est la même que la MLE . Cependant, supposez que votre fonction de vraisemblance soit suffisamment compliquée pour avoir plusieurs maxima locaux.

Ce que fait MCMC dans cet exemple en 1-D, c'est d'explorer la courbe postérieure jusqu'à ce qu'elle trouve des valeurs de probabilité maximale. Si la variance est trop courte, vous serez certainement bloqué sur les maxima locaux, car vous échantillonnerez toujours des valeurs à proximité: l'algorithme MCMC "pensera" qu'il est bloqué sur la distribution cible. Cependant, si la variance est trop grande, une fois que vous êtes bloqué sur un maximum local, vous rejetez plus ou moins les valeurs jusqu'à ce que vous trouviez d'autres régions de probabilité maximale. S'il vous arrive de proposer la valeur au MAP (ou une région similaire de probabilité maximale locale qui est plus grande que les autres), avec une grande variance, vous finirez par rejeter presque toutes les autres valeurs: la différence entre cette région et les autres sera trop grand.

Bien sûr, tout ce qui précède affectera le taux de convergence et non la convergence "en soi" de vos chaînes. Rappelez-vous que quelle que soit la variance, tant que la probabilité de sélectionner la valeur de cette région maximale globale est positive, votre chaîne convergera.

Pour contourner ce problème, cependant, ce que l'on peut faire est de proposer différentes variations dans une période de rodage pour chaque paramètre et de viser un certain taux d'acceptation qui peut satisfaire vos besoins (disons , voir Gelman, Roberts & Gilks, 1995 et Gelman, Gilks ​​& Roberts, 1997 pour en savoir plus sur la question du choix d'un "bon" taux d'acceptation qui, bien entendu, dépendra de la forme de votre distribution postérieure). Bien sûr, dans ce cas, la chaîne n'est pas markovienne, vous n'avez donc PAS à les utiliser pour l'inférence: vous les utilisez simplement pour ajuster la variance.0.44

Néstor
la source
+1 Merci! (1) Pourquoi "si la variance est trop grande, une fois que vous êtes bloqué sur un maximum local, vous rejetez plus ou moins les valeurs jusqu'à ce que vous trouviez d'autres régions de probabilité maximale"? (2) "S'il vous arrive de proposer la valeur au MAP (ou une région similaire de probabilité maximale locale qui est plus grande que les autres), avec une grande variance, vous finirez par rejeter presque toutes les autres valeurs", voulez-vous dire le point proposé qui se trouve au MAP est très probablement rejeté en cas de grande variance? Puisqu'il s'agit du maximium global, sa probabilité d'acceptation n'est-elle pas toujours 1 quel que soit l'état actuel?
Tim
@Tim: (1) Je pensais dans le cas où l'état initial est aléatoire. Si tel est le cas, vous passerez des maxima aux maxima jusqu'à ce que vous trouviez une région de probabilité maximale locale supérieure à la moyenne. (2) Si vous proposez une valeur proche de la MAP, vous passerez très probablement à cet état. Une fois que vous y êtes, avec une grande variance, vous rejetterez presque sûrement toutes les autres valeurs, car vous proposerez des valeurs bien en dehors de cette région de probabilité maximale.
Néstor
7

Deux hypothèses de base mènent à cette relation:

  1. La distribution stationnaire ne change pas trop rapidement (c'est-à-dire qu'elle a une dérivée première bornée).π()
  2. La majeure partie de la masse de probabilité de est concentrée dans un sous-ensemble relativement petit du domaine (la distribution est "maximale").π()

Prenons d'abord le cas du "petit ". Soit l'état actuel de la chaîne de Markov et l'état proposé. Puisque est très petit, nous pouvons être sûrs que . En combinant cela avec notre première hypothèse, nous voyons que et donc .σ2xixjN(xi,σ2)σ2xjxiπ(xj)π(xi)π(xj)π(xi)1

Le faible taux d'acceptation avec un grand découle de la deuxième hypothèse. Rappelons qu'environ de la masse de probabilité d'une distribution normale se situe à de sa moyenne, donc dans notre cas la plupart des propositions seront générées dans la fenêtre . À mesure que s'agrandit, cette fenêtre s'agrandit pour couvrir de plus en plus le domaine de la variable. La deuxième hypothèse implique que la fonction de densité doit être assez petite sur la plupart du domaine, donc lorsque notre fenêtre d'échantillonnage est grande, sera souvent très petite.σ295%2σ[xi2σ,xi+2σ]σ2π(xj)

Maintenant, pour un peu de raisonnement circulaire: comme nous savons que l'échantillonneur MH génère des échantillons distribués selon la distribution stationnaire , ce doit être le cas qu'il génère de nombreux échantillons dans les régions à haute densité du domaine et peu d'échantillons dans les régions à faible densité . Comme la plupart des échantillons sont générés dans des régions à haute densité, est généralement grand. Ainsi, est grand et est petit, résultant en un taux d'acceptation .ππ(xi)π(xi)π(xj)π(xj)π(xi)<<1

Ces deux hypothèses sont vraies pour la plupart des distributions qui pourraient nous intéresser, donc cette relation entre la largeur de la proposition et le taux d'acceptation est un outil utile pour comprendre le comportement des échantillonneurs MH.

A dessiné
la source
+1. Merci! Lorsque est grand, je ne sais toujours pas pourquoi est généralement grand alors que généralement petit? Votre raison pour laquelle est petit peut-elle s'appliquer à et votre raison pour laquelle grand s'applique à ? σ2π(xi)π(xj)π(xj)π(xi)π(xi)π(xj)
Tim
1
Une autre façon de penser est la suivante: lorsque est grand, la plupart de vos propositions ( ) auront une faible densité sous la distribution cible (pour les raisons décrites ci-dessus - est-ce que ça va?). Très rarement, vous proposerez une valeur à haute densité sous la proposition, et lorsque cela se produira, vous l'accepterez presque certainement. Une fois sur place, vous continuez à proposer des valeurs improbables; comme vous en acceptez rarement un, vous «restez» simplement sur votre échantillon actuel à haute densité pendant de nombreuses itérations. σ2xj
Drew