Jawaban @ Tim menunjukkan bagaimana inverse transform sampling dapat diadaptasi untuk distribusi terpotong, membebaskan run-time dependensi pada ambang batas . Efisiensi lebih lanjut dapat diperoleh dengan menghindari evaluasi numerik yang mahal dari fungsi beta quantile & menggunakan sampel inverse transform sebagai bagian dari sampel penolakan.k
Fungsi kepadatan distribusi beta dengan parameter bentuk & terpotong dua kali lipat pada (untuk sedikit lebih umum)αβk1<k2
f(x)=x(α−1)(1−x)(β−1)B(k2,α,β)−B(k1,α,β)
Ambil bagian kepadatan yang meningkat secara monoton antara & : untuk itu log-cekung, sehingga Anda dapat menyelimutinya dengan fungsi eksponensial yang digambar dengan garis singgung untuk titik di sepanjang itu:xLxUα,β>1
g(x)=c⋅λe−λ(x−xL)
Temukan dengan mengatur gradien kepadatan log samaλ
−λ=a−1x−b−11−x
& temukan dengan menghitung berapa kerapatan eksponensial yang perlu ditingkatkan untuk memenuhi kerapatan pada titik itu
cc=f(x)λe−λ(x−xL)
Amplop terbaik untuk sampel penolakan adalah yang memiliki area terkecil di bawahnya. Area ini adalah
Mengganti ekspresi dalam untuk & , & dropping faktor konstan memberi
A=c⋅(1−e−λ(xU−xL))
xλc
Q(x)=xa(1−x)b(a+b−2)x−a+1⋅[exp((b−1)(x−xL)1−x+xL(a−1)x−(a−1))−exp((b−1)(x−xU)1−x+xU(a−1)x−(a−1))]
Menulis turunan dibiarkan sebagai latihan untuk pembaca atau komputer mereka. Algoritma pencari akar apa pun kemudian dapat digunakan untuk menemukan yang . xdQdQdxxdQdx=0
Hal yang sama berlaku, mutatis mutandis, untuk mengurangi kepadatan bagian secara monoton. Jadi distribusi beta terpotong dapat terselubung dengan rapi oleh dua fungsi eksponensial, katakanlah, satu dari ke mode & satu dari mode ke , siap untuk pengambilan sampel penolakan. (Untuk variabel acak seragam dipotong , memiliki terpotong eksponensial distribusi dengan parameter tingkat .)k 2 U - log ( 1 - U )k1k2U λ−log(1−U)λλ
Keindahan dari pendekatan ini adalah bahwa semua kerja keras sudah diatur. Setelah fungsi amplop ditetapkan, konstanta normalisasi untuk kepadatan beta terpotong dihitung, yang tersisa adalah menghasilkan varian acak yang seragam, & melakukan padanya beberapa operasi aritmetika sederhana, log & kekuatan, & perbandingan. Mengencangkan fungsi amplop — dengan garis horizontal atau kurva yang lebih eksponensial — tentu saja dapat mengurangi jumlah penolakan.