베이즈 추정은 때로 직감에 크게 반한다

객관적인 데이터를 사용할 때 주의할 점

암에 걸려있을 확률을 계산해보자

  • 객관적인 데이터를 이용해 생각하는 베이즈 추정으로 인해 거꾸로 오해에 빠지기 쉬울 수 있다는 것을 이해해야 한다
  • 의료 검사 결과 '○○병에 걸렸다/걸리지 않았다'라는 결과가 나왔다면 결과 옳은지 어떻게 판단해야 할까?
  • 예를 들어 '특정 암에 걸려 있다면 $95\%$의 확률로 양성이 나오는 검사'를 받은 결과 양성 판정이 나왔다고 하면 암에 걸려있을 확률이 $95\%$라고 판단해야 할까?
    • 정답은 '아니오'이다
    • '양성'이라는 결과로 부터 '암이다'라는 원인으로 거슬러 올라가는 추정이기에 전형적인 베이즈 추정의 예이다

베이즈 추정을 위한 예제

어느 특정 암에 걸릴 확률을 $0.1\%(0.001)$이라고 하자. 이 암에 걸렸는지를 진단하는 간이 검사가 있는데, 이 암에 걸려 있는 사람은 $95\%(0.95)$의 확률로 양성 진단을 받는다고 한다. 한편 건강한 사람이 양성으로 오진을 받은 확률은 $2\%(0.02)$이다. 그렇다면 이 검사에서 양성이라고 진단받았을 때 당신이 이 암에 걸려 있을 확률은 얼마나 될까?



1. 의료 데이터를 근거로 '사전 확률' 계산하기

  • 사전 확률 : 병에 걸려있는지에 대한 정보를 얻기 전의 확률
    • 암에 걸릴 확률 : $\mathsf{Pr}(\textrm{암에 걸릴 확률})=0.001(0.1\%)$
      • 암에 걸릴 확률이 $0.001$이기 때문에 검사를 받는 사람이 암에 걸려있을 확률을 $0.001$이라고 추정할 수 있다
    • 건강한 사람 : $\mathsf{Pr}(\textrm{건강한 사람})=1-\mathsf{Pr}(\textrm{암에 걸릴 사람})=1-0.001=0.999(99.9\%)$
      • 암에 걸지지 않을 확률이 $0.999$이기 때문에 검사를 받는 사람이 암에 걸리지 않고 건강한 확률은 $0.999$이라고 추정할 수 있다


2. 검사의 정밀도를 근거로 '조건부 확률' 구하기

  • 조건부 확률 : 병에 걸려있는지에 대한 정보를 얻은 후의 확률
    • 검사 결과로 나오는 '양성' 또는 '음성'이 정보에 해당된다
  • 검사 정밀도에 따른 조건부 확률은 다음과 같다
    • 이 검사는 완벽하지 않으며 오진의 위험이 있다는 것을 염두에 두어야 한다
    • 오진의 위험은 2가지
      • False Negatiive(위음성) : '암에 걸려있는 사람임에도 불구하고 암이 아니라고 진단하는 것'
      • False Positive(위양성) : '암이 걸리지 않은 건강한 사람임에도 불구하고 암이라고 진단하는 것'

종류

양성일 확률

음성일 확률

 합계

암에 걸린 환자

$0.95$

$0.05$

$1.0$

 건강한 사람

 $0.02$

$0.98$

$1.0$

 합계

 $0.97$

$1.03$

 


  • 위의 확률은 종류를 한정한 상태에서 각 검사 결과에 대한 조건부 확률로 그림으로 나타내면 다음과 같다
    • 원인 : 종류(암에 걸린 환자 또는 건강한 사람)
    • 결과 : 원인을 알고 있을 때 검사 결과의 확률


3. 검사 결과가 '양성'인 경우만 살펴보면 되기에 '음성'인 경우는 제외한다

  • 간이 검사의 결과로 '양성' 판정을 받은 상태이다
    • 즉, 검사 결과에 대한 '정보'를 관측하여 추가적인 정보를 얻은 상태
  • 검사 결과인 '음성'에 대한 정보는 제외하면 다음 그림처럼 나타낼 수 있다


  • 위의 2가지 경우에 대하여 정규화 조건을 만족하도록 만든다
    • 암이면서 양성인 경우와 건강하면서 양성인 경우를 합하면 $0.095\% + 1.998\% = 2.093\%$이기 때문에 다음과 같이 식을 정리할 수 있다
\begin{eqnarray} 0.095 : 1.998 &=& \frac{0.095}{2.093} : \frac{1.998}{2.093}\\ &\approx& 0.0454 : 0.9546 \end{eqnarray}

  • 따라서 최종적인 베이즈 사후 확률은 다음과 같다
\begin{eqnarray} \mathsf{Pr}(\textrm{검사 결과 양성} \mapsto \textrm{암에 걸린 사람}) &=& \frac{0.095}{2.093} &\approx& 0.0453893932154802\end{eqnarray}


4. 베이즈 추정 과정 정리

  1. 암인가 건강한가에 대한 사전 확률을 계산(역학 데이터 이용)
  2. 검사의 정밀도에 대한 조건부 확률을 계산(치료 데이터 이용)
  3. 검사 결과를 관측
  4. 음성일 가능성 제외
  5. 암과 건강에 대한 확률의 정규화
  6. 암일 사후 확률(베이즈 역확률)

5. 사후 확률을 통해 알 수 있는 것은?

  • 처음 문제였던 '$95\%$ 정밀도를 가진 암 검사에서 양성이 나온다면 $95\%$의 확률로 암인가?'에 대한 답은 부정적(0.045389)이다
  • 베이즈 사후 확률을 통해 $95\%$가 아니라 $4.5389\%$ 밖에 되지 않는다는 것을 알 수 있다
  • 사후 확률이 낮은 이유는?
    • 원래 암에 걸린 사람 자체가 드물다
    • 건강한 사람이 압도적으로 많을 뿐만아니라 건강한 사람을 '양성'으로 진단하는 사례 또한 무시할 수 없을 만큼 많다
  • 건강한데도 오진으로 '양성'이 나왔을 가능성이 압도적으로 높기 때문에 과도한 비관은 금물이지만 완전히 마음을 놓아도 될까?
    • 전혀 아니다
  • 사전 확률과 사후 확률의 갱신 과정은 다음과 같다
    1. 사전 확률 : $\mathsf{Pr}(\textrm{암에 걸렸을 확률})=0.001$
    2. 정보 획득 : 검사 결과 '양성'으로 판정
    3. 사후 확률 : $\mathsf{Pr}(\textrm{검사 결과 양성} \mapsto \textrm{암에 걸렸을 확률})\approx 0.045$
    • 아무런 정보가 없을 때 암에 걸렸을 확률은 $0.001$이었지만 검사 결과를 통한 정보('양성')를 근거로 사후 확률을 계산하면 약 $0.045$가 되어 약 $45$배가 증가했다는 것을 알 수 있다
    • 검사 결과를 보기 전에는 약 $1000$명 중에 $1$명 정도로 암에 걸린다고 추정하였지만 검사에서 양성이 나온 상태에서는 약 $20$명 중에 $1$명 꼴로 가능성이 높아졌기에 방치해도 되는 상태라고 볼 수 없다




연습 문제

  • 인플루엔자 유행 시기에 고열로 병원에 온 환자 중 인플루엔자에 걸린 환자의 비율이 $0.7$, 감기에 걸린 환자의 비율이 $0.3$이라고 하자. 인플루엔자 간이 키트로 검사했더니 '양성'과 '음성'의 비율은 다음 표와 같았다

종류

양성일 확률

음성일 확률

 합계

인플루엔자

$0.8$

$0.2$

$1.0$

인플루엔자가 아님

 $0.1$

$0.9$

$1.0$

 합계

 $0.9$

$1.1$

 


  • 이 때 인플루엔자 간이 키트 검사에서 양성이 나온 경우 인플루엔자일 확률, 음성으로 나온 경우 인플루엔자가 아닐 확률을 구하시오


1. 사전 확률 계산

  • 사전 확률 : 인플루엔자에 걸려있는지에 대한 정보를 얻기 전의 확률
    • 인플루엔자 환자일 확률 : $\mathsf{Pr}(\textrm{인플루엔자 환자})=0.7(70\%)$
    • 감기 환자일 확률 : $\mathsf{Pr}(\textrm{감기 환자})=1-\mathsf{Pr}(\textrm{인플루엔자 환자})=1-0.7=0.3(30\%)$

2. 조건부 확률 계산

  • 조건부 확률 : 인플루엔자 간이 키트 검사 결과로 정보를 얻은 후의 확률
  • 인플루엔자 간이 키트 정밀도에 의한 조건부 확률
    • $\mathsf{Pr}(\textrm{인플루엔자 환자} \mapsto \textrm{양성}) = 0.8$
    • $\mathsf{Pr}(\textrm{인플루엔자 환자} \mapsto \textrm{음성}) = 0.2$
    • $\mathsf{Pr}(\textrm{감기 환자} \mapsto \textrm{양성}) = 0.1$
    • $\mathsf{Pr}(\textrm{감기 환자} \mapsto \textrm{음성}) = 0.9$
  • 위의 조건부 확률을 환자의 종류로 한정한 조건부 확률 계산
    • $\mathsf{Pr}(\textrm{양성} \mapsto \textrm{인플루엔자 환자}) = 0.7\times 0.8 = 0.56$
    • $\mathsf{Pr}(\textrm{음성} \mapsto \textrm{인플루엔자 환자}) = 0.7 \times 0.2 = 0.14$
    • $\mathsf{Pr}(\textrm{양성} \mapsto \textrm{감기 환자}) = 0.3 \times 0.1 = 0.03$
    • $\mathsf{Pr}(\textrm{음성} \mapsto \textrm{감기 환자}) = 0.3 \times 0.9 = 0.27 $

3. '양성'인 인플루엔자 환자일 계산 : '음성'인 경우 제외하기

  • 검사 결과가 '음성'인 경우를 제외하면 다음과 같다
    • $\mathsf{Pr}(\textrm{양성} \mapsto \textrm{인플루엔자 환자}) = 0.7\times 0.8 = 0.56$
    • $\mathsf{Pr}(\textrm{양성} \mapsto \textrm{감기 환자}) = 0.3 \times 0.1 = 0.03$
  • 위의 두 식에 대하여 정규화 조건을 만족하도록 식을 변형하자
\begin{eqnarray} \mathsf{Pr}(\textrm{양성} \mapsto \textrm{인플루엔자 환자}) : \mathsf{Pr}(\textrm{양성} \mapsto \textrm{감기 환자}) &=& 0.56 : 0.03 \\ &=& \frac{0.56}{0.56+0.03} : \frac{0.03}{0.56+0.03}\\ &=&\frac{0.56}{0.59} : \frac{0.03}{0.59} \\ &=& \frac{56}{59}:\frac{3}{59}\end{eqnarray}

  • 베이즈 사후 확률
$$\mathsf{Pr}(\textrm{양성} \mapsto \textrm{인플루엔자 환자}) = \frac{56}{59} \approx 0.9491525423728814$$


4. '음성'인 인플루엔자 환자일 계산 : '양성'인 경우 제외하기

  • 검사 결과가 '음성'인 경우를 제외하면 다음과 같다
    • $\mathsf{Pr}(\textrm{음성} \mapsto \textrm{인플루엔자 환자}) = 0.7 \times 0.2 = 0.14$
    • $\mathsf{Pr}(\textrm{음성} \mapsto \textrm{감기 환자}) = 0.3 \times 0.9 = 0.27 $
  • 위의 두 식에 대하여 정규화 조건을 만족하도록 식을 변형하자
\begin{eqnarray} \mathsf{Pr}(\textrm{음성} \mapsto \textrm{인플루엔자 환자}) : \mathsf{Pr}(\textrm{음성} \mapsto \textrm{감기 환자}) &=& 0.14 : 0.27 \\ &=& \frac{0.14}{0.14+0.27} : \frac{0.27}{0.14+0.27}\\ &=&\frac{0.14}{0.41} : \frac{0.27}{0.41}\\ &=& \frac{14}{41} : \frac{27}{41}\end{eqnarray}

  • 베이즈 사후 확률
$$\mathsf{Pr}(\textrm{음성} \mapsto \textrm{인플루엔자 환자}) = \frac{14}{41} \approx 0.3414634146341463$$





출처 : 세상에서 가장 쉬운 베이트 통계학 입문

정보를 얻으면 확률이 바뀐다!

베이즈 추정으로 '구매 고객'과 '비구매 고객'을 판별하기

1단계 : 경험을 통해 '사전 확률'을 설정

  • 베이즈 통계학에서의 사전 확률(prior probability)
    • 사전(事前) : 어떤 정보가 들어오기 전을 의미
    • 정보를 통해 우리가 원하는 결과에 대한 판단을 할 수 있음
  • 사전 확률의 예
    • 고객의 행동을 관측하기 이전의 상태에서의 고객의 종류('구매 고객'과 '비구매 고객')를 구별하는 비율(확률)
  • 정보의 예
    • '고객이 말을 걸었다'는 것과 같은 추가적인 상황을 의미
    • '말을 걸었다'는 정보를 통해 고객의 종류에 대해 추측(판단)을 할 수 있게 됨
  • 사전 확률 설정하기
    • 사전 확률은 보통 경험에 근거해 설정
    • 고객의 종류에 대하여 비율(확률)을 수치화 해보자
    • 경험상 손님 5명 중 1명이 '구매 고객'이라면 '구매 고객'일 사전 확률은 $\mathsf{Pr}(\textrm{구매 고객})=0.2(20\%)$
      • '비구매 고객'일 사전 확률은 $\mathsf{Pr}(\textrm{비구매 고객})=1-0.2=0.8(80\%)$
      • 정규화(normalization) 조건 : 확률의 전체 합은 항상 $1$
    • 사전 분포(prior distribution) : 고객의 행동을 관측하기 이전의 시점에서 할당한 수치(비율)



2단계 : 고객의 종류별로 '말거는 행동'을 하는 '조건부 확률'을 설정

  • 경험이나 실험 등을 통해, 즉 통계적인 자료에 근거하여 다음과 같이 조건부 확률을 설정
    • 가로축의 합은 항상 $1$로 정규화 조건을 만족
    • 세로축의 합은 $1$이 아닐 수 있다!
      • 다른 종류의 고객에 대한 행동을 나타내고 있는 것이지 행동 전체를 표현하는 것이 아니다

고객의 종류

 말을 걸 확률

말을 걸지 않을 확률

 합계

 구매 고객

$0.9$

$0.1$

$1.0$

 비구매 고객

 $0.3$

$0.7$

$1.0$

 합계

 $1.2$

$8.8$

 



  • 조건부 확률을 수식과 그림으로 표현하면 다음과 같다
    • $\mathsf{Pr}(\textrm{말을 걸다} | \textrm{구매 고객})= \mathsf{Pr}(\textrm{구매 고객} \mapsto \textrm{말을 걸다}) = 0.9$
    • $\mathsf{Pr}(\textrm{말을 걸지 않다} | \textrm{구매 고객})= \mathsf{Pr}(\textrm{구매 고객} \mapsto \textrm{말을 걸지 않다})=0.1$
    • $\mathsf{Pr}(\textrm{말을 걸다} | \textrm{비구매 고객})= \mathsf{Pr}(\textrm{비구매 고객} \mapsto \textrm{말을 걸다})=0.3$
    • $\mathsf{Pr}(\textrm{말을 걸지 않다} | \textrm{비구매 고객})= \mathsf{Pr}(\textrm{비구매 고객} \mapsto \textrm{말을 걸지 않다})=0.7$



  • 위 그림에서 각각의 영역에 대한 확률은 아래 그림과 같이 계산할 수 있다.
    • 전체 영역의 확률값을 계산하면 $\mathrm{A}+\mathrm{B}+\mathrm{C}+\mathrm{D}=0.18+0.02+0.24+0.56=1$이다.


3단계 : 관측한 행동에서 '가능성이 없는 상황'을 제외한다

  • 이제 '고객이 말을 걸었다'는 상황에서 어떤 고객인지 추정을 해보자.
  • '고객이 말을 걸었다'는 것은 고객의 행동 한 가지를 관측해 추가적인 정보를 얻게 된 것이다.
  • 이 상황에서는 '고객이 말을 걸지 않는다'는 가능성은 없어졌다.
  • 따라서 이제 우리가 생각할 수 있는 경우는 위 그림에서 A 또는 C의 상황 뿐이기에 둘 중의 하나만 추정하면 된다.
  • 즉 '고객이 말을 걸은 경우' 대상 고객은 '구매를 한다' 또는 '구매하지 않는다' 2가지의 경우로 처음에 생각했던 4가지 상황에서 2가지 상황으로 줄어든다
  • 이로 인하여 우리의 추정에 대한 확률이 변하게 된다


4단계 : 정규화 과정을 통해 '구매 고객'에 대한 사후 확률을 계산한다

  • '고객이 말을 걸었다'는 행동을 관측한 상황이기에 A(구매 고객이 말을 건다) 또는 C(비구매 고객이 말을 건다)의 상황만이 남게 되었다
  • 이제 A와 C의 상황만 남게되었기에 A와 C의 확률을 계산해 합이 $1$이 되도록 정규화를 해야 한다
  • A와 C의 비율을 정리해 합이 $1$이 되도록 정리하면 확률을 구할 수 있게 된다

\begin{eqnarray}\mathrm{A}:\mathrm{C} &=& 0.18:0.24 \\ &=& 3:4 \\ &=& \frac{3}{7}:\frac{4}{7}\end{eqnarray}

  • 이제 앞에서 구한 조건부 확률에 대한 반대의 상황, 즉 '말을 건 고객이 구매할 확률'은 다음과 같이 추정할 수 있다.
\begin{eqnarray}\mathsf{Pr}(\textrm{말을 걸다} \mapsto \textrm{구매 고객}) = \frac{3}{7}\end{eqnarray}
  • 어떤 정보가 주어진 이후의 상황에 대한 확률을 베이즈 통계학에서 사후 확률(posterior probability) 또는 베이즈 역확률(Bayesian inverse probability)이라고 한다
    • '역확률'에서 '역'이라는 말의 의미는 지금까지 생각해왔던 상황과는 반대로 생각한다는 것
    • 고객이 어떤 행동(말을 걸거나 걸지 않는다)을 확률적으로 선택한다고 생각하고서 해석해 확률을 계산했다
    • 즉 어떤 원인(고객)으로 부터 결과(고객의 행동)가 일어난다고 해석한 것이다
    • 그러니 베이즈 통계학에서는 결과로부터 원인을 추론하는 것이기 때문에 '역'이라는 말을 사용하는 것이다
  • 말을 건 고객이 구매할 사후 확률이 $\frac{3}{7}=0.428\ldots$이지만 행동을 관측하지 않은 상태에서의 고객이 구매할 사전 확률은 $0.2$이다. 따라서 정보가 주어진 경우의 사후 확률이 정보가 주어지지 않은 사전 확률에 비해 2배가 넘게 높아진다는 것을 알 수 있다. 이렇게 확률이 높아지는 것을 베이즈 갱신(Bayesian update)라고 한다

이와 같은 과정을 통해 추론하는 것을 베이즈 추정(Bayesian inference)라고 한다

  • 베이즈 추정은 '사전 확률을 추가적인 정보를 통해 사후 확률로 베이즈 갱신하는 것'이라고 할 수 있다
  • 이러한 추정 방법 전체를 한데 묶어 베이즈 통계학(Bayesian statistics)라고 한다



출처 : 세상에서 가장 쉬운 베이트 통계학 입문

+ Recent posts