2017-03-27 5 views
2

Je suis un profane de statistiques, après avoir lu le blog et des exemples sur les algorithmes Metropolis-Hastings MCCM, ici j'ai une question:Comment algorithme métropole-hesting assurent des échantillons obéir à une distribution postérieure inconnue

Dans le MH algorithmes, un nouvel échantillon (disons, x ') soit accepté dépend de la "probabilité d'acceptation", alpha = min (1, A), où A = p (x') q (x | x ')/[p (x) q (x '| x)]. La question vient d'ici, puisque nous ne connaissons pas la forme de distribution intéressée p (x), comment calculons-nous la probabilité d'acceptation, qui contient p (x ') et p (x)? Ou en d'autres termes: comment l'algorithme metropolis-hesting garantit-il que les échantillons obéissent à une distribution postérieure inconnue? Je suis un débutant, s'il vous plaît donnez-moi quelques conseils.

+0

après plus de lecture, je pense que P (x) est la distribution a priori à la place du complexe postérieur complexe inconnu, de sorte qu'il rende le calcul de alpha. Mais si je suis triste avant, comment savons-nous que le postérieur (x ') = P (x') * Q (x | x ') est le postérieur droit que nous cherchons, est-ce que cela dépend du choix de Q (x | x ')? – Mike

Répondre

1

Voici un morceau de texte de https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm

L'exigence laxiste que f (x) doit être simplement proportionnelle à la densité, plutôt que exactement égale à elle, rend l'algorithme de Metropolis-Hastings particulièrement utile, parce que le calcul le facteur de normalisation nécessaire est souvent extrêmement difficile dans la pratique. (fin de citation)

donc votre p (x) devrait être la probabilité de x sous la distribution cible un facteur constant inconnu. Un exemple d'un tel p (x) est quand vous imposez une contrainte sur une distribution connue. Dans ce cas vous ne connaissez pas p (x), mais vous connaissez p (x) * K pour un K inconnu, donc vous pouvez toujours calculer p (x)/p (x ') = (p (x) * K)/(p (x ') * K). Supposons que vous vouliez simuler des points répartis dans un cercle, mais que vous ne connaissiez pas la valeur de pi, vous n'avez donc pas pu déterminer la zone du cercle. Ensuite, vous pouvez faire p (x) la distribution uniforme sur le carré de l'unité pour les points < = distance 0,5 de (0,5, 0,5) et 0 ailleurs. Cela vous donne un p (x) qui intègre non pas 1, mais Pi/4, que vous ne connaissez pas, donc ce n'est pas une distribution de probabilité correcte, mais c'est une fois un facteur constant.

+0

merci pour votre réponse! ça me fait comprendre l'algorithme plus clairement – Mike