Conditional Probability & Bayes’ Theorem

Updating Beliefs with Evidence

NoteWhy This Matters for Your Work

Bayes’ theorem bukan hanya teorema probabilitas — ini adalah model dari cara kita berpikir secara rasional di bawah uncertainty.

Dalam pekerjaan sehari-hari kamu: - Bayesian statistics: seluruh framework-nya berdiri di atas \(P(\theta | \text{data}) \propto P(\text{data}|\theta) \cdot P(\theta)\) - Naive Bayes classifier: asumsi conditional independence memungkinkan komputasi yang efisien - Posterior inference: di variational autoencoders, MCMC, dan probabilistic programming - Causal inference: conditioning dan do-calculus bekerja di atas conditional probability - Model selection: Bayes factors membandingkan \(P(\text{data}|M_1)\) vs \(P(\text{data}|M_2)\)

Conditional probability juga adalah framework untuk memahami dependence — kenapa kovariat berubah informasi tentang outcome, kenapa conditioning on collider itu berbahaya, kenapa spurious correlations muncul.


1 1. Conditional Probability

1.1 Definisi

Conditional probability dari \(A\) given \(B\) (probabilitas \(A\) terjadi, diketahui bahwa \(B\) sudah terjadi):

ImportantDefinisi: Conditional Probability

\[P(A|B) = \frac{P(A \cap B)}{P(B)}, \qquad \text{untuk } P(B) > 0\]

Interpretasi: Kita “restrict” sample space kita ke \(B\) (karena kita tahu \(B\) terjadi), lalu ukur proporsi di mana \(A\) juga terjadi.

Properti: \(P(\cdot | B)\) adalah probability measure yang valid — memenuhi semua Kolmogorov axioms di sample space yang dibatasi \(B\).

Contoh sederhana: Lempar dua dadu. \(B\) = “jumlah genap”, \(A\) = “dadu pertama = 3”. Tanpa conditioning, \(P(A) = 6/36 = 1/6\). Dengan conditioning: - \(P(B) = 18/36 = 1/2\) (dari 36 kemungkinan, 18 berjumlah genap) - \(P(A \cap B)\): dadu pertama = 3, jumlah genap → dadu kedua harus ganjil (1, 3, 5) → 3/36 - \(P(A|B) = (3/36)/(18/36) = 3/18 = 1/6\)

Di sini \(A\) dan \(B\) ternyata independent (P(A|B) = P(A)). Tapi tidak selalu begitu.

1.2 Multiplication Rule

Dari definisi conditional probability:

\[\boxed{P(A \cap B) = P(A|B) \cdot P(B) = P(B|A) \cdot P(A)}\]

1.3 Chain Rule (General Multiplication Rule)

Untuk \(n\) events:

\[P(A_1 \cap A_2 \cap \cdots \cap A_n) = P(A_1) \cdot P(A_2|A_1) \cdot P(A_3|A_1, A_2) \cdots P(A_n|A_1, \ldots, A_{n-1})\]

Contoh: Dalam deck 52 kartu, tarik 3 kartu tanpa replacement. Probabilitas semua As? \[P(\text{A}_1 \cap \text{A}_2 \cap \text{A}_3) = \frac{4}{52} \cdot \frac{3}{51} \cdot \frac{2}{50} = \frac{24}{132{,}600} \approx 0.000181\]


2 2. Independence

2.1 Definisi

ImportantDefinisi: Independence

Events \(A\) dan \(B\) dikatakan independent (ditulis \(A \perp B\)) jika salah satu dari kondisi berikut (semuanya ekuivalen):

\[A \perp B \iff P(A \cap B) = P(A) \cdot P(B)\] \[\iff P(A|B) = P(A) \quad [\text{jika } P(B) > 0]\] \[\iff P(B|A) = P(B) \quad [\text{jika } P(A) > 0]\]

Artinya: mengetahui \(B\) tidak mengubah probabilitas \(A\), dan sebaliknya.

Perhatian penting: Independence adalah property of events, bukan property dari outcomes itu sendiri. Dua events bisa independent atau dependent tergantung probability model yang kita pakai.

2.2 Pairwise vs. Mutual Independence

Ini adalah jebakan yang sering dilupakan!

Untuk tiga events \(A\), \(B\), \(C\): - Pairwise independence: \(A \perp B\), \(A \perp C\), \(B \perp C\) (3 kondisi) - Mutual independence: \(P(A \cap B \cap C) = P(A)P(B)P(C)\), PLUS semua pairwise (4 kondisi total)

Pairwise independence TIDAK menjamin mutual independence!

Contoh klasik: Lempar 2 koin. \(A\) = “koin 1 Heads”, \(B\) = “koin 2 Heads”, \(C\) = “keduanya sama”. Bisa ditunjukkan: \(A \perp B\), \(A \perp C\), \(B \perp C\), tapi \(P(A \cap B \cap C) = 1/4 \neq P(A)P(B)P(C) = 1/8\). Mereka pairwise independent tapi NOT mutually independent.

2.3 Conditional Independence

ImportantDefinisi: Conditional Independence

\(A\) dan \(B\) conditionally independent given \(C\) (ditulis \(A \perp B | C\)) jika: \[P(A \cap B | C) = P(A|C) \cdot P(B|C)\]

Ekuivalen: \(P(A|B,C) = P(A|C)\) — mengetahui \(B\) tidak menambah informasi tentang \(A\) jika kita sudah tahu \(C\).

Conditional independence dan marginal independence bisa berlawanan!

  • \(A\) dan \(B\) mungkin marginally dependent, tapi conditionally independent given \(C\) (conditioning “explains away” dependence)
  • \(A\) dan \(B\) mungkin marginally independent, tapi conditionally dependent given \(C\) (conditioning on collider membuat dependence!)
CautionConnection: Naive Bayes Classifier

Naive Bayes mengasumsikan semua features \(X_1, \ldots, X_p\) conditionally independent given class \(Y\): \[P(X_1, \ldots, X_p | Y = c) = \prod_{j=1}^p P(X_j | Y = c)\]

Asumsi ini “naive” karena dalam praktik features sering saling correlated. Tapi ini membuat komputasi tractable dan sering bekerja surprisingly well dalam practice.

Dengan Bayes’ theorem: \[P(Y = c | X_1, \ldots, X_p) \propto P(Y = c) \prod_{j=1}^p P(X_j | Y = c)\]


3 3. Law of Total Probability

Jika \(B_1, B_2, \ldots, B_n\) adalah partisi dari \(\Omega\) (pairwise disjoint, union = \(\Omega\)), maka untuk event \(A\) apapun:

ImportantDefinisi: Law of Total Probability

\[P(A) = \sum_{i=1}^n P(A|B_i) \cdot P(B_i)\]

Intuisi: “Decompose” event \(A\) berdasarkan partition. \(A\) terjadi melalui salah satu “path” \(B_i\), dan kita weight setiap path dengan probabilitasnya.

Contoh: Tes diagnostik. \(D\) = “punya penyakit”, \(D^c\) = “tidak punya penyakit”. Mereka membentuk partisi. Event \(+\) = “tes positif”: \[P(+) = P(+|D)P(D) + P(+|D^c)P(D^c)\]

Ini adalah total probability of a positive test, menggabungkan true positives dan false positives.


4 4. Bayes’ Theorem

Ini adalah salah satu hasil paling profound dalam matematika dan ilmu pengetahuan:

ImportantDefinisi: Bayes’ Theorem

Jika \(B_1, \ldots, B_n\) partisi \(\Omega\) dan \(P(A) > 0\):

\[\boxed{P(B_i|A) = \frac{P(A|B_i) \cdot P(B_i)}{\sum_j P(A|B_j) P(B_j)} = \frac{P(A|B_i) \cdot P(B_i)}{P(A)}}\]

Komponen: - Prior \(P(B_i)\): belief kita tentang \(B_i\) sebelum melihat data - Likelihood \(P(A|B_i)\): probabilitas data \(A\) terjadi, given hypothesis \(B_i\) - Posterior \(P(B_i|A)\): belief kita tentang \(B_i\) setelah melihat data - Marginal likelihood \(P(A)\): normalizing constant, juga disebut “evidence”

Cara ingat: Posterior \(\propto\) Likelihood \(\times\) Prior. (Normalizing constant akan “fix” proporsinya menjadi probabilitas yang valid.)


5 5. Worked Example 1: Medical Diagnostic Test

Skenario: Kamu sedang mengevaluasi sebuah tes diagnostik untuk penyakit langka.

Diketahui: - \(P(D) = 0.01\) — prevalensi penyakit di populasi (prior, base rate) - \(P(+|D) = 0.95\)sensitivity: jika punya penyakit, 95% tes positif - \(P(+|D^c) = 0.05\)false positive rate: jika tidak punya penyakit, 5% tes positif (jadi specificity = 95%)

Pertanyaan: Jika seseorang tes positif, berapa probabilitas dia benar-benar punya penyakit?

Solusi dengan Bayes’ theorem:

Step 1: Hitung marginal probability of positive test (Law of Total Probability): \[P(+) = P(+|D)P(D) + P(+|D^c)P(D^c)\] \[= 0.95 \times 0.01 + 0.05 \times 0.99 = 0.0095 + 0.0495 = 0.059\]

Step 2: Apply Bayes’ theorem: \[P(D|+) = \frac{P(+|D)P(D)}{P(+)} = \frac{0.95 \times 0.01}{0.059} = \frac{0.0095}{0.059} \approx 0.161\]

Hanya 16.1% probabilitas punya penyakit, meskipun tes positif!

Ini counterintuitive bagi banyak orang. Kenapa? Karena base rate sangat rendah (1%), dan false positives jauh lebih banyak dari true positives secara absolut.

p_disease <- 0.01
p_pos_given_disease <- 0.95     # sensitivity
p_pos_given_no_disease <- 0.05  # false positive rate
p_no_disease <- 1 - p_disease

# Law of total probability
p_pos <- p_pos_given_disease * p_disease +
         p_pos_given_no_disease * p_no_disease

# Bayes' theorem
p_disease_given_pos <- (p_pos_given_disease * p_disease) / p_pos

cat("P(Disease | Positive test):", round(p_disease_given_pos, 4), "\n")
P(Disease | Positive test): 0.161 
cat("Ini berarti dari 1000 orang yang tes positif,")
Ini berarti dari 1000 orang yang tes positif,
cat("\nhanya sekitar", round(p_disease_given_pos * 1000), "yang benar-benar sakit!\n")

hanya sekitar 161 yang benar-benar sakit!
# Visualisasi: Natural frequency approach
cat("\n--- Natural Frequency Approach (per 10,000 orang) ---\n")

--- Natural Frequency Approach (per 10,000 orang) ---
n <- 10000
n_disease <- n * p_disease               # 100 orang sakit
n_no_disease <- n * p_no_disease         # 9,900 orang sehat

tp <- n_disease * p_pos_given_disease    # true positives: 95
fp <- n_no_disease * p_pos_given_no_disease  # false positives: 495

cat("Sakit DAN tes positif (True Positive):", tp, "\n")
Sakit DAN tes positif (True Positive): 95 
cat("Tidak sakit DAN tes positif (False Positive):", fp, "\n")
Tidak sakit DAN tes positif (False Positive): 495 
cat("Total yang tes positif:", tp + fp, "\n")
Total yang tes positif: 590 
cat("PPV (Positive Predictive Value):", round(tp/(tp+fp), 4))
PPV (Positive Predictive Value): 0.161

Tabel kontigensi (per 10,000 orang):

Tes Positif Tes Negatif Total
Punya Penyakit 95 (TP) 5 (FN) 100
Tidak Punya 495 (FP) 9,405 (TN) 9,900
Total 590 9,410 10,000

Pelajaran: Saat base rate rendah, bahkan tes dengan sensitivity dan specificity tinggi punya Positive Predictive Value (PPV) yang rendah. Ini relevan untuk understanding false discovery rates dalam statistical testing!


6 6. Worked Example 2: Bayesian Update dengan Beta Prior

Skenario: Kamu ingin mengestimasi probabilitas \(\theta\) bahwa sebuah koin memberikan kepala. Kamu punya prior \(\theta \sim \text{Beta}(2, 2)\) (slight preference for fair coin, tapi tidak terlalu strong).

Setelah observe 8 heads dari 10 flips, bagaimana belief kamu berubah?

Model: - Prior: \(\theta \sim \text{Beta}(\alpha_0, \beta_0) = \text{Beta}(2, 2)\) - Likelihood: Data \(X|\theta \sim \text{Binomial}(10, \theta)\), observe \(X = 8\)

Bayesian update (Beta-Binomial conjugacy):

\[P(\theta | X=8) \propto P(X=8|\theta) \cdot P(\theta)\] \[\propto \theta^8 (1-\theta)^2 \cdot \theta^{2-1}(1-\theta)^{2-1}\] \[= \theta^{8+2-1}(1-\theta)^{2+2-1} = \theta^{9}(1-\theta)^{3}\]

Ini adalah kernel dari \(\text{Beta}(10, 4)\)! Jadi:

\[\theta | X=8 \sim \text{Beta}(\alpha_0 + 8, \beta_0 + 2) = \text{Beta}(10, 4)\]

Update rule: \(\alpha_{\text{posterior}} = \alpha_{\text{prior}} + \text{heads}\), \(\beta_{\text{posterior}} = \beta_{\text{prior}} + \text{tails}\).

theta <- seq(0, 1, length.out=1000)

# Prior: Beta(2,2)
prior <- dbeta(theta, 2, 2)

# Likelihood: Binomial(10, theta), observe 8 heads
# (unnormalized)
likelihood <- dbinom(8, size=10, prob=theta)

# Posterior: Beta(10,4) -- conjugate update
posterior <- dbeta(theta, 10, 4)

# Plot
plot(theta, posterior, type='l', col='#7C3AED', lwd=2.5,
     xlab=expression(theta), ylab="Density",
     main="Bayesian Update: Beta-Binomial",
     ylim=c(0, max(posterior)*1.1))
lines(theta, prior / max(prior) * max(posterior) * 0.6,
      col='gray60', lwd=2, lty=2)  # scaled for visibility
legend("topright",
       legend=c("Prior: Beta(2,2)", "Posterior: Beta(10,4)"),
       col=c("gray60", "#7C3AED"), lwd=2, lty=c(2,1))

# Posterior statistics
alpha_post <- 10; beta_post <- 4
cat("Posterior mean:", alpha_post / (alpha_post + beta_post), "\n")
Posterior mean: 0.7142857 
cat("Posterior mode (MAP):", (alpha_post-1)/(alpha_post+beta_post-2), "\n")
Posterior mode (MAP): 0.75 
cat("95% Credible Interval:",
    round(qbeta(0.025, alpha_post, beta_post), 3), "to",
    round(qbeta(0.975, alpha_post, beta_post), 3))
95% Credible Interval: 0.462 to 0.909

Posterior mean = \(10/(10+4) = 0.714\) — berada antara prior mean \((2/4 = 0.5)\) dan MLE \((8/10 = 0.8)\).

Ini adalah shrinkage: Bayesian estimate di-shrink ke arah prior. Semakin kuat prior (relative to data), semakin besar shrinkage.


CautionConnection: Bayesian Regression

Dalam Bayesian linear regression:

\[y | X, \beta \sim \mathcal{N}(X\beta, \sigma^2 I) \quad \text{(likelihood)}\] \[\beta \sim \mathcal{N}(0, \tau^2 I) \quad \text{(prior)}\]

Posterior adalah: \[\beta | y, X \propto \exp\left(-\frac{1}{2\sigma^2}\|y - X\beta\|^2\right) \exp\left(-\frac{1}{2\tau^2}\|\beta\|^2\right)\]

MAP estimate (mode of posterior) adalah: \[\hat{\beta}_{\text{MAP}} = \arg\max_\beta \left[-\frac{1}{2\sigma^2}\|y - X\beta\|^2 - \frac{1}{2\tau^2}\|\beta\|^2\right]\]

Ini identik dengan Ridge regression! Regularization term \(\lambda\|\beta\|^2\) adalah log-prior, dan \(\lambda = \sigma^2/\tau^2\).

Jadi Ridge regression dapat diinterpretasikan sebagai MAP estimation dengan Gaussian prior pada coefficients.


Soal 1 — Drug Test: Sebuah perusahaan menguji karyawan untuk drug use. Drug use rate di populasi = 5%. Test sensitivity = 0.90, specificity = 0.95. Seorang karyawan tes positif. Berapa probabilitas dia memang pengguna narkoba?

Solusi 1: - \(P(D) = 0.05\), \(P(+|D) = 0.90\), \(P(+|D^c) = 0.05\) - \(P(+) = 0.90(0.05) + 0.05(0.95) = 0.045 + 0.0475 = 0.0925\) - \(P(D|+) = 0.045/0.0925 \approx 0.486\)

Hanya 48.6%! Bahkan dengan tes yang cukup akurat, karena base rate rendah, hampir setengah dari positif adalah false positive.


Soal 2 — Sequential Updating: Seseorang tes positif di Soal 1. Mereka melakukan tes kedua (independent) dan juga positif. Berapa \(P(D|\text{dua tes positif})\)?

Solusi 2: Gunakan posterior dari Soal 1 sebagai prior baru! - Prior (setelah tes 1): \(P(D) = 0.486\), \(P(D^c) = 0.514\) - \(P(++|D) = P(+|D)^2 = 0.81\) (jika independent)

Atau langsung: - \(P(D|++)\propto P(++|D)P(D) = 0.90^2 \times 0.05 = 0.0405\) - \(P(D^c|++)\propto P(++|D^c)P(D^c) = 0.05^2 \times 0.95 = 0.002375\) - Posterior: \(0.0405/(0.0405+0.002375) \approx 0.944\)

Dua tes positif meningkatkan probabilitas dari 48.6% ke 94.4%!


Soal 3 — Spam Filter: Email masuk. Data training: 30% email adalah spam. Di antara spam, “FREE” muncul di 60% kasus. Di antara non-spam, “FREE” muncul di 4% kasus. Email baru berisi “FREE”. Berapa P(spam | “FREE”)?

Solusi 3: - \(P(S) = 0.30\), \(P(\text{FREE}|S) = 0.60\), \(P(\text{FREE}|S^c) = 0.04\) - \(P(\text{FREE}) = 0.60(0.30) + 0.04(0.70) = 0.18 + 0.028 = 0.208\) - \(P(S|\text{FREE}) = 0.18/0.208 \approx 0.865\)

86.5% probabilitas spam! (Dan Naive Bayes classifier akan multiply likelihoods dari multiple words.)


7 Ringkasan

Konsep Formula
Conditional probability \(P(A\|B) = P(A \cap B)/P(B)\)
Multiplication rule \(P(A \cap B) = P(A\|B)P(B)\)
Independence \(P(A \cap B) = P(A)P(B)\)
Conditional independence \(P(A \cap B\|C) = P(A\|C)P(B\|C)\)
Law of total probability \(P(A) = \sum_i P(A\|B_i)P(B_i)\)
Bayes’ theorem \(P(B\|A) = P(A\|B)P(B)/P(A)\)

Insight kunci: Bayes’ theorem memformalisasi bagaimana kita seharusnya mengupdate beliefs saat melihat evidence. Prior \(\times\) Likelihood \(\propto\) Posterior.

Next: Random Variables →