Katakanlah kita memiliki distribusi Dirichlet dengan parameter vektor -dimensional . Bagaimana saya bisa menggambar sampel ( vektor dimensi) dari distribusi ini? Saya membutuhkan (mungkin) penjelasan sederhana.
sampling
dirichlet-distribution
pengguna1315305
sumber
sumber
Metode sederhana (walaupun tidak tepat) terdiri dari menggunakan fakta bahwa menggambar distribusi Dirichlet setara dengan eksperimen guci Polya. (Menggambar dari satu set bola berwarna dan setiap kali Anda menggambar bola, Anda memasukkannya kembali ke dalam guci dengan bola kedua dengan warna yang sama)
Pertimbangkan parameter Dirichlet Anda sebagai distribusi yang tidak dinormalisasi di atas i.αi
Kemudian :
ulangi N kali
-> gambar i menggunakan distribusi multinomialαi
-> tambahkan 1 keαi
dan ulangi
Normalisasikan untuk mendapatkan distribusi Andaα
Jika saya tidak salah, metode itu tepat asimptotik. Tetapi karena N terbatas, Anda tidak akan pernah menarik beberapa distribusi dengan probabilitas sebelumnya yang sangat kecil (sedangkan Anda harus menggambar mereka dengan frekuensi yang sangat kecil). Saya kira itu mungkin memuaskan dalam kebanyakan kasus dengan N = K.10.
sumber
np.random.dirichlet
yang diterapkan, karena memang menghasilkan nol tepat dalam vektor probabilitas sampel, meskipun vektor tersebut tidak termasuk dalam dukungan Dirichlet. Inilah yang membuat saya di sini.