Bisakah saya subsampel dataset besar di setiap iterasi MCMC?

8

Masalah: Saya ingin melakukan sampling Gibbs untuk menyimpulkan beberapa posterior lebih dari dataset besar. Sayangnya, model saya tidak terlalu sederhana dan dengan demikian pengambilan sampel terlalu lambat. Saya akan mempertimbangkan pendekatan variasional atau paralel, tetapi sebelum melangkah sejauh itu ...

Pertanyaan: Saya ingin tahu apakah saya dapat sampel secara acak (dengan penggantian) dari dataset saya di setiap iterasi Gibbs, sehingga saya memiliki lebih sedikit contoh untuk belajar dari pada setiap langkah.

Intuisi saya adalah bahwa bahkan jika saya mengubah sampel, saya tidak akan mengubah kepadatan probabilitas dan oleh karena itu sampel Gibbs seharusnya tidak memperhatikan triknya. Apakah saya benar? Apakah ada beberapa referensi orang yang melakukan ini?

Alberto
sumber
1
Sebagai tambahan: ide lain adalah melakukan beberapa analisis pada subsampel acak dari dataset besar. Dengan begitu Anda juga bisa memvalidasi silang.
Dugaan
2
Saya tidak dapat menjawab pertanyaan persis Anda dengan otoritas apa pun (walaupun kecurigaan saya adalah bahwa Anda hanya akan meningkatkan kesalahan perkiraan yang menyertai Monte Carlo), kebenaran yang menyedihkan adalah bahwa ini hanyalah aspek yang tidak menguntungkan dari analisis MCMC Bayesian: mereka bersifat komputasi mahal. Komentar @conjectures adalah ide yang bagus, tetapi tidak benar-benar menjadi inti permasalahan: terlalu mahal untuk menggambar semua sampel tersebut untuk setiap individu. Rekomendasi saya adalah menulis kode C Anda sendiri untuk pekerjaan berat (Rcpp dalam R, Cython dalam Python, dll.) Dan juga memparalelkan (ketika tidak ada dependensi cabang).
1
@conjectures Ini kedengarannya seperti tas bootstraps kecil Michael Jordan.
jaradniemi
1
Saya akan menyarankan mengubah sampler Anda untuk menghindari augmentasi variabel laten sama sekali. Anda tidak akan lagi memiliki sampler Gibbs, tetapi algoritma Metropolis-Hastings dengan proposal berdasarkan perkiraan normal kemungkinan akan bekerja dengan baik. Lihat Bagian 16.4 edisi ke-2 dari Analisis Data Bayesian.
jaradniemi
6
Ini adalah area penelitian aktif yang saya tidak tahu cukup baik untuk merangkum secara akurat untuk Anda. Lihat misalnya jmlr.org/proceedings/papers/v32/bardenet14.pdf dan arxiv.org/pdf/1304.5299v4.pdf
Andrew M

Jawaban:

1

Tentang strategi subsampling: misalnya, pertimbangkan untuk memiliki dua pengamatan dan dan pertimbangkan untuk menempatkan beberapa prior pada mean dan perbedaan. Biarkan , posterior yang ingin kita evaluasi adalah PILIH sekarang menjadi variabel binomial . Jika kita memilih , jika kita memilih , posterior baru adalah manaX 2N ( μ 2 , σ 2 2 ) θ = ( μ 1 , μ 2 , σ 2 1 , σ 2 2 ) f ( θ | X 1 , X 2 ) f ( X 1 | θ ) f (X1N(μ1,σ12)X2N(μ2,σ22)θ=(μ1,μ2,σ12,σ22)

f(θ|X1,X2)f(X1|θ)f(X2|θ)f(θ)
δB(0.5)δ=0X1δ=1X2
f(θ,δ|X1,X2)f(X1,X2|δ,θ)f(θ)f(δ)
f(X1,X2|δ,θ)=f(X1|θ)δf(X2|θ)1δ dan . Sekarang jika Anda ingin sampel dengan langkah Gibbs Anda harus menghitung dan karena . Jika Anda menggunakan Metropolis Hastings maka Anda mengusulkan negara bagian baru dan Anda harus menghitung hanya satu di antara dan , yang terkait dengan negara yang diusulkan tetapi Anda harus menghitung satu antara danf(δ)=0.5δf(X1|θ)f(X2|θ) δf(X1|θ)f(X2|θ)f(X1|θ)f(X1|θ)f(X2|θ)δδP(δ=1)=f(X1|θ)f(X1|θ)+f(X2|θ)δf(X1|θ)f(X2|θ)f(X1|θ)f(X2|θ)bahkan untuk keadaan terakhir diterima . Maka saya tidak yakin bahwa metropolis akan memberi Anda beberapa keuntungan. Terlebih lagi di sini kita sedang mempertimbangkan proses bivariat, tetapi dengan proses multivariat pengambilan sampel dari bisa sangat rumit dengan metropolis.δδ
niandra82
sumber