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.
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?
Réponses:
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) Xi Xi Xi−1 Xi+1 Pr(Xi|X1,…,Xi)=Pr(Xi|Xi−1,Xi+1)
la source
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
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.
la source