D'où viennent les conditions complètes dans l'échantillonnage de Gibbs?

15

Les algorithmes MCMC comme l'échantillonnage de Metropolis-Hastings et Gibbs sont des moyens d'échantillonnage à partir des distributions postérieures conjointes.

Je pense que je comprends et que je peux mettre en œuvre la métropole-hasting assez facilement - il vous suffit de choisir les points de départ d'une manière ou d'une autre et de `` parcourir l'espace des paramètres '' au hasard, guidé par la densité postérieure et la densité de la proposition. L'échantillonnage de Gibbs semble très similaire mais plus efficace car il ne met à jour qu'un paramètre à la fois, tout en maintenant les autres constants, parcourant efficacement l'espace de manière orthogonale.

Pour ce faire, vous avez besoin du conditionnel complet de chaque paramètre en analyse à partir de *. Mais d'où viennent ces conditions complètes? Pour obtenir le dénominateur, vous devez marginaliser le joint surx1. Cela semble être beaucoup de travail à faire analytiquement s'il existe de nombreux paramètres, et pourrait ne pas être traitable si la distribution conjointe n'est pas très «agréable». Je me rends compte que si vous utilisez la conjugaison dans tout le modèle, les conditions complètes peuvent être faciles, mais il doit y avoir un meilleur moyen pour des situations plus générales.

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
x1

Tous les exemples d'échantillonnage de Gibbs que j'ai vus en ligne utilisent des exemples de jouets (comme l'échantillonnage d'une normale multivariée, où les conditions ne sont que des normales elles-mêmes), et semblent esquiver ce problème.

* Ou avez-vous besoin des conditions complètes sous forme analytique? Comment font les programmes comme winBUGS?

cespinoza
la source
1
L'échantillonnage de Gibbs est généralement moins efficace que Metropolis-Hastings car il va une dimension à la fois ...
Xi'an
Échantillonnage de Gibbs est plus efficace à chaque étape, mais peut - être besoin d' un terrible beaucoup plus d' étapes à Converge - et finissent par moins efficace pour un bon résultat global.
Lutz Prechelt

Réponses:

7

Oui, vous avez raison, la distribution conditionnelle doit être trouvée analytiquement, mais je pense qu'il existe de nombreux exemples où la distribution conditionnelle complète est facile à trouver et a une forme beaucoup plus simple que la distribution conjointe.

L'intuition est la suivante, dans la plupart des distributions conjointes "réalistes" , la plupart des X i sont généralement conditionnellement indépendants de la plupart des autres variables aléatoires. C'est-à-dire que certaines des variables ont des interactions locales , disons que X i dépend de X i - 1 et X i + 1 , mais n'interagit pas avec tout, donc les distributions conditionnelles devraient se simplifier de manière significative avec P r (P(X1,,Xn)XiXiXi1Xi+1Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)

gabgoh
la source
Pr(Xi|Xi1,Xi+1)
3
Ils n'ont pas besoin d'être trouvés analytiquement. Tous les conditionnels complets sont proportionnels à la distribution conjointe, par exemple. Et c'est tout ce qu'il faut pour Metropolis-Hastings.
Tristan
1
@Tristan bien sûr. Je parle cependant d'échantillonnage gibbs.
gabgoh
1
Il n'est pas nécessaire de les trouver analytiquement pour l'échantillonnage de Gibbs. Vous avez juste besoin de pouvoir échantillonner, d'une manière ou d'une autre, le conditionnel; si vous pouvez écrire comment le faire dans une jolie déclaration analytique n'est pas pertinent.
invité
1
En fait, il n'est pas nécessaire d'avoir un conditionnel analytique complet: tout ce qui est nécessaire pour que l'échantillonnage de Gibbs soit implémenté est la capacité de simuler à partir des conditions complètes.
Xi'an
11

Je pense que vous avez manqué le principal avantage d'algorithmes comme celui de Metropolis-Hastings. Pour l'échantillonnage de Gibbs, vous devrez échantillonner à partir des conditions complètes. Vous avez raison, c'est rarement facile à faire. Le principal avantage des algorithmes de Metropolis-Hastings est que vous pouvez toujours échantillonner un paramètre à la fois, mais il vous suffit de connaître les conditions complètes jusqu'à la proportionnalité. En effet, les dénominateurs annulent dans la fonction des critères d'acceptation

P(x1|x2,...,xn)P(x1,...,xn)

Des programmes comme WinBugs / Jags prennent généralement Metropolis-Hastings ou des étapes d'échantillonnage de tranche qui ne nécessitent que les conditions jusqu'à la proportionnalité. Ceux-ci sont facilement disponibles auprès du DAG. Étant donné la conjugaison, ils prennent également parfois des pas de Gibbs droits ou des arrêts de bloc fantaisistes.

Tristan
la source
1
Hey, merci! Je pense que le fait de ne pas avoir besoin de la constante de normalisation pour les métropoles-hastings est exactement l'information dont j'avais besoin pour donner un sens à tout cela. Je pense que, parce que le GS dans WinBUGS représente l'échantillonnage des gibbs, j'avais l'impression que les gibbs ont remplacé MH et que le logiciel utilisait exclusivement les gibbs.
cespinoza
3
Le terme échantillonnage de Gibbs est souvent utilisé pour impliquer que vous échantillonnez un paramètre à la fois, même si vous n'utilisez pas l'idée originale d'échantillonner directement à partir des conditions complètes. Tous les logiciels échantillonnent des paramètres individuels ou des blocs de paramètres en séquence, mais le type d'étape réel varie beaucoup en fonction de ce qui fonctionne le mieux.
Tristan
2
Presque chaque fois que vous pouvez implémenter Gibbs, vous pouvez également implémenter des alternatives Metropolis-Hastings. Une plus grande efficacité vient du mélange des deux approches.
Xi'an
Cela devrait être la réponse acceptée.
NoBackingDown