베이즈 정리의 응용

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

JS HUHH

Published

January 6, 2025

TL; DR

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

베이즈 정리의 핵심

베이즈 정리는 조건부 확률을 다루는 데에 있어서 중요한 개념이다. 이는 두 사건 A, B에 대해 다음과 같이 정의된다.

\[\begin{align*} P(A|B) = \frac{P(B|A)P(A)}{P(B)} \end{align*}\]

식을 조금만 바뀌서 보자.

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

이렇게 보면, \(B\)라는 새로운 사실이 주어졌을 때 \(P(A)\)를 업데이트하는 일종의 룰이다. 이 룰을 보여주는 것이 \((*)\) 부분이다.

간단한 예를 들어보자. \(A\)는 “갑돌이가 범인”이라는 사건이고, \(B\)는 범행 현장의 유전자 감식 결과 감돌이의 유전자가 식별된 사건이라고 하자. 보통 유전자 감식의 정확도는 99.999999%라고 하자. 이때 \(B\)라는 사건의 발생이 갑돌이가 범인일 확률을 얼마나 확정할까? 위 식에서 보면 애초에 갑돌이가 범인이 되는 사건의 확률 \(P(A)\)가 중요하다. 증거에 따른 업데이트 부분 \((*)\)이 굉장히 큰 값이라고 해도, \(P(A)\)의 값이 충분히 0에 가깝다면 \(P(A|B)\)의 값은 여전히 작을 것이다.

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

또 하나 기억해야 하는 사실이 있다. 당연하지만, \(P(A|B) \neq P(B|A)\)이다. 식으로 보면 자명하지만 자연어 진술 속에서는 의외로 이 사실이 무시되고는 한다.

베이즈 정리의 함정 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%가 실제 감염자이다.