Saya mencoba menerapkan estimasi numerik Kullback-Leibler Divergence untuk dua sampel. Untuk debug implementasi, ambil sampel dari dua distribusi normal dan .N ( 1 , 2 )
Untuk perkiraan sederhana saya menghasilkan dua histogram dan mencoba untuk memperkirakan secara integral numerik. Saya terjebak dengan menangani bagian-bagian histogram di mana sampah salah satu histogram adalah nol sehingga saya akhirnya membagi dengan nol atau logaritma nol. Bagaimana saya menangani masalah ini?
Sebuah pertanyaan terkait muncul di benak saya: Bagaimana tepatnya menghitung KL-Divergence antara dua distribusi seragam yang berbeda? Apakah saya harus membatasi integral dengan penyatuan dukungan dari kedua distribusi?
Jawaban:
Divergensi Kullback-Leibler didefinisikan sebagai jadi untuk menghitung (memperkirakan) ini dari data empiris kita perlu, mungkin, beberapa perkiraan fungsi kepadatan . Jadi titik awal alami bisa melalui estimasi kepadatan (dan setelah itu, hanya integrasi numerik). Seberapa baik atau stabil metode seperti itu, saya tidak tahu.p ( x ) , q ( x )
Tapi pertama pertanyaan kedua Anda, maka saya akan kembali ke yang pertama. Katakanlah dan adalah kerapatan yang seragam pada masing-masing dan . Maka sementara lebih sulit untuk didefinisikan, tetapi satu-satunya nilai yang masuk akal untuk memberikannya adalah , sejauh yang saya bisa lihat, karena melibatkan mengintegrasikan yang dapat kita pilih untuk diinterpretasikan sebagai . Hasil ini masuk akal dari interpretasi yang saya berikan di Intuition on the Kullback-Leibler (KL) Divergenceq [ 0 , 1 ] [ 0 , 10 ] KL ( p | | q ) = log 10 KL ( q | | p ) ∞ log ( 1 / 0 ) log ∞p q [0,1] [0,10] KL(p||q)=log10 KL(q||p) ∞ log(1/0) log∞
Kembali ke pertanyaan utama. Hal ini ditanyakan dengan cara yang sangat nonparametrik, dan tidak ada asumsi yang dinyatakan pada kepadatan. Mungkin beberapa asumsi diperlukan. Tetapi dengan asumsi dua kepadatan diusulkan sebagai model bersaing untuk fenomena yang sama, kita mungkin dapat mengasumsikan mereka memiliki ukuran yang mendominasi yang sama: Perbedaan KL antara distribusi probabilitas kontinu dan diskrit akan selalu menjadi tak terbatas, misalnya. Satu makalah yang membahas pertanyaan ini adalah sebagai berikut: https://pdfs.semanticscholar.org/1fbd/31b690e078ce938f73f14462fceadc2748bf.pdf Mereka mengusulkan metode yang tidak memerlukan estimasi kepadatan pendahuluan, dan menganalisis sifat-sifatnya.
(Ada banyak makalah lain). Saya akan kembali dan memposting beberapa detail dari makalah itu, gagasannya.
Beberapa ide dari makalah itu, yaitu tentang estimasi divergensi KL dengan sampel pertama dari distribusi yang benar-benar kontinu. Saya menunjukkan proposal mereka untuk distribusi satu dimensi, tetapi mereka juga memberikan solusi untuk vektor (menggunakan estimasi kepadatan tetangga terdekat). Sebagai bukti bacalah korannya!
Mereka mengusulkan untuk menggunakan versi fungsi distribusi empiris, tetapi diinterpolasi secara linier antara titik sampel untuk mendapatkan versi kontinu. Mereka mendefinisikan mana adalah fungsi langkah Heavyside, tetapi didefinisikan sehingga . Kemudian fungsi yang diinterpolasi secara linear (dan diperluas secara horizontal di luar kisaran) adalah ( untuk kontinu). Lalu mereka mengusulkan untuk memperkirakan divergensi Kullback-Leibler dengan mana danUU(0)=0,5Pcc D (P‖Q)=1
Kode R untuk versi fungsi distribusi empiris yang kita butuhkan adalah
catatan yang
rle
digunakan untuk menangani kasus dengan duplikat dix
.Kemudian estimasi divergensi KL diberikan oleh
Lalu saya menunjukkan simulasi kecil:
yang memberikan histogram berikut, menunjukkan (perkiraan) dari distribusi sampling dari estimator ini:
Sebagai perbandingan, kami menghitung perbedaan KL dalam contoh ini dengan integrasi numerik:
hmm ... perbedaannya cukup besar sehingga ada banyak yang harus diselidiki!
sumber
Memperluas sedikit jawaban kjetil-b-halvorsen , dan maaf karena tidak berkomentar, saya tidak memiliki reputasi:
LR <- function(x) dnorm(x,log=TRUE)-dt(x,5,log=TRUE) integrate(function(x) dnorm(x)*LR(x),lower=-Inf,upper=Inf)$value
Setelah kedua koreksi tersebut dilakukan, hasilnya tampak lebih realistis.
sumber