Rao-Blackwellization von Gibbs Sampler


9

Ich schätze derzeit ein stochastisches Volatilitätsmodell mit Markov-Ketten-Monte-Carlo-Methoden. Dabei implementiere ich Gibbs- und Metropolis-Stichprobenverfahren.

Angenommen, ich nehme eher den Mittelwert der posterioren Verteilung als eine Zufallsstichprobe daraus. Wird dies allgemein als Rao-Blackwellization bezeichnet ?

Insgesamt würde dies dazu führen, dass der Mittelwert über die Mittelwerte der posterioren Verteilungen als Parameterschätzung genommen wird.

Antworten:


10

Angenommen, ich nehme eher den Mittelwert der posterioren Verteilung als eine Zufallsstichprobe daraus. Wird dies allgemein als Rao-Blackwellization bezeichnet?

Ich bin mit stochastischen Volatilitätsmodellen nicht sehr vertraut, aber ich weiß, dass in den meisten Einstellungen der Grund, warum wir Gibbs- oder MH-Algorithmen wählen, um aus dem Posterior zu zeichnen, darin besteht, dass wir den Posterior nicht kennen. Oft möchten wir den posterioren Mittelwert schätzen, und da wir den posterioren Mittelwert nicht kennen, ziehen wir Proben aus dem posterioren und schätzen ihn anhand des Probenmittelwerts. Ich bin mir also nicht sicher, wie Sie den Mittelwert aus der posterioren Verteilung ziehen können.

Stattdessen hängt der Rao-Blackwellized-Schätzer von der Kenntnis des Mittelwerts der vollständigen Bedingung ab; Aber selbst dann ist noch eine Probenahme erforderlich. Ich erkläre weiter unten mehr.

Angenommen, die posteriore Verteilung wird für zwei Variablen definiert, ), so dass Sie den posterioren Mittelwert schätzen möchten: E [ θ Daten ] . Wenn nun ein Gibbs-Sampler verfügbar wäre, könnten Sie diesen ausführen oder einen MH-Algorithmus ausführen, um von hinten abzutasten.θ=(μ,ϕE[θdata]

Wenn Sie einen Gibbs - Sampler laufen kann, dann wissen Sie , in geschlossener Form und kennen Sie den Mittelwert dieser Verteilung. Lassen Sie das Mittel sei φ * . Man beachte , dass φ * eine Funktion von μ und den Daten.f(ϕμ,data)ϕϕμ

Dies bedeutet auch , dass Sie bei der Integration heraus kann aus dem hinteren, so dass der Rand posterior von μ ist f ( μ | d a t a ) (dies ist nicht vollständig bekannt, aber bis zu einem konstanten bekannt). Sie möchten nun eine Markov-Kette so ausführen, dass f ( μ d a t a ) die invariante Verteilung ist, und Sie erhalten Proben von diesem marginalen posterioren Bereich. Die Frage istϕμf(μdata)f(μdata)

Wie können Sie nun den posterioren Mittelwert von schätzen, indem Sie nur diese Proben aus dem marginalen posterioren von μ verwenden ?ϕμ

Dies erfolgt über Rao-Blackwellization.

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

Nehmen wir also an, wir haben Proben vom Rand posterior von μ erhalten . Dann φ = 1X.1,X.2,X.N.μ

ϕ^=1N.ich=1N.ϕ(X.ich),

wird als Rao-Blackwellized-Schätzer für . Das gleiche kann auch durch Simulation von den Gelenkrändern aus erfolgen.ϕ

Beispiel (nur zur Demonstration).

Angenommen, Sie haben ein unbekanntes posteriores Gelenk für aus dem Sie eine Probe erstellen möchten. Ihre Daten sind einige y , und Sie haben die folgenden vollständigen Bedingungen μ ϕ , y N ( ϕ 2 + 2 y , y 2 ) ϕ μ , y G a m m a ( 2 μ + y , y + 1) )θ=(μ,ϕ)y

μϕ,yN.(ϕ2+2y,y2)
ϕμ,yGeinmmein(2μ+y,y+1)

f(μ,ϕy)(μ1,ϕ1),(μ2,ϕ2),,(μN.,ϕN.)ϕϕ

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

y

ϕ^=1N.ich=1N.2μich+yy+1.

ϕϕμ


Unter der Annahme, dass die posteriore Verteilung des Parameters bekannt ist (was meines Wissens bei der Anwendung der Gibbs-Stichprobe der Fall ist), wäre es der Rao-Blackwellized-Schätzer, den Mittelwert der Verteilung anstelle einer Zufallsstichprobe zu verwenden. Ich hoffe ich habe deine Antwort richtig verstanden. Vielen Dank schon!
mscnvrsy

f(μ,ϕdeintein)f(μϕ,deintein)f(ϕμ,deintein)μϕ

@mscnvrsy Ich habe ein Beispiel hinzugefügt, um zu helfen
Greenparker

Wow, vielen Dank, dass Sie mir das klargestellt haben. Unter der Annahme, dass ich die vollständigen bedingten Verteilungen kenne, kann ich mit den theoretischen Mitteln der bedingten Verteilungen arbeiten und über diese theoretischen Mittelwerte (wie E [phi | mu, y]) mitteln, um den RB-Schätzer zu erhalten? Dies würde dann die Varianz meiner Parameterschätzungen minimieren?
mscnvrsy

Wenn Sie unabhängige Stichproben erhalten würden, würde dies die Varianz der Schätzer minimieren. Da es sich jedoch um Markov-Ketten handelt, ist allgemein bekannt, dass RB die Varianz nicht unbedingt verringert, und es gibt einige Fälle, in denen die Varianz sogar zunimmt. Dieses Papier von Charlie Geyer gab einige Beispiele zu diesem Punkt.
Greenparker

9

π2(θ2|y)

π2(θ2|y)=π(θ1,θ2|y)dθ1=π2|1(θ2|θ1,y)π1(θ1|y)dθ1=E.(π2|1(θ2|θ1,y))
θ2θ2θ2θ1θ2

V.einr(X.)=E.[V.einr(X.|Y.)]]+V.einr[E.(X.|Y.)]],
V.einr(X.|Y.)E.{(X.- -E.(X.|Y.))2|Y.}}V.einr(E.(X.|Y.))=E.[(E.(X.|Y.)- -E.(X.))2]]
V.einr(X.)V.einr[E.(X.|Y.)]].
(θ1ich,θ2ich)π2(θ2|y)
π^2(θ2|y)=1M.ich=1M.π2|1(θ2|θ1ich,y)
θ2ichθ2

Beispiel

X.Y.ρ

π(x,y)exp{- -12(1- -ρ2)(x2+y2- -2ρxy)}}
Y.N.(0,1)Y.X.=xN.(ρx,1- -ρ2)

M.(X.,Y.)Y.y

π^Y.(y)=1M.ich=1M.11- -ρ22πexp{- -12(1- -ρ2)(y- -ρxich)2}}
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) 

Wir stellen fest, dass die RB-Schätzung viel besser abschneidet (da sie die bedingten Informationen ausnutzt):

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.