베이즈 정리의 응용

statistics
stats-simple
좋은 사례를 살펴보자
Author

JS HUHH

Published

January 6, 2025

TL; DR

베이즈 정리, 잘못 쓰지 않는 것도 중요하다.

베이즈 정리의 핵심

베이즈 정리는 조건부 확률을 다루는 데에 있어서 중요한 개념이다. 이는 두 사건 \(H, E\)에 대해 다음과 같이 정의된다. 여기서 \(H, E\)를 쓰는 이유는 다음과 같다. \(H\)는 hypothesis, \(E\)는 evidence를 의미한다.

\[\begin{align*} P(H|E) = \frac{P(E|H)P(H)}{P(E)} \end{align*}\]

식을 조금만 바뀌서 보자.

\[\begin{align*} P(H|E) = \underbrace{\frac{P(E|H)}{P(E)}}_{(*)} {P(H)} \end{align*}\]

이렇게 보면, \(E\)라는 새로운 증거가 주어졌을 때 가설 \(H\)가 맞을 확률 업데이트하는 일종의 룰이다. 이 룰을 보여주는 것이 \((*)\) 부분이다. \((*)\)을 직관적으로 이해하기는 쉽지 않다. \(P(E)=1\)을 가정한다면 \((*)\)는 H가 E에 미치는 영향력 정도로 볼 수 있다. 이를 기준으로 생각해보면 \(P(E)\)의 값이 줄어들수록 H가 E에 미치는 영향력이 커지게 된다.

많이 활용되는 흥미로운 예를 들어보자.

  • \(H\): “갑돌이가 범인”이라는 사법 기관의 결론
  • \(E\): 범행 현장의 유전자 감식 결과 갑돌이의 유전자로 확인된 증거

보통 유전자 감식의 정확도는 99.999999%라고 하자. 이때 정확도란 \(P(E|H)\)를 의미한다. 즉 갑돌이가 범인일 때 그의 유전자가 범행 현장에서 발견될 확률이다.

여기서 \(E\)라는 증거가 갑돌이를 범인으로 특정할 확률은 얼마나 될까? 베이즈 정리로 보면 갑돌이가 범인일 확률 \(P(H)\)가 밑에 깔린다. 증거에 따른 업데이트인 \((*)\)이 굉장히 큰 값이라고 해도, \(P(H)\)의 값이 충분히 0에 가깝다면 \(P(H|E)\)의 값은 여전히 작을 수 있다.

극단적인 예를 들어보자. 만일 갑돌이가 사건 발생 10년 전에 사망한한 인물이라면? 이때 \(P(A)\)는 0이다. 그렇다면 \(P(A|B)\)는 어떻게 될까? 위 식에서 보면, \((*)\)이 엄청나게 큰 값이라고 해도, 유한하다면, \(P(A|B)\)는 0이다.

고전적인 예시

  • \(H\): 어떤 질병에 감염되었다.
  • \(E\): 양성 판정이 나왔다.

우리가 알고 싶은 것은 \(P(H|E)\)이다. 이를 베이즈 정리로 계산해보자.

\[ P(H|E) = \frac{P(E|H)}{P(E)}P(H) \]

  • \(P(H)\): 1% (유병률)
  • \(P(E|H)\): 99% (이를 민감도라고 한다. 혹은 1-미탐율)
  • \(P(E|\neg H)\): 5% (이를 특이도라고 한다. 혹은 1-오탐율)
  • \(P(E)\): \(P(E|H)P(H) + P(E|\neg H)P(\neg H)\)
  • \(P(E)\): \(0.99 \times 0.01 + 0.05 \times 0.99 = 0.0594\)

이제 계산을 해보자.

\[ P(H|E) = \frac{0.99}{0.0594}0.01 = 0.167 \]

이 사례는 언술에 의한 조건부 확률과 실제 관심을 두어야 하는 조건부 확률이 다를 수 있음을 보여준다. 즉, \(P(E|H)\)이 높다고 해서 \(P(H|E)\)가 항상 높은 것은 아니다. 형사법의 정의는 어떤 진실 혹은 어떤 확률을 추구해야 할까? 보통 법정에서는 \(P(E|H)\)가 강하게 주장된다. 하지만 법적인 정의를 반영하는 것은 \(P(H|E)\)가 아닐까?

다른 경우를 하나 더 살펴보자. \(P(E) \approx P(H)\)라고 하자. 두 값이 서로 상쇄되어 \(P(H|E) = P(E|H)\)가 된다. 이 경우라면 \(P(H|E) \approx P(E|H)\)를 주장할 수 있다. 흥미로운 경우는 \(P(E)\), \(P(H)\)는 낮고, \(P(E|H)\)는 큰 경우다. 일반적으로 가설이 참일 확률(\(P(H)\))은 낮지만, 증거가 주어지면 가설이 참일 확률이 급격하게 높아진다. 이것이 베이즈 업데이트가 작동하는 방식이다.

베이즈 정리의 함정 I

톰 치버스의 “모든 것이 예측 가능하다”에 베이즈 정리를 쉽게 무기로 활용될 수 있는 사례를 소개하고 있다. 코로나19 유행을 가정한 시나리오이다. 코로나 면역을 검사할 수 있는 새로운 항체 검사가 등장했다고 하자. 두 검사의 민감도(sensitivity)와 특이도(specificity)는 모두 95%이다. 이 검사의 정확도 수치를 근거로 이런 주장을 펼칠 수 있다.

이 검사를 통해 면역을 지닌 것으로 확인된 사람에게는 면역 여권을 발행하고 통행의 자유를 보장하자!

맞는 말일까? 좀 따져보자. 그 전에 용어부터 정리하자.

민감도와 특이도

민감도는 실제로 양성인 사람을 양성으로 판정하는 비율이다. 특이도는 실제로 음성인 사람을 음성으로 판정하는 비율이다. 정의는 다음과 같다.

\[\begin{align*} \text{sensitivity} = \frac{\text{TP}}{\text{TP + FN}}\\ \text{specificity} = \frac{\text{TN}}{\text{TN + FP}} \end{align*}\]

식을 잘 보자. 민감도란 실제로 양성을 갖고 있는 존재(TP+FN) 중에서 양성으로 판정된 존재(TP)의 비율이다. 특이도는 실제로 음성을 갖고 있는 존재(TN+FP) 중에서 음성으로 판정된 존재(TN)의 비율이다. 그렇다면, 이 1에서 이 두 값을 뺀 수치는 어떻게 정의될까?

\[\begin{align*} \text{FN rate} & = 1 - \frac{\text{TP}}{\text{TP + FN}} = \frac{\text{FN}}{\text{TP + FN}}\\ \text{FP rate} & = 1 - \frac{\text{TN}}{\text{TN + FP}} = \frac{\text{FP}}{\text{TN + FP}} \end{align*}\]

민감도는 미탐률(false negative rate)과 연결되고, 특이도는 오탐률(false positive rate)과 연결된다.

가정

  • 검사 대상은 100 만명이다.
  • 면역력을 지닌 인구의 비율이 3%이다.

베이즈 정리를 실용적으로 잘 활용하는 방법은 확률을 빈도(frequency)로 바꾸는 것이다.

베이즈 정리 활용

  • 면역을 지닌 사람은 30,000 명이다.
  • 3만 명 중에서 95%인 28,500 명이 면역을 지닌 것(TP)으로 판정받는다.
  • 97만 명의 비면역자 중에서 5%인 48,500명이 면역을 지닌 것(FP)으로 판정된다.
  • 면역력이 있는 것으로 판정된 사람 7.7만 명 중에서 약 38%(\(\frac{\text{TP}}{\text{TP + FP}}\))만 진짜 면역자다.

여기서 활용된 지표는 정밀도(precision)이다. 정밀도는 양성 판정 중에서 실제 양성인 비율이다. 면역 검사 결과 양성 판정을 받았다고 자유로운 이동을 허락하는 것이 효과적인 방역 정책일까?

베이즈 정리의 함정 II

책에는 보다 교묘한 사례가 소개되어 있다. 이게 더 흥미롭다.

코로나 검사에서 양성이 나왔다고 해도 이는 오탐(false positive)일 가능성이 높다. 따라서 검사 결과의 양성 사례가 늘어난다고 해도 크게 긴장한 필요는 없다!

이 주장은 베이즈 정리를 활용하고 있다. 앞서 언급했듯이 베이즈 정리는 기저 확률에 크게 영향을 받는다. 위와 같이 어떤 주장의 중요성을 줄이고 싶다면 기저 확률을 크게 낮추면 된다.

가정

  • 전체 인구에서 코로나 감염자의 비율은 0.1%이다.
  • 민감도는 90%, 특이도는 99%이다.

베이즈 정리 활용

  • 100만 명을 검사한다고 하자.
  • 0.1% 감염자 비율에 따르면 실제 감염자는 1,000명이다.
    • 민감도에 따르면 900명이 양성으로 판정된다(TP).
  • 비감염자는 999,000명이다.
    • 특이도에 따르면 989,010명이 음성으로 판정된다(TN).
    • 양성 판정은 9,990명이다(FP).
  • 양성판정자(900+9,990) 중에서 실제 감염자는 900명이므로 이는 약 8.3%에 불과하다.

앞서의 주장은 이런 베이즈 계산에 근거한다. 타당성을 조금 더 살펴보자.

가정 재검토 I

  • 전체 인구 중 코로나19 감염자의 비율이 0.1%라는 주장이 맞다고 치자.
  • 하지만 검사자에 대해서도 그럴까? 검사자 100만 명을 무작위 추출한 것이라면 0.1%라고 봐도 좋다. 그러나 코로나 검사는 의심할 만한 맥락이 존재하는 경우에 받게 된다. 이 경우 감염자 비율이 0.1%보다 높을 가능성이 높다.
  • 이를 고려해서 100만 명 중에서 검염자가 1%라고 새롭게 가정하자.

변화된 가정 아래 베이즈 정리 활용

  • 감염자 중 양성판정자는 9,000명(TP)
  • 비감염자 중 양성판정자는 9,900명(FP)
  • 양성판정자(TP+FP) 중에서 거의 50%(\(\frac{\text{TP}}{\text{TP+FP}}\))가 실제 감염자이다.
  • 감염자가 10%라고 가정한다면?
    • 양성판정자의 약 90%가 감염자이다!

가정 재검토 II

  • 특이도가 99%라는 주장은 타당한가? 이는 오탐률이 1%라는 이야기이다.
  • 그런데 실제 데이터를 보면 전체 피검사자 중에서 양성이 나올 비율은 0.05%에 불과하다.
  • 오탐률이 이 숫자보다 클 수는 없다. 가능한 가장 큰 오탐률 0.05%를 가정하자. 이는 특이도가 99.95%라는 뜻이기도 하다.
  • 감염자 비율은 원래 값 0.1%를 가정하자.

변화된 가정 아래 베이즈 정리 활용

  • 감염자 1,000 명에서 민감도에 따라서 900 명이 양성 판정(TP)
  • 비감염자 999,000 명에 특이도(0.05%)를 곱하면 약 500명이 양성 판정(FP)
  • 양성 결과를 받은 사람 중에서 약 65%가 실제 감염자이다.