Peluang Bersyarat

Intuisi P(A|B), tabel kontingensi, dan pembacaannya.

Daftar isi

Informasi tambahan mengubah penilaian atas ketidakpastian, dan peluang bersyarat (conditional probability) adalah ukuran perubahannya. Topik ini membahas pembacaan tabel kontingensi (contingency table), perhitungan P(A∣B)P(A \mid B) langsung dari tabel maupun dari rumusnya, serta perbandingan peluang sebelum dan sesudah informasi diterima. Seluruh contoh menggunakan data fiktif hasil ujian 200 siswa yang diverifikasi dengan pensampelan acak.

Tabel kontingensi sebagai populasi mini#

Tabel kontingensi merangkum dua variabel kategorikal sekaligus, yaitu status kehadiran dan hasil ujian pada 200 siswa fiktif. Setiap sel di dalamnya menghitung banyak siswa dengan satu kombinasi nilai, sedangkan baris dan kolom Total merangkum marginnya. Sel berisi 78 berarti terdapat 78 siswa yang hadir penuh dan lulus.

Status kehadiranLulusTidak lulusTotal
Hadir penuh7822100
Pernah absen3862100
Total11684200

Setiap sel bagian dalam merupakan irisan dua kejadian, misalnya kejadian lulus dan kejadian hadir penuh. Dari margin tabel diperoleh P(lulus)=116/200=0.58P(\text{lulus}) = 116/200 = 0.58 dan P(hadir penuh)=100/200=0.5P(\text{hadir penuh}) = 100/200 = 0.5. Seluruh peluang pada topik ini dibaca dari tabel yang sama, sehingga setiap angka dapat ditelusuri kembali ke banyaknya siswa.

Peluang bersyarat sebagai penyempitan ruang sampel#

Tanpa informasi apa pun, ruang sampel berisi 200 siswa dan peluang lulus adalah 0.58. Begitu diketahui seorang siswa hadir penuh, populasi yang relevan menyusut menjadi 100 siswa pada baris pertama, dan peluang lulusnya dihitung ulang menjadi 78/100=0.7878/100 = 0.78. Informasi kehadiran tidak mengubah siswanya, tetapi mengubah wilayah tempat perhitungan dilakukan.

Ruang sampel SAA∩BB(syarat)
Syarat B menyempitkan ruang sampel sehingga hanya bagian A yang beririsan dengan B yang dihitung ulang

Penyempitan tersebut dirumuskan sebagai peluang bersyarat. Notasi P(A∣B)P(A \mid B) dibaca peluang AA dengan syarat BB, yaitu peluang AA setelah ruang sampel diganti menjadi BB. Apabila P(B)>0P(B) > 0, definisinya adalah

P(A∣B)=P(A∩B)P(B) P(A \mid B) = \frac{P(A \cap B)}{P(B)}

Pada tabel, P(lulus dan hadir)=78/200=0.39P(\text{lulus dan hadir}) = 78/200 = 0.39 dan P(hadir penuh)=0.5P(\text{hadir penuh}) = 0.5, sehingga P(lulus∣hadir)=0.39/0.5=0.78P(\text{lulus} \mid \text{hadir}) = 0.39/0.5 = 0.78. Hasil rumus sama dengan hasil langsung 78/10078/100 dari baris hadir penuh. Perbandingan P(lulus)=0.58P(\text{lulus}) = 0.58 terhadap P(lulus∣hadir)=0.78P(\text{lulus} \mid \text{hadir}) = 0.78 memperlihatkan informasi menaikkan peluang yang dinilai.

Arah sebaliknya memberi kontras yang jelas. Siswa yang pernah absen memiliki P(lulus∣absen)=38/100=0.38P(\text{lulus} \mid \text{absen}) = 38/100 = 0.38, jauh di bawah 0.58, sedangkan syarat hadir penuh menaikkan nilainya ke 0.78. Dua syarat berbeda pada tabel yang sama menghasilkan dua peluang berbeda, dan itulah kegunaan utama peluang bersyarat.

Data pada tabel adalah data fiktif yang disusun untuk latihan. Pola pada tabel tidak boleh dibaca sebagai hubungan sebab akibat karena faktor lain dapat memengaruhi kehadiran dan kelulusan sekaligus. Untuk keperluan latihan, tabel itu cukup menunjukkan bahwa satu informasi mengubah nilai peluang.

Menghitung dan memverifikasi dengan Python#

Skrip berikut menghitung seluruh peluang dari tabel, lalu melakukan pensampelan acak 100000 kali dari populasi 200 siswa untuk memeriksa hasilnya. Frekuensi lulus dibandingkan dengan P(lulus)P(\text{lulus}), sedangkan frekuensi lulus pada subkelompok hadir dibandingkan dengan P(lulus∣hadir)P(\text{lulus} \mid \text{hadir}). Pembangkit acak memakai bibit 42 agar keluarannya dapat direproduksi.

python peluang-bersyarat.py
import numpy as np

# Tabel kontingensi 200 siswa (data fiktif)
#                  lulus   tidak lulus   total
# hadir penuh        78        22        100
# pernah absen       38        62        100
lulus_hadir, gagal_hadir = 78, 22
lulus_absen, gagal_absen = 38, 62
total = lulus_hadir + gagal_hadir + lulus_absen + gagal_absen

p_lulus = (lulus_hadir + lulus_absen) / total
p_hadir = (lulus_hadir + gagal_hadir) / total
p_irisan = lulus_hadir / total
p_bersyarat = p_irisan / p_hadir            # rumus P(A|B) = P(A dan B) / P(B)

print(f"P(lulus)             = {p_lulus:.4f}")
print(f"P(hadir penuh)       = {p_hadir:.4f}")
print(f"P(lulus dan hadir)   = {p_irisan:.4f}")
print(f"P(lulus|hadir) rumus = {p_bersyarat:.4f}")
print(f"P(lulus|hadir) tabel = {lulus_hadir / (lulus_hadir + gagal_hadir):.4f}")
print(f"P(hadir|lulus) tabel = {lulus_hadir / (lulus_hadir + lulus_absen):.4f}")

# Verifikasi dengan pensampelan acak dari populasi 200 siswa
# kode kategori: 0 = hadir-lulus, 1 = hadir-gagal, 2 = absen-lulus, 3 = absen-gagal
rng = np.random.default_rng(42)
populasi = np.repeat([0, 1, 2, 3], [lulus_hadir, gagal_hadir, lulus_absen, gagal_absen])
tarikan = populasi[rng.integers(0, total, size=100_000)]
hadir = tarikan <= 1
lulus = (tarikan == 0) | (tarikan == 2)

print(f"Frekuensi lulus       = {lulus.mean():.4f}")
print(f"Frekuensi lulus|hadir = {lulus[hadir].mean():.4f}")
text Keluaran
P(lulus)             = 0.5800
P(hadir penuh)       = 0.5000
P(lulus dan hadir)   = 0.3900
P(lulus|hadir) rumus = 0.7800
P(lulus|hadir) tabel = 0.7800
P(hadir|lulus) tabel = 0.6724
Frekuensi lulus       = 0.5801
Frekuensi lulus|hadir = 0.7803

Frekuensi relatif 0.5801 dan 0.7803 menempel pada nilai teoretis 0.58 dan 0.78. Baris P(hadir|lulus) tabel bernilai 0.6724, berbeda dari 0.78 karena pembatasnya kolom lulus, bukan baris hadir. Perbedaan semacam ini menjadi pengingat bahwa arah syarat ikut menentukan hasil.

Baris P(lulus dan hadir) bernilai 0.39 adalah peluang gabungan, bukan peluang bersyarat. Irisan dua kejadian tidak pernah melebihi masing-masing kejadiannya, sehingga hubungan P(A∩B)≤min⁡(P(A),P(B))P(A \cap B) \leq \min(P(A), P(B)) menjadi pemeriksaan cepat bagi setiap tabel. Nilai 0.39 memang tidak melebihi 0.58 maupun 0.5.

Kesalahan umum#

Kesalahan pada peluang bersyarat jarang menghasilkan angka mustahil, tetapi arah syarat dan penyebutnya sering keliru. Dua pola berikut layak dijaga. Keduanya tampak wajar karena nilainya tetap berada pada rentang 0 sampai 1.

  • Membalik arah syarat. P(lulus∣hadir)=0.78P(\text{lulus} \mid \text{hadir}) = 0.78 sedangkan P(hadir∣lulus)=0.6724P(\text{hadir} \mid \text{lulus}) = 0.6724, dan keduanya berbeda karena pembatasnya berbeda. Perbaikannya adalah menuliskan kejadian syarat secara eksplisit sebelum menghitung.
  • Memakai penyebut yang salah. Nilai P(lulus dan hadir)=0.39P(\text{lulus dan hadir}) = 0.39 bukan peluang bersyarat karena belum dibagi P(hadir)=0.5P(\text{hadir}) = 0.5. Perbaikannya adalah memastikan penyebutnya peluang kejadian syarat, bukan total keseluruhan.

Kedua pola tersebut dapat dicegah dengan satu kebiasaan, yaitu menyebutkan ruang sampel yang sedang dipakai. Apabila perhitungan berada pada baris atau kolom tertentu dari tabel, tuliskan pembatasnya bersama hasilnya. Kebiasaan kecil itu membuat setiap angka dapat ditelusuri kembali ke tabel asalnya.

Ringkasan#

  • Peluang bersyarat P(A∣B)=P(A∩B)/P(B)P(A \mid B) = P(A \cap B)/P(B) membatasi perhitungan pada bagian ruang sampel yang memenuhi syarat BB.
  • Pada tabel kontingensi, peluang bersyarat dibaca sepanjang baris atau kolom syaratnya, bukan dari total keseluruhan.
  • Pada data contoh, P(lulus)=0.58P(\text{lulus}) = 0.58 naik menjadi P(lulus∣hadir)=0.78P(\text{lulus} \mid \text{hadir}) = 0.78, dan pensampelan acak memperlihatkan frekuensi yang selaras.
  • Nilai P(A∣B)P(A \mid B) dan P(B∣A)P(B \mid A) umumnya berbeda karena pembatasnya berbeda.

Referensi#