Pengambilan Sampel yang Tepat dari Campuran yang Tidak Benar


10

Misalkan saya ingin mengambil sampel dari distribusi berkelanjutan . Jika saya memiliki ekspresi dalam formulirpp(x)p

p(x)=i=1aifi(x)

di mana , dan f_i adalah distribusi yang dapat dengan mudah diambil sampelnya, maka saya dapat dengan mudah menghasilkan sampel dari p dengan:ai0,iai=1fip

  1. Mengambil sampel label i dengan probabilitas ai
  2. Pengambilan sampel Xfi

Apakah mungkin untuk menggeneralisasi prosedur ini jika ai terkadang negatif? Saya kira saya pernah melihat ini dilakukan di suatu tempat - mungkin dalam sebuah buku, mungkin untuk distribusi Kolmogorov - jadi saya akan dengan senang hati menerima referensi sebagai jawaban.

Jika contoh mainan beton sangat membantu, katakanlah saya ingin mengambil sampel dari

p(x,y)exp(xyαxy)x,y>0
Saya akan kemudian ambil α(0,2) untuk alasan teknis yang seharusnya tidak terlalu penting, dalam skema besar hal.

Pada prinsipnya, saya dapat memperluas ini sebagai jumlah berikut:

p(x,y)n=0(1)nαn(n2)!(n2)!n!(xn/2ex(n2)!)(yn/2ey(n2)!).

The (x,y) -terms dalam jumlah yang kemudian dapat secara independen sampel dari sebagai Gamma acak variates. Masalah saya jelas bahwa koefisien "kadang-kadang" negatif.

Sunting 1 : Saya mengklarifikasi bahwa saya berusaha untuk menghasilkan sampel yang tepat dari p , daripada menghitung ekspektasi dalam p . Bagi yang berminat, beberapa prosedur untuk melakukannya disinggung dalam komentar.

Sunting 2 : Saya menemukan referensi yang mencakup pendekatan tertentu untuk masalah ini, dalam 'Generasi Variabel Acak Non-Seragam' milik Devroye . Algoritma ini dari 'Catatan tentang Pengambilan Sampel dari Kombinasi Distribusi', dari Bignami dan de Matteis . Metode ini secara efektif mengikat kepadatan dari atas dengan syarat positif penjumlahan, dan kemudian menggunakan sampel penolakan berdasarkan amplop ini. Ini sesuai dengan metode yang dijelaskan dalam jawaban @ Xi'an.


1
Mengapa Anda tidak dapat mengambil sampel hanya dengan menggunakan nilai absolut , dan kemudian meniadakan sampel ? Dengan kata lain, tentukan(dengan asumsi terbatas itu), dan kemudian renormalize sum Anda dengan . aiXfiZ:=i=1|ai|Z
Alex R.

2
@AlexR. Jika saya mengerti Anda, versi ini akan praktis untuk menghitung ekspektasi di bawah , tetapi masih tidak untuk menggambar sampel tepat dari . Tentu ini adalah jawaban untuk masalah yang relevan, meskipun tidak cukup apa yang saya cari. pp
8r8

4
Itu tergantung pada apa yang ingin Anda lakukan dengan sampel itu. Untuk keperluan menghitung momen, misalnya, terlihat mudah untuk menggeneralisasi pengambilan sampel dari campuran kepadatan dengan tambahan menandai setiap titik yang dipilih dari komponen dengan koefisien negatif sebagai titik "negatif" dan menimbang kontribusinya secara negatif dalam estimasi momen. Anda juga dapat membuat KDE dengan bobot negatif seperti itu, asalkan Anda dapat menerima kemungkinan bahwa beberapa nilainya akan negatif! (cc @ Xi'an)
whuber

1
Apa yang akan menjadi sampel "tepat" dari suatu distribusi? Sekali lagi, apakah dan bagaimana Anda dapat mengeksploitasi campuran dengan bobot negatif datang ke bagaimana Anda berniat untuk menggunakan sampel.
whuber

1
Ini tidak menjawab pertanyaan Anda, tetapi Anda mungkin tertarik untuk membaca tentang pengambilan sampel dari log probability stats.stackexchange.com/a/260248/35989
Tim

Jawaban:


5

Saya telah bingung dengan pertanyaan ini tetapi tidak pernah datang dengan solusi yang memuaskan.

Satu properti yang mungkin digunakan adalah bahwa, jika kepadatan menulis mana adalah a kerapatan sedemikian sehingga , disimulasikan dari dan menolak simulasi ini dengan probabilitas memberikan simulasi dari . Dalam kasus saat ini, adalah versi normal dari komponen bobot positif dan adalah sisanya

f(x)=g(x)ωh(x)1ωω>0
gg(x)ωh(x)gωh(x)/g(x)fg
g(x)=αi>0αifi(x)/αi>0αi
ωh
h(x)=αi<0αifi(x)/αi<0αi
Ini memang ditemukan dalam Alkitab simulasi Devroye, Generasi variatif acak tidak seragam , Bagian II.7.4, tetapi mengikuti dari alasan penerimaan-tolak yang sederhana.

Kelemahan komputasi pertama dari pendekatan ini adalah bahwa, meskipun mensimulasikan terlebih dahulu dari komponen dipilih , jumlah dalam dan harus dihitung untuk langkah penolakan. Jika jumlahnya tidak terbatas tanpa versi formulir tertutup, ini membuat metode accept-reject tidak mungkin untuk diterapkan .figh

Kesulitan kedua adalah, karena kedua jumlah bobot memiliki urutan yang sama tingkat penolakantidak memiliki batas atas. Sebenarnya jika seri yang terkait dengan tidak sepenuhnya konvergen, kemungkinan penerimaannya nol! Dan metode ini tidak dapat diterapkan dalam situasi ini.

αi>0αi=1αi<0αi
1ϱaccept=αi<0|αi|/i|αi|
αi

Dalam kasus representasi campuran, jika dapat ditulis sebagai komponen dapat dipilih terlebih dahulu dan kemudian metode yang diterapkan pada komponen. Tapi ini mungkin sulit untuk diterapkan, mengidentifikasi pasangan yang sesuai dengan dari jumlah yang mungkin tak terbatas yang belum tentu layak.f

f(x)=i=1αigi(x)ωih(xi)1ωiωi>0
(gi,hi)gi(x)ωih(xi)>0

Saya pikir resolusi yang lebih efisien bisa berasal dari representasi seri itu sendiri. Devroye, Pembuatan variasi acak yang tidak seragam , Bagian IV.5, berisi berbagai metode seri. Sebagai contoh, algoritma berikut untuk representasi seri alternatif dari target ketika ' s konvergen ke nol dengan dan adalah densitas:

f(x)=κh(x){1a1(x)+a2(x)}
ai(x)nhMetode seri alternatif Devroye

Masalahnya telah dipertimbangkan baru-baru ini dalam konteks debiasing estimator yang bias untuk MCMC, seperti misalnya dalam pendekatan Glynn-Rhee . Dan penaksir roulette Rusia (dengan koneksi dengan masalah pabrik Bernoulli). Dan metodologi MCMC yang tidak bias . Tapi tidak ada jalan keluar dari masalah tanda ... Yang membuat penggunaannya menantang ketika memperkirakan kepadatan seperti dalam metode pseudo-marginal.

Setelah berpikir lebih jauh, kesimpulan saya adalah bahwa tidak ada metode generik untuk menghasilkan simulasi aktual dari seri ini [daripada campuran yang ternyata keliru], tanpa memaksakan> struktur lebih lanjut pada elemen-elemen seri, seperti yang ada di algoritma di atas dari Alkitab Devroye . Memang, karena sebagian besar kepadatan (?) Memungkinkan untuk serangkaian ekspansi dari jenis di atas, ini sebaliknya akan menyiratkan adanya semacam mesin simulasi universal ...


Terima kasih! Saya menghargai referensi tambahan juga.
8r8

1
Terima kasih tambahan untuk tanggapan dan referensi yang sangat menyeluruh. Saya senang menerima jawaban ini karena berhasil menghasilkan sampel yang tepat dari sebagai waktu yang terbatas. Saya akan terus memikirkan masalah sampai batas tertentu; satu-satunya ide tambahan yang sepertinya menjanjikan adalah untuk melihat pengambilan sampel dari sebagai sampling , tergantung pada , dan mungkin ada beberapa geometri wawasan yang berguna untuk karakterisasi ini (saya berpikir seperti slice sampler di ). Bersulang! pp=λgμhXgλgμh{(x,y):μh(x)<y<λg(x)}
8r8

1
Saya menjelaskan sampler bersyarat sangat buruk; karakterisasi berbasis set sedikit lebih jelas (menurut saya). Poin kunci saya adalah bahwa jika Anda dapat mengambil sampel secara seragam dari dua dimensi di baris terakhir, maka -coordinate memiliki distribusi yang benar. Apakah karakterisasi ini dapat bermanfaat untuk campuran yang tidak tepat jumlahnya yang berbasis jumlah lebih lama masih harus dilihat. (x,y)x
8r8

1
Saya juga memikirkan slice sampler, tetapi ini bukan "tepat" dalam arti simulasi.
Xi'an

1

Saya memiliki konsep ide yang dapat bekerja. Itu tidak tepat , tapi semoga asymptotically tepat. Untuk mengubahnya menjadi metode yang sangat ketat, di mana aproksimasi dikendalikan, atau sesuatu tentang hal itu dapat dibuktikan, mungkin ada banyak pekerjaan yang diperlukan.

Pertama, seperti yang disebutkan oleh Xi'an, Anda dapat mengelompokkan bobot positif di satu sisi dan bobot negatif di sisi lain, sehingga pada akhirnya masalah hanya memiliki dua distribusi dan :gh

p=λgμh

dengan . Perhatikan bahwa Anda memiliki .λμ=1λ1

Ide saya adalah sebagai berikut. Anda ingin sampel pengamatan dari . Melakukan:Np

  • sampel nilai dari dan menyimpannya dalam daftarλNg
  • untuk setiap nilai diambil dari sampel , hapus tetangga terdekat (tersisa) dari daftar.μNh

Pada akhirnya Anda mendapatkan poin. Tidak harus persis tetangga terdekat , tetapi hanya titik yang "cukup dekat". Langkah pertama adalah seperti menghasilkan materi. Langkah kedua adalah seperti menghasilkan antimateri dan membiarkannya bertabrakan dan membatalkan materi. Metode ini tidak tepat, tetapi saya percaya, dalam beberapa kondisi, ini asymptotically tepat untuk besar (untuk membuatnya hampir tepat untuk kecil Anda perlu menggunakan besar pertama dan kemudian mengambil bagian acak kecil dari daftar akhir) . Saya memberikan argumen yang sangat informal yang lebih merupakan penjelasan daripada bukti.(λμ)N=NNnN

Pertimbangkan dalam ruang observasi dan volume kecil sekitar dengan volume Lebesgue . Setelah pengambilan sampel dari , jumlah elemen dalam daftar yang juga dalam adalah aproksimasi . Setelah langkah kedua, kira-kira akan dihapus darinya, dan Anda memiliki perkiraan angka yang diinginkan . Untuk ini, Anda perlu mengasumsikan bahwa jumlah titik dalam volume cukup besar.xvxϵgvλNg(x)ϵμNh(x)ϵNp(x)ϵ

Metode ini sangat tidak mungkin untuk menolak dimensi besar atau beberapa patologi dan tetapi mungkin bekerja dalam dimensi kecil dan distribusi "cukup seragam" yang cukup lancar.gh

Perhatikan tentang metode yang tepat:

Saya pertama kali memikirkan hal ini untuk distribusi diskrit, dan jelas dalam hal ini metode ini tidak tepat, karena dapat menghasilkan sampel yang memiliki probabilitas 0. Saya memiliki intuisi yang kuat bahwa metode yang tepat tidak mungkin dengan waktu pemrosesan yang terbatas, dan bahwa ini ketidakmungkinan bisa dibuktikan, setidaknya untuk distribusi diskrit. Aturan permainannya adalah Anda hanya diperbolehkan menggunakan sampler "oracle" yang tepat untuk dan tetapi tidak tahu dan sebagai fungsi . Untuk kesederhanaan, batasi distribusi Bernoulli. Tidak adanya metode yang tepat terkait dengan teori Pabrik Bernoulli : jika Anda dapat membuat -koin darighghx(λpμq)p-coin dan -coin, maka Anda bisa membuat -coin dari -coin yang diketahui tidak mungkin untuk .qλppλ>1


1
Saya mempertimbangkan hal ini tetapi menolaknya karena upaya awal saya untuk menunjukkannya bisa berhasil mengarah pada kesadaran bahwa itu akan, paling tidak, menjadi perkiraan dan berpotensi menjadi yang buruk. Ya, asimptotik itu bisa bekerja, tetapi itu tidak akan memenuhi permintaan OP untuk pengambilan sampel "tepat" dari distribusi.
whuber

Efisiensi metode ini persis dengan urutan yang sama dengan metode penerimaan-tolak yang tepat.
Xi'an

1
Sepakat. Namun mereka sangat berbeda. Metode accept-reject perlu menghitung dan sebagai fungsi . Saya fokus hanya menggunakan sampel dari dan sebagai sampler "oracle" seperti dalam campuran yang benar. Semakin saya memikirkannya, semakin saya yakin metode yang tepat berdasarkan oracle sampling tidak ada. ghxgh
Benoit Sanchez

1
Saya pikir itu secara umum benar, tetapi mungkin ada kelas berguna dari kasus khusus di mana metode yang tepat memang ada. Itu karena (1) dalam beberapa kasus perhitungan mudah dan (2) Anda tidak perlu menghitung dan hanya perlu menghitung rasio ini. g/(g+h)gh
whuber

@BenoitSanchez Terima kasih atas jawaban mendalam Anda; Saya terutama menghargai komentar di akhir tentang ketidakmungkinan (potensi) ketepatan. Saya telah menemukan Pabrik Bernoulli di masa lalu dan menemukan mereka cukup menantang; Saya akan mencoba meninjau kembali topik dan melihat apakah itu memberikan wawasan.
8r8
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.