まとめ
- Jarak Hellinger mengukur perbedaan antara distribusi probabilitas berdasarkan akar kuadratnya, dengan nilai antara 0 dan 1.
- Ditunjukkan cara perhitungan untuk distribusi diskrit dan perbandingan dengan KL Divergence.
- Dijelaskan juga cara menangani nilai nol dan normalisasi dalam praktik.
1. Definisi dan Sifat #
Untuk dua distribusi diskrit \(P = (p_1, \dots, p_n)\) dan \(Q = (q_1, \dots, q_n)\), jarak Hellinger didefinisikan sebagai:
$$ H(P, Q) = \frac{1}{\sqrt{2}} \sqrt{ \sum_{i=1}^n \left(\sqrt{p_i} - \sqrt{q_i}\right)^2 } $$
- Nilai mendekati 0 berarti distribusi mirip; mendekati 1 berarti berbeda jauh.
- Memenuhi simetri dan ketaksamaan segitiga, sehingga merupakan metrik sejati.
- Tidak seperti KL Divergence, tetap bernilai hingga meski dukungan distribusi tidak tumpang tindih.
2. Perhitungan di Python #
import numpy as np
def hellinger(p: np.ndarray, q: np.ndarray) -> float:
"""Hitung jarak Hellinger antara dua distribusi probabilitas."""
p = np.asarray(p, dtype=float)
q = np.asarray(q, dtype=float)
# Normalisasi agar jumlahnya 1
p = p / p.sum()
q = q / q.sum()
return float(np.linalg.norm(np.sqrt(p) - np.sqrt(q)) / np.sqrt(2))
p = np.array([0.4, 0.4, 0.2])
q = np.array([0.2, 0.5, 0.3])
print(f"Hellinger distance: {hellinger(p, q):.4f}")
Untuk histogram, pastikan hasil dijumlahkan menjadi 1 sebelum menghitung selisih akar kuadratnya.
3. Karakteristik Utama #
- Simetris dan metrik: Seperti jarak Jensen–Shannon, memenuhi sifat metrik.
- Nilai hingga: Tetap stabil walau ada nilai nol dalam distribusi.
- Transformasi akar kuadrat: Mengurangi pengaruh besar dari probabilitas kecil dan membuatnya lebih tahan terhadap outlier.
4. Aplikasi Praktis #
- Inferensi Bayesian: Mengukur perbedaan antara distribusi prior dan posterior.
- Klasterisasi: Digunakan untuk mengukur jarak antar vektor probabilistik (misalnya distribusi topik).
- Deteksi perubahan konsep (concept drift): Memantau perubahan distribusi seiring waktu dan memicu peringatan jika melebihi ambang batas.
5. Pertimbangan Praktis #
- Hasil jarak tergantung pada pembagian histogram; rancang diskritisasi dengan hati-hati.
- Gunakan Laplace smoothing jika jumlah sampel kecil agar hasil lebih stabil.
- Kombinasikan dengan metrik lain (KL, Wasserstein, dsb.) untuk pemahaman distribusi yang lebih menyeluruh.
Ringkasan #
Jarak Hellinger mengukur perbedaan distribusi probabilitas menggunakan akar kuadrat, menghasilkan nilai intuitif antara 0 dan 1.
Tahan terhadap nol dan banyak digunakan dalam inferensi Bayesian, klasterisasi, dan pemantauan distribusi.