베이즈 정리 계산기 쉽게 이해하기 — 개념과 원리
베이즈 정리는 새로운 증거가 생겼을 때 확률을 고쳐 계산하는 방법입니다. 대표적인 예는 진단·선별 검사입니다. 질환이 얼마나 흔한지(사전확률), 검사가 질환을 얼마나 잘 잡아내는지(민감도), 질환이 없는데 양성이 나오는 비율(위양성률)을 알 때, 양성 판정을 받은 사람이 실제로 질환이 있을 확률을 구합니다. 스팸 필터, 품질 검사, 이상 거래 탐지에도 같은 논리가 쓰입니다.
계산 방법
A를 "질환이 있음", B를 "검사 양성"이라 하고 세 값을 백분율로 입력합니다.
- P(B) = P(B|A)·P(A) + P(B|A가 아님)·(1 − P(A)): 양성이 나올 전체 확률
- P(A|B) = P(B|A)·P(A) ÷ P(B): 양성 예측도
- P(A|B가 아님) = P(A)·(1 − P(B|A)) ÷ (1 − P(B)): 음성인데 질환이 있을 확률
원리
같은 교집합을 두 가지로 쓰면 P(A ∩ B) = P(B|A)·P(A) = P(A|B)·P(B)이고, 양변을 P(B)로 나누면 베이즈 정리가 됩니다. "A가 참일 때 이런 증거가 나올 확률"을 "이런 증거가 나왔을 때 A가 참일 확률"로 뒤집는 것입니다. 핵심은 양성이 두 집단에서 나온다는 점입니다. 질환이 있는 소수의 진양성과 질환이 없는 다수의 위양성입니다. 질환이 드물면 검사가 좋아도 위양성 쪽이 훨씬 많아질 수 있습니다.
예제 풀이
기본값(사전확률 1%, 민감도 90%, 위양성률 5%)으로 10,000명을 생각해 봅니다.
- 질환이 있는 사람: 100명, 그중 90%인 90명이 양성입니다.
- 질환이 없는 사람: 9,900명, 그중 5%인 495명이 양성입니다.
- P(B) = (90 + 495) ÷ 10,000 = 5.85%
- P(A|B) = 90 ÷ 585 = 15.38%로, 양성 6~7명 중 1명만 실제 환자입니다.
- 음성 9,415명 중 놓친 환자는 10명이므로 P(A|B가 아님) = 10 ÷ 9,415 = 0.11%입니다.
| P(B|A가 아님) — 위양성률 (%) | P(A|B) |
|---|---|
| 1.25 | 42.11% |
| 2.5 | 26.67% |
| 3.75 | 19.51% |
| 5 | 15.38% |
| 6.25 | 12.7% |
| 7.5 | 10.81% |
| 10 | 8.33% |
결과 해석
P(A|B)는 사전확률에 크게 좌우됩니다. 같은 검사라도 사전확률이 10%이면 P(A|B) = 9 ÷ 13.5 ≈ 66.7%가 됩니다. 드문 질환의 선별검사에서 양성이 나오면 더 특이적인 확진 검사를 하는 이유, 고위험군에서 같은 검사 결과가 더 큰 의미를 갖는 이유가 여기에 있습니다. P(A|B가 아님)은 음성 결과를 얼마나 믿고 안심할 수 있는지를 보여 줍니다.
흔한 실수
- 기저율을 무시하고 민감도 90%를 "질환일 확률 90%"로 읽는 경우
- 위양성률과 특이도를 혼동하는 경우. 특이도는 1 − 위양성률(예제에서 95%)입니다.
- P(B|A)와 P(A|B)를 뒤바꾸는 경우
자주 묻는 질문
두 번 연속 양성이면 확률이 얼마나 되나요?
두 검사가 독립이라면 첫 결과(15.38%)를 새 사전확률로 놓고 다시 계산합니다. 같은 검사라면 약 76.6%가 됩니다.
민감도와 양성 예측도는 어떻게 다른가요?
민감도는 P(양성|질환)으로 검사 자체의 성질이고, 양성 예측도는 P(질환|양성)으로 질환의 유병률에도 좌우됩니다.
가설이 셋 이상이어도 쓸 수 있나요?
가능합니다. P(Aᵢ|B) = P(B|Aᵢ)P(Aᵢ) ÷ Σⱼ P(B|Aⱼ)P(Aⱼ)로 계산합니다.
출처: Sheldon M. Ross, A First Course in Probability, Pearson · Gerd Gigerenzer, Calculated Risks, Simon & Schuster