Ini adalah upaya yang saya tidak sepenuhnya menyelesaikan, tetapi terlalu lama untuk bagian komentar. Mungkin berguna untuk meletakkannya di sini sebagai alternatif dasar lain untuk sangat rendah . Itu tidak memerlukan diferensiasi eksplisit + MCMC (tetapi melakukan diferensiasi numerik, tanpa MCMC).k
Algoritma
Untuk kecil :ε > 0
- Gambar . Ini dapat dengan mudah dilakukan dengan menggambar dan menghitung (yang, jika ada, dapat dengan mudah dilakukan secara numerik). Ini adalah undian dari pdf .kamu1∼C1≡ C(U1=kamu1,U2= 1 , ... ,Uk= 1 )η∼ Seragam [ 0 , 1 ]C- 11( η)kamu1∼ κ (kamu1)
- Untukj = 2 ... k
- Tentukan yang dapat dihitung sebagai selisih dievaluasi di berbagai titik (yang dengan cara naif membutuhkan evaluasi untuk setiap evaluasi ). adalah kondisional marjinal -disetujui diberikan .
D(ε)j(uj|u1,…,uj−1)≡Pr(u1−ε2≤U1≤u1+ε2∧⋯∧uj−1−ε2≤Uj−1≤uj−1+ε2∧Uj≤uj∧Uj+1≤1⋯∧Uk≤1),
CO(2j−1)CD(ε)jD(ε)jεuju1,…,uj−1
- Gambarkan sesuai poin 1, yang lagi-lagi harus mudah dilakukan dengan inversi numerik.uj∼D(ε)j(uj|u1,…,uj−1)
Diskusi
Algoritma ini harus menghasilkan sampel iid dari -pendugaan , di mana hanya bergantung pada ketepatan angka. Ada beberapa teknik praktis untuk memperbaiki perkiraan dan membuatnya stabil secara numerik.εC(u1,…,uk)ε
Masalah yang jelas adalah bahwa kompleksitas komputasi berskala sebagai , jadi, dengan murah hati, ini tidak terlalu umum dalam hal (tetapi contoh yang Anda tautkan memiliki , jadi mungkin metode ini adalah tidak sepenuhnya tidak berguna - Saya tidak terbiasa dengan skenario tipikal di mana Anda akan memiliki akses ke cdf). Di sisi lain, untuk distribusi berdimensi sangat rendah dapat bekerja, dan biayanya dikompensasi oleh fakta bahwa, tidak seperti solusi generik lain dari "diferensiasi + MCMC", tidak perlu menghitung turunan, sampel iid dan ada ada penyetelan (selain pilihanO(2k)kk=3ε, Yang seharusnya hanya sesuatu yang sedikit di atas presisi mesin). Dan mungkin ada cara untuk membuat ini lebih baik daripada pendekatan naif.
Seperti yang saya sebutkan, ini di atas kepala saya sehingga mungkin ada masalah lain.