Confusion liée à l'échantillonnage de Gibbs

9

Je suis tombé sur cet article où il est dit que dans l'échantillonnage de Gibbs, chaque échantillon est accepté. Je suis un peu confus. Comment se fait-il que chaque échantillon qu'il a accepté converge vers une distribution stationnaire.

En général, nous acceptons l'algorithme Metropolis comme min (1, p (x *) / p (x)) où x * est le point d'échantillonnage. Je suppose que x * nous pointe vers une position où la densité est élevée, nous nous dirigeons donc vers la distribution cible. Par conséquent, je suppose qu'il se déplace vers la distribution cible après une période de rodage.

Cependant, dans l'échantillonnage de Gibbs, nous acceptons tout, même si cela peut nous amener à un endroit différent, comment pouvons-nous dire qu'il converge vers la distribution stationnaire / cible

Supposons que nous ayons une distribution . Nous ne pouvons pas calculer Z. Dans l'algorithme de métropole, nous utilisons le terme pour incorporer la distribution plus la constante de normalisation Z annule. Donc ça vac ( θ n e w ) / c ( θ o l d ) c ( θ )p(θ)=c(θ)/Zc(θnew)/c(θol)c(θ)

Mais dans l'échantillonnage de Gibbs, où utilisons-nous la distributionc(θ)

Par exemple dans le document http://books.nips.cc/papers/files/nips25/NIPS2012_0921.pdf c'est donné

nous n'avons donc pas la distribution conditionnelle exacte à partir de laquelle nous échantillonner, nous avons juste quelque chose qui est directement proportionnel à la distribution conditionnelle

entrez la description de l'image ici

user34790
la source
2
Que se passerait-il à Metropolis-Hastings si était toujours égal à 1? p(X)/p(X)
Glen_b -Reinstate Monica

Réponses:

6

Lorsque nous utilisons l'algorithme Metropolis-Hastings, nous devons calculer un rapport d'acceptation et laisser la variable aléatoire alors nous acceptons la variable aléatoire si .UUniforme (0,1)U<α

α=min(1,p(X)p(X))
UUniforme (0,1)U<α

Cependant, dans l'échantillonnage de Gibbs, nous excluons toujours la variable aléatoire car nous n'avons pas à calculer le taux d'acceptation (enfin vous le faites, mais lorsque vous branchez des choses, vous voyez que tout s'annule et que votre taux d'acceptation est et si clairement est toujours inférieur à et c'est pourquoi vous acceptez toujours). Cependant, vous pouvez également y penser intuitivement où, dans l'échantillonnage de Gibbs, vous échantillonnez à partir des conditions complètes, qui est une expression de forme fermée à partir de laquelle nous pouvons échantillonner directement et il n'est donc pas nécessaire de rejeter des échantillons comme dans l'algorithme Metropolis-Hastings où nous ne savent pas comment échantillonner (ou ne reconnaissent généralement pas la forme de) . J'espère que cela pourra aider!U α p ( x )α=1Uαp(X)

entrez la description de l'image ici


la source
1
Je ne l'ai pas compris comment tout se résout. Disons que nous devons échantillonner à partir de la distribution de 3 variables. Donc, lorsque vous vouliez dire des conditionnelles complètes sous une forme fermée, vous voulez dire p (x1 | x2, x3) p (x2 | x1, x3) et p (x3 | x1, x2). Ma question est dans le cas de l'échantillonnage de Gibbs, nous connaissons la distribution conditionnelle obtenue à partir de la distribution réelle p à partir de laquelle nous voulons échantillonner. C'est ça que tu veux dire. Dans le cas de l'algorithme Metropolis, nous ne connaissons pas p mais quelque chose comme c tel que p (x) = c (x) / Z ?? p(θ)
user34790
Supposons que nous partions de valeurs aléatoires pour les variables x1, x2 et x3, comment pouvons-nous dire que sa distribution stationnaire converge vers la variable requise. Quels sont les critères pour cela?
user34790
Supposons que j'ai une distribution . Je ne connais pas Z. Alors, comment puis-je échantillonner à partir de utilisant l'échantillonnage de Gibbsp(θ)=c(θ)/Zp(θ)
user34790
3
J'ai ajouté une preuve ci-dessus de pourquoi c'est toujours un. Pour utiliser l'échantillonnage Gibbs, vous devez connaître les conditions complètes.
1

La preuve que le taux d'acceptation est égal à 1 en tant que faute de frappe, c'est-à-dire que dans le dénominateur du milieu et de la troisième partie, l'expression pour q devrait avoir z_i prime, de sorte qu'à la fin vous obtenez P (z_i prime | z_i prime).

Alex

user60803
la source