Jarak Hellinger

Eval

Jarak Hellinger

まとめ
  • 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.