C.W.K.
Stream
Lesson 03 of 06 · published

의료 False Positive: HIV, 유방촬영, 그리고 시민 패닉

~12 min · medical, false-positive, hiv, mammogram, screening

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"희귀 병에 대한 양성 검사가 *보통 생각하는 것을 의미하지 않아*. *수학은 간단*; *시민 패닉은 보편적*."

설정

*인구의 1,000 명에 1 명이 걸리는 병 가정*. *병 검사가 *99% 민감도 (P(양성 | 병) = 0.99) 와 95% 특이도 (P(음성 | 건강) = 0.95, *그래서 false-positive 율이 5%*)*. *양성으로 나왔다고 해보자*. *시민 본능*: *'검사가 99% 정확하니 거의 확실히 가짐'*. *베이즈 답*: *약 2%*.

계산

*인구에서 100,000 명 상상*. *약 100 명이 병 가짐*; *약 99,900 명이 안 가짐*. *검사 적용*:

  • *병자 100 중 99 가 옳게 양성 (99% 민감도)*.
  • *건강한 99,900 중 ~4,995 가 거짓 양성 (5% false-positive 율)*.

*총 양성: ~5,094*. *그중 *오직 99 만이 실제로 병*. *P(병 | 양성) ≈ 99 / 5,094 ≈ 1.94%*. *99% 아님*. *약 2%*.

*산수가 간단함*. *시민이 틀리는 이유는 *민감도 (P(양성 | 병)) 와 *posterior (P(병 | 양성)) 를 혼동*. *둘은 *반대 방향의 조건부 확률*, *베이즈 정리와 prior 로 관련됨*.

왜 이게 임상에서 중요한가

*일상 검진 권장이 *이 베이즈 현실에 튜닝됨*. *40세 미만 여성에 대한 유방촬영이 *유방암의 심각성에도 불구하고 일상적으로 권장 안 됨*, *prior 확률이 *양성 검진이 *실제 사례 잡는 것보다 더 많은 불안과 불필요한 생검을 생산할 만큼 충분히 낮아서*. *HIV 검진이 *고위험 그룹 (높은 prior) 에 권장되지만 일반 인구 (낮은 prior) 에는 같은 이유로 안 됨*.

*정책이 *'우리가 암 잡는 거 신경 안 씀' 이 아니야*. *'prior 주어지면, *검진 도구가 *이 인구 수준에서 *이익보다 더 많은 해를 생산'*. *정책을 *'의사들이 신경 안 씀' 으로 읽는 시민이 *정책이 세워진 베이즈 수학을 *오독*.

운영 원칙

*어떤 양성 검사 결과에든 물어*: *내 상황에서 그 조건의 *사전확률이 무엇*? *Prior 가 낮으면, *민감한 검사라도 *검사의 명목 정확도 훨씬 아래의 posterior 생산*. *검사 정확도가 likelihood*; *원하는 건 posterior*; *prior 가 다리*. *Prior 없이는, *검사 결과가 *검사에 대해 알려주지 *환자*에 대해 알려주지 않음*. *임상 대화에 수학 가져오는 게 *환자 행동을 직접 건강-개선 방식으로 바꿀 수 있는 몇 안 되는 곳 중 하나*.

Code

의료 false-positive 역설의 구체 표·python
# *고전적 의료 false-positive 사례에 대한 구체 숫자*.
N_population = 100_000
base_rate = 0.001              # 1,000에 1 이 병
sensitivity = 0.99             # P(+ | 병)
specificity = 0.95             # P(- | 건강)
false_pos_rate = 1 - specificity

sick = int(N_population * base_rate)
healthy = N_population - sick
true_positives = int(sick * sensitivity)
false_positives = int(healthy * false_pos_rate)
total_positives = true_positives + false_positives

print(f"인구:                       {N_population:>8,}")
print(f"실제 병:                    {sick:>8,}")
print(f"실제 건강:                  {healthy:>8,}")
print(f"True positives (병 + +):     {true_positives:>8,}")
print(f"False positives (건강 + +):  {false_positives:>8,}")
print(f"총 양성:                    {total_positives:>8,}")
print(f"\nP(병 | 양성) = {true_positives} / {total_positives} = {true_positives / total_positives:.4f}")
print(f"주목: *검사가 99% 정확하지만, posterior 가 ~2% 뿐*.")

External links

Exercise

*(또는 가까운 사람이) 만날 수 있는 검진이나 진단 검사 하나 고르기* (유방촬영, 전립선 검진, COVID 검사, 식이 알러지 panel). *찾거나 추정*: *(1) 본인 인구통계의 조건 base rate; *(2) 검사의 민감도; *(3) 검사의 특이도*. *Posterior P(조건 | 양성) 계산*. 그러고 나서 물어: *민감도 대신 posterior 를 안다면 다르게 행동할까*? *대부분 사람이 그럴 것*.
Hint
*민감도와 특이도가 광고됨*; *base rate 가 숨겨짐*. *어떤 양성 결과에 대해 추론하기 전에 *본인 인구통계의 base rate 찾아봐*.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.