Rao-Blackwellization de Gibbs Sampler


9

J'évalue actuellement un modèle de volatilité stochastique avec les méthodes de Markov Chain Monte Carlo. Ainsi, j'implémente les méthodes d'échantillonnage de Gibbs et Metropolis.

En supposant que je prenne la moyenne de la distribution postérieure plutôt qu'un échantillon aléatoire, est-ce ce que l'on appelle communément Rao-Blackwellization ?

Dans l'ensemble, cela se traduirait par la prise de la moyenne sur la moyenne des distributions postérieures comme estimation des paramètres.

Réponses:


10

En supposant que je prenne la moyenne de la distribution postérieure plutôt qu'un échantillon aléatoire, est-ce ce que l'on appelle communément Rao-Blackwellization?

Je ne connais pas très bien les modèles de volatilité stochastique, mais je sais que dans la plupart des contextes, la raison pour laquelle nous choisissons les algorithmes de Gibbs ou MH pour dessiner à partir du postérieur, c'est parce que nous ne connaissons pas le postérieur. Souvent, nous voulons estimer la moyenne postérieure, et comme nous ne connaissons pas la moyenne postérieure, nous prélevons des échantillons sur la partie postérieure et l'estimons en utilisant la moyenne de l'échantillon. Donc, je ne sais pas comment vous pourrez prendre la moyenne de la distribution postérieure.

L'estimateur Rao-Blackwellized dépend plutôt de la connaissance de la moyenne du conditionnel complet; mais même dans ce cas, l'échantillonnage est toujours nécessaire. J'explique plus ci-dessous.

Supposons que la distribution postérieure soit définie sur deux variables, θ=(μ,ϕ), de sorte que vous souhaitez estimer la moyenne postérieure: E[θdata]. Maintenant, si un échantillonneur Gibbs était disponible, vous pouvez l'exécuter ou exécuter un algorithme MH pour échantillonner à partir de la partie postérieure.

Si vous pouvez exécuter un échantillonneur Gibbs, alors vous savez f(ϕμ,data)sous forme fermée et vous connaissez la moyenne de cette distribution. Que cela signifieϕ. Notez queϕ est fonction de μ et les données.

Cela signifie également que vous pouvez intégrer ϕ du postérieur, donc le postérieur marginal de μ est f(μdata)(ce n'est pas connu complètement, mais connu jusqu'à une constante). Vous voulez maintenant exécuter une chaîne de Markov telle quef(μdata)est la distribution invariante, et vous obtenez des échantillons de cette marge marginale. La question est

Comment pouvez-vous maintenant estimer la moyenne postérieure de ϕ en utilisant uniquement ces échantillons de la partie postérieure marginale de μ?

Cela se fait via Rao-Blackwellization.

E[ϕdata]=ϕf(μ,ϕdata)dμdϕ=ϕf(ϕμ,data)f(μdata)dμdϕ=ϕf(μdata)dμ.

Supposons donc que nous ayons obtenu des échantillons X1,X2,XN du postérieur marginal de μ. alors

ϕ^=1Ni=1Nϕ(Xi),

est appelé l'estimateur Rao-Blackwellized pour ϕ. La même chose peut être faite en simulant également à partir des marginaux conjoints.

Exemple (purement pour démonstration).

Supposons que vous ayez une articulation postérieure inconnue θ=(μ,ϕ)à partir de laquelle vous souhaitez échantillonner. Vos données en sontyet vous disposez des conditions complètes suivantes

μϕ,yN(ϕ2+2y,y2)
ϕμ,yGamma(2μ+y,y+1)

Vous exécutez l'échantillonneur Gibbs à l'aide de ces conditions et vous avez obtenu des échantillons de l'articulation postérieure f(μ,ϕy). Que ces échantillons soient(μ1,ϕ1),(μ2,ϕ2),,(μN,ϕN). Vous pouvez trouver la moyenne de l'échantillon de laϕs, et ce serait l'estimateur de Monte Carlo habituel pour la moyenne postérieure pour ϕ..

Ou, notez que par les propriétés de la distribution Gamma

E[ϕ|μ,y]=2μ+yy+1=ϕ.

Ici ysont les données qui vous sont données et sont donc connues. L'estimateur Rao Blackwellized serait alors

ϕ^=1Ni=1N2μi+yy+1.

Remarquez comment l'estimateur de la moyenne postérieure de ϕ n'utilise même pas le ϕ échantillons, et utilise uniquement le μéchantillons. Dans tous les cas, comme vous pouvez le voir, vous utilisez toujours les échantillons que vous avez obtenus d'une chaîne de Markov. Ce n'est pas un processus déterministe.


Donc, en supposant que la distribution postérieure du paramètre est connue (ce qui, à ma connaissance, se trouve être vrai lors de l'application de l'échantillonnage de Gibbs), prendre la moyenne de la distribution plutôt qu'un échantillon aléatoire serait l'estimateur Rao-Blackwellized? J'espère avoir bien compris votre réponse. Merci beaucoup déjà!
mscnvrsy

C'est incorrect. Dans l'échantillonnage de Gibbs, vous ne connaissez pas la distribution postérieure du paramètre, mais connaissez le postérieur conditionnel complet pour chaque paramètre. Il y a une grande différence entre les deux. Ci-dessus, le postérieur estF(μ,ϕunetune) qui est inconnu, et pour que l'échantillonneur Gibbs fonctionne, vous devez connaître les deux F(μϕ,unetune) et F(ϕμ,unetune). Et vous avez également tort dans votre deuxième compréhension. Vous devez toujours prélever un échantillon de la partie postérieure marginale deμ, puis calculez la moyenne de l'échantillon de ϕen utilisant ces échantillons pour trouver l'estimateur RB.
Greenparker

@mscnvrsy J'ai ajouté un exemple pour vous aider
Greenparker

Wow, merci beaucoup de m'avoir clarifié cela. Donc, en supposant que je connais les distributions conditionnelles complètes, je peux travailler avec les moyennes théoriques des distributions conditionnelles et faire la moyenne sur ces moyennes théoriques (comme E [phi | mu, y]) pour obtenir l'estimateur RB? Cela minimiserait alors la variance de mes estimations de paramètres?
mscnvrsy

Si vous obteniez des échantillons indépendants, oui, cela minimiserait la variance des estimateurs, cependant, puisque vous traitez avec des chaînes de Markov, il est généralement connu que RB ne réduit pas nécessairement la variance, et il y a des cas où la variance augmente même. Cet article de Charlie Geyer a donné quelques exemples à ce sujet.
Greenparker

9

L'échantillonneur Gibbs peut ensuite être utilisé pour améliorer l'efficacité (par exemple) des échantillons à partir d'un postérieur marginal, appelez-le π2(θ2|y). Remarque

π2(θ2|y)=π(θ1,θ2|y)θ1=π2|1(θ2|θ1,y)π1(θ1|y)θ1=E(π2|1(θ2|θ1,y))
Ainsi, la densité marginale de θ2 à une certaine valeur θ2 est la valeur attendue de la densité conditionnelle de θ2 donné θ1 à ce point θ2.

Ceci est intéressant en raison du lemme de décomposition de la variance

Vuner(X)=E[Vuner(X|Oui)]+Vuner[E(X|Oui)],
où la variance conditionnelle Vuner(X|Oui) est E{(X-E(X|Oui))2|Oui}. Aussi,Vuner(E(X|Oui))=E[(E(X|Oui)-E(X))2]. En particulier,
Vuner(X)Vuner[E(X|Oui)].
Un échantillonneur Gibbs nous donnera des réalisations (θ1je,θ2je). Le résultat est qu'il vaut mieux estimerπ2(θ2|y) par
π^2(θ2|y)=1Mje=1Mπ2|1(θ2|θ1je,y)
que par une estimation conventionnelle de la densité du noyau en utilisant le θ2je pour le point θ2 - à condition de connaître les distributions conditionnelles (ce qui est bien sûr la raison pour laquelle nous utilisons l'échantillonnage de Gibbs en premier lieu).

Exemple

Supposer X et Oui sont normaux bivariés avec des moyennes nulles, des variances 1 et une corrélation ρ. C'est,

π(X,y)exp{-12(1-ρ2)(X2+y2-2ρXy)}
Clairement, marginalement, OuiN(0,1), mais supposons que nous ne le savons pas. Il est bien connu que la distribution conditionnelle deOui donné X=X est N(ρX,1-ρ2).

Étant donné certains M réalisations de (X,Oui) l'estimation "Rao-Blackwell" de la densité de Oui à y alors c'est

π^Oui(y)=1Mje=1M11-ρ22πexp{-12(1-ρ2)(y-ρXje)2}
À titre d'illustration, comparons une estimation de la densité du noyau à l'approche RB
library(mvtnorm)

rho <- 0.5
R <- 50
xy <- rmvnorm(n=R, mean=c(0,0), sigma= matrix(c(1,rho,rho,1), ncol=2))
x <- xy[,1]
y <- xy[,2]

kernel_density <- density(y, kernel = "gaussian")
plot(kernel_density,col = "blue",lty=2,main="Rao-Blackwell estimates from conditional normals",ylim=c(0,0.4))
legend(1.5,.37,c("Kernel","N(0,1)","Rao-Blackwell"),lty=c(2,1,3),col=c("blue","black","red"))
g <- seq(-3.5,3.5,length=100)
lines(g,dnorm(g),lty=1) # here's what we pretend not to know

density_RB <- rep(0,100)
for(i in 1:100) {density_RB[i] <- mean(dnorm(g[i], rho*x, sd = sqrt(1-rho^2)))}
lines(g,density_RB,col = "red",lty=3) 

Nous observons que l'estimation RB fait beaucoup mieux (car elle exploite les informations conditionnelles):

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.