Rao-Blackwellization of Gibbs Sampler

9

Saat ini saya memperkirakan model volatilitas stokastik dengan metode Markov Chain Monte Carlo. Dengan demikian, saya menerapkan metode pengambilan sampel Gibbs dan Metropolis.

Dengan asumsi saya mengambil rata-rata distribusi posterior daripada sampel acak dari itu, apakah ini yang biasa disebut sebagai Rao-Blackwellization ?

Secara keseluruhan, ini akan menghasilkan pengambilan rata-rata dari distribusi posterior sebagai estimasi parameter.

mscnvrsy
sumber

Jawaban:

10

Dengan asumsi saya mengambil rata-rata distribusi posterior daripada sampel acak dari itu, apakah ini yang biasa disebut sebagai Rao-Blackwellization?

Saya tidak terlalu terbiasa dengan model volatilitas stokastik, tetapi saya tahu bahwa di sebagian besar pengaturan, alasan kami memilih algoritma Gibbs atau MH untuk menggambar dari posterior, adalah karena kami tidak tahu posterior. Seringkali kita ingin memperkirakan rata-rata posterior, dan karena kita tidak tahu rata-rata posterior, kita mengambil sampel dari posterior dan memperkirakannya menggunakan mean sampel. Jadi, saya tidak yakin bagaimana Anda akan dapat mengambil mean dari distribusi posterior.

Alih-alih, penduga Rao-Blackwellized bergantung pada pengetahuan tentang rata-rata kondisi penuh; namun demikian pengambilan sampel masih diperlukan. Saya jelaskan lebih lanjut di bawah ini.

Misalkan distribusi posterior didefinisikan pada dua variabel, ), sehingga Anda ingin memperkirakan rata-rata posterior: . Sekarang, jika sampler Gibbs tersedia, Anda bisa menjalankannya atau menjalankan algoritma MH untuk mengambil sampel dari posterior.θ=(μ,ϕE[θdata]

Jika Anda dapat menjalankan sampler Gibbs, maka Anda tahu dalam bentuk tertutup dan Anda tahu rata-rata distribusi ini. Biarkan itu berarti . Perhatikan bahwa adalah fungsi dari dan data.f(ϕμ,data)ϕϕμ

Ini juga berarti bahwa Anda dapat mengintegrasikan dari posterior, sehingga posterior marginal dari adalah (ini tidak diketahui sepenuhnya, tetapi dikenal hingga konstan). Sekarang Anda ingin menjalankan rantai Markov sehingga adalah distribusi invarian, dan Anda mendapatkan sampel dari posterior marginal ini. Pertanyaannya adalahϕμf(μdata)f(μdata)

Bagaimana Anda bisa memperkirakan rata-rata posterior hanya menggunakan sampel-sampel ini dari posterior marginal ?ϕμ

Ini dilakukan melalui Rao-Blackwellization.

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

Jadi misalkan kita telah mendapatkan sampel dari posterior marginal . Kemudian X1,X2,XNμ

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

disebut penduga Rao-Blackwellized untuk . Hal yang sama dapat dilakukan dengan mensimulasikan dari marginal bersama juga.ϕ

Contoh (Murni untuk demonstrasi).

Misalkan Anda memiliki posterior gabungan yang tidak diketahui untuk dari mana Anda ingin sampel. Data Anda sebagian , dan Anda memiliki persyaratan lengkap berikut θ=(μ,ϕ)y

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

Anda menjalankan sampler Gibbs menggunakan persyaratan ini, dan mendapatkan sampel dari posterior bersama . Biarkan sampel ini menjadi . Anda dapat menemukan rata-rata sampel dari , dan itu akan menjadi penduga Monte Carlo biasa untuk rata-rata posterior untuk ..f(μ,ϕy)(μ1,ϕ1),(μ2,ϕ2),,(μN,ϕN)ϕϕ

Atau, perhatikan bahwa dengan properti distribusi Gamma

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

Di sini adalah data yang diberikan kepada Anda dan dengan demikian diketahui. Penaksir Rao Blackwellized akan menjadiy

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

Perhatikan bagaimana estimator untuk rata-rata posterior dari bahkan tidak menggunakan sampel , dan hanya menggunakan sampel . Bagaimanapun, seperti yang Anda lihat, Anda masih menggunakan sampel yang Anda peroleh dari rantai Markov. Ini bukan proses deterministik.ϕϕμ

Greenparker
sumber
Jadi dengan asumsi distribusi posterior dari parameter diketahui (yang sejauh pengetahuan saya kebetulan benar ketika menerapkan sampling Gibbs), mengambil rata-rata distribusi daripada sampel acak akan menjadi penduga Rao-Blackwellized? Saya harap saya mengerti jawaban Anda dengan benar. Terima kasih banyak!
mscnvrsy
Itu tidak benar. Dalam sampling Gibbs, Anda tidak tahu distribusi posterior parameter, tetapi tahu posterior bersyarat penuh untuk setiap parameter. Ada perbedaan besar di antara keduanya. Di atas, posterior adalah yang tidak diketahui, dan agar sampler Gibbs berfungsi, Anda harus mengetahui dan . Dan Anda juga salah dalam pemahaman kedua Anda. Anda masih perlu mengambil sampel dari posterior marginal , dan kemudian menghitung rata-rata sampel menggunakan sampel-sampel itu untuk menemukan estimator RB. f(μ,ϕdata)f(μϕ,dSebuahtSebuah)f(ϕμ,dSebuahtSebuah)μϕ
Greenparker
@mscnvrsy Saya menambahkan contoh untuk membantu
Greenparker
Wow, terima kasih banyak telah mengklarifikasi ini kepada saya. Jadi dengan asumsi bahwa saya mengetahui distribusi bersyarat penuh, saya dapat bekerja dengan cara-cara teoritis dari distribusi bersyarat dan rata-rata di atas cara-cara teoritis ini (seperti E [phi | mu, y]) untuk mendapatkan estimator RB? Ini kemudian akan meminimalkan varian estimasi parameter saya?
mscnvrsy
Jika Anda mendapatkan sampel independen, ya itu akan meminimalkan varians dari penaksir, namun, karena Anda berurusan dengan rantai Markov, umumnya diketahui bahwa RB tidak selalu mengurangi varians, dan ada beberapa contoh di mana varians bahkan meningkat. Makalah ini oleh Charlie Geyer memberi beberapa contoh untuk titik ini.
Greenparker
9

Sampler Gibbs kemudian dapat digunakan untuk meningkatkan efisiensi (katakanlah) sampel dari posterior marginal, sebut saja . Catatan Demikianlah, kepadatan marginal dari pada beberapa nilai adalah nilai yang diharapkan dari kepadatan bersyarat dari diberikan pada titik .π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

Ini menarik karena Varian Dekomposisi Lemma mana varian varian bersyarat adalah . Juga, . Secara khusus, Sampler Gibbs akan memberi kita realisasi . Hasilnya adalah lebih baik untuk memperkirakan dengan dibandingkan dengan beberapa estimasi kepadatan kernel konvensional menggunakan untuk titik

VSebuahr(X)=E[VSebuahr(X|Y)]+VSebuahr[E(X|Y)],
VSebuahr(X|Y)E{(X-E(X|Y))2|Y}VSebuahr(E(X|Y))=E[(E(X|Y)-E(X))2]
VSebuahr(X)VSebuahr[E(X|Y)].
(θ1saya,θ2saya)π2(θ2|y)
π^2(θ2|y)=1M.saya=1M.π2|1(θ2|θ1saya,y)
θ2sayaθ2 - asalkan kita tahu distribusi bersyarat (yang tentu saja mengapa kita menggunakan sampling Gibbs di tempat pertama).

Contoh

Misalkan dan adalah bivariat normal dengan rata-rata nol, varian 1 dan korelasi . Yaitu, Jelas, sedikit, , tetapi marilah kita berpura-pura kita tidak tahu ini. Sudah diketahui bahwa distribusi kondisional dari diberikan adalah .XYρ

π(x,y)exp{-12(1-ρ2)(x2+y2-2ρxy)}
YN(0,1)YX=xN(ρx,1-ρ2)

Dengan beberapa realisasi dari estimasi "Rao-Blackwell" dari kepadatan pada maka adalah Sebagai ilustrasi, mari kita bandingkan perkiraan kepadatan kernel dengan pendekatan RBM.(X,Y)Yy

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

Kami mengamati bahwa perkiraan RB jauh lebih baik (karena mengeksploitasi informasi bersyarat):

masukkan deskripsi gambar di sini

Christoph Hanck
sumber