Saya bertanya-tanya, mengingat dua distribusi normal dengan dan
- bagaimana saya bisa menghitung persentase daerah yang tumpang tindih dari dua distribusi?
- Saya kira masalah ini memiliki nama tertentu, apakah Anda mengetahui adanya nama tertentu yang menjelaskan masalah ini?
- Apakah Anda mengetahui adanya implementasi ini (misalnya, kode Java)?
normal-distribution
similarities
metric
bhattacharyya
Ali Salehi
sumber
sumber
Jawaban:
Ini juga sering disebut "koefisien tumpang tindih" (OVL). Googling untuk ini akan memberi Anda banyak hits. Anda dapat menemukan nomogram untuk kasus bi-normal di sini . Makalah yang bermanfaat mungkin:
Sunting
Sekarang Anda membuat saya lebih tertarik pada ini, jadi saya melanjutkan dan membuat kode R untuk menghitung ini (ini adalah integrasi sederhana). Saya melemparkan sebidang dari dua distribusi, termasuk naungan wilayah yang tumpang tindih:
Untuk contoh ini, hasilnya adalah:
0.6099324
dengan kesalahan absolut< 1e-04
. Gambar di bawah ini.sumber
Ini diberikan oleh koefisien Bhattacharyya . Untuk distribusi lain, lihat juga versi umum, jarak Hellinger antara dua distribusi.
Saya tidak tahu ada perpustakaan untuk menghitung ini, tetapi mengingat formulasi eksplisit dalam hal jarak Mahalanobis dan penentu matriks varian, implementasi seharusnya tidak menjadi masalah.
sumber
Saya tidak tahu apakah ada cara standar yang jelas untuk melakukan ini, tetapi:
Pertama, Anda menemukan titik persimpangan antara dua kepadatan. Ini dapat dengan mudah dicapai dengan menyamakan kedua kepadatan, yang, untuk distribusi normal, harus menghasilkan persamaan kuadrat untuk x.
Sesuatu yang dekat dengan:
Ini dapat diselesaikan dengan kalkulus dasar.
Dengan demikian Anda memiliki nol, satu atau dua titik persimpangan. Sekarang, titik persimpangan ini membagi garis nyata menjadi 1, 2 atau tiga bagian, di mana salah satu dari dua kepadatan adalah yang terendah. Jika tidak ada yang lebih matematis yang terlintas dalam pikiran, coba saja titik mana saja dalam salah satu bagian untuk menemukan mana yang terendah.
Nilai bunga Anda sekarang adalah jumlah area di bawah kurva kepadatan terendah di setiap bagian. Area ini sekarang dapat ditemukan dari fungsi distribusi kumulatif (cukup kurangi nilai di kedua tepi 'bagian'.
sumber
Sebagai anak cucu, solusi wolfgang tidak bekerja untuk saya — saya menemui bug dalam
integrate
fungsi. Jadi saya mengombinasikannya dengan jawaban Nick Staubbe untuk mengembangkan fungsi kecil berikut. Seharusnya lebih cepat dan lebih tidak buggy daripada menggunakan integrasi numerik:sumber
(l+r)/2
?Ini adalah versi Java, Perpustakaan Matematika Apache Commons :
sumber
Saya pikir sesuatu seperti ini bisa menjadi solusi di MATLAB:
Setidaknya saya bisa mereproduksi nilai 0,8026 yang diberikan di bawah ini Gambar 1 di pdf ini .
Anda hanya perlu menyesuaikan nilai awal dan akhir dan interval agar tepat karena ini hanya solusi numerik.
sumber