2020/02/23 00:13

민감도(sensitivity)와 특이도(specificity), 위양성(false positive)과 위음성(false negative) Views by Engineer


  요즘 코로나바이러스 때문에 전국이 흉흉하니, 그에 관해 언론에 가끔 등장하는 민감도(sensitivity)와 특이도(specificity)에 대해 (매우 간만에) 포스팅하죠.  (4/10 추가; 정확도는 맨 밑 ps.2. 부분에 있습니다)

  ==============

  어떤 질병 A에 대해, 특정한 검사법 a을 개발했다고 해 봅시다.  병 A는 검사 대상에 대해 유병률(병이 있는 비율)이 5%입니다.  즉 1000명을 기준할 때 950명은 병이 없고, 50명은 환자입니다.
  검사법 a를 이들 대상으로 실험했더니, 병 A에 대해 다음 결과가 나왔습니다.  사람 수는 마찬가지로 1000명 기준입니다.

    * 질병 없음; 90%(900명), 질병 있음; 10%(100)
    * 질병이 있는 사람 중 검사에서 병이 있다고 나온 사람; 0.5%(5)
    * 질병이 없는 사람 중 검사에서 병이 있다고 나온 사람; 9.5%(95)
    * 질병이 있는 사람 중 검사에서 병이 없다고 나온 사람; 4.5%(45)
    * 질병이 없는 사람 중 검사에서 병이 없다고 나온 사람; 85.5%(855)

  이 상황을 그림으로 정리하면, 아래 그림 1처럼 됩니다.
  

  질문 ] 이 새 검사법 a가 유효할까요, 아닐까요?














  정답 ] (이미 다 짐작하셨겠지만) 아닙니다.
     그 이유는, 이 검사법 a가 병 A를 갖고 있는 사람 50명 중 5명, 즉 10%만 잡아냈기 때문입니다.  이는 
    전체적으로 병이 있다고 판단한 비율이 10%인 데 비해 조금도 더 낫지 않기 때문입니다.  즉 눈 감고
    찍으나 마찬가지 결과니 검사법으로서 가치가 없죠.  

 즉 검사법이 가치가 있으려면, 전체에서 병으로 판단한 비율(이 사례에서는 10%, c+d)에 비해, 이 중 실제 병을 가진 사람의 비율(이 사례에서는 d/[b+d]=0.5/5=10%)이 훨씬 높아야 합니다.
  이제 민감도와 특이도를 정의할 수 있습니다.
 
  민감도(sensitivity); 위 중 후자, '전체 병자 중 검사에서 병이 있다고 나온 비율'로 정의합니다.  즉 s=d/(d+b)
  특이도(specificity); 반대로, '병이 없는 사람 중 검사에서 병이 없다고 나온 비율'로 정의합니다.  즉 p=a/(a+c)

  위 검사에서 민감도 s=0.5/5=10%, 특이도 p=85.5/95=90% 입니다.  설명했듯이 민감도가 너무 낮은 것만으로도 검사 방법으로는 가치가 거의 없죠.

  위의 식 s=d/(d+b), p=a/(a+c) 및 a+b+c+d=1, b+d=r(유병률)에서 계산하면, a~d를 s,p,r로 나타낼 수 있습니다.

  a (병도 없고 검사에서도 정상 판정) = p(1-r)
  b (병 있는데 검사에선 정상) = (1-s)r
  c (정상인데 검사에선 병 있음) = (1-p)(1-r)
  d (병 있고 검사에서도 병으로 판정) = sr

  여기서 민감도를 올리려면 b, 특이도를 올리려면 c가 작아야 합니다.  이들은 모두 '판단이 잘못된' 영역이며, 각각 다음처럼 부릅니다.

    b; 질병이 있는 사람 중 검사에서 병이 없다고 나온 사람의 비율 - 위음성(僞陰性; false negative; type II error)
    c; 질병이 없는 사람 중 검사에서 병이 있다고 나온 사람의 비율 - 위양성(僞陽性; false positive; type I error)

  전에도 썼는데, 아래 그림이 이해하기 쉽습니다. ㅎㅎ 


  당연하지만, 의학적 검사는 사람의 목숨이 달려 있기 때문에 1종 오류보다는 2종 오류(병이 있는데 없다고 나오는 문제)를 줄일 필요가 있습니다.  1종 오류는 검사에 들어간 시간 및 돈의 낭비로 그치지만, 2종 오류는 병이 깊어져도 대책 없이 방치하게 만들기 때문이죠.  즉 대개의 의학적 검사는 2종 오류를 가능한 한 최소화할 수 있도록 설계합니다.

  물론 위에서 설명했듯이 위양성과 위음성 가능성을 가능한 한 줄이면 되지 않냐고 생각할 수 있습니다만, 현실은 그리 간단하지 않습니다.  어느 종류의 단일 검사든지, 분석에서 나오는 주요한 한 가지(많아야 셋 정도) 특성을 이용하여 판단합니다.  하지만 여기에 영향을 주는 요소(noise)가 있게 마련입니다.
  의학적 검사를 예를 들면, 어느 병에서 특정 단백질이 혈액 중 농도가 더 올라간다고 해 봅시다.  이 단백질[1]의 농도를 올리는 원인은 여럿이 있을 수 있으며, 이들을 가려내야 합니다.  대개 문진이나 다른 정보를 이용해 다양한 원인 중 상당 부분을 배제할 수 있지만, 항상 전부 다 배제할 수는 없죠.  그래서 농도가 정상보다 눈에 띄게 높더라도, 해당 병이 원인이라고 100%라 단정할 수 없는 경우가 많습니다.  특히 사람 같은 생물들은 예외적인 개체도 많아서, 분명히 정상인데 해당 단백질의 농도가 병이 있다고 볼 정도로 높을 수 있죠. 

  이것을 그림으로 보면 아래와 같습니다.  정상 개체들의 단백질([1]처럼 '표지자'라 적습니다) 농도가 파란색, 병이 있는 개체들의 표지자 농도가 붉은색이라면, 정규 분포(normal distribution)를 가정하고 그리면 둘 사이에 겹치는 구간이 있을 것입니다.  검사에서 '병이 있다'고 판단할 경계를 I과 II 중 어디로 잡아야 할까요?

  당연히 100% 맞는 정답은 없습니다.  I로 끊으면, 정상 개체들이 너무 많이 포함됩니다(즉 1종 오류가 증가).  반대로 II로 끊으면 병이 있는 개체들이 잘려나가기 때문입니다(2종 오류의 증가).  즉, 위양성을 줄이려 시도하면 많은 경우 위음성이 증가합니다.

  이 딜레마를 해결하는 방법은, 다른 방법으로도 분석하여 해당 질병에 대한 표지자를 늘려 정확성을 증가시키는 것입니다.  따라서 1차 검사에서는 1종 오류가 크더라도 병이 있는 개체를 가능한 한 많이 포함시키는 방법을 선택하고, 2차 검사에서 병이 없는 (많은) 개체를 제거하는 방법을 쓰는 것이지요.  다시 말해 민감도가 높은 (병이 있는 전체 개체 중 검사에서 병이 있다고 선택된 비율이 높은) 방법을 1차 검사로 쓰고, 2차 검사에서는 특이도가 높은 (병이 없는 개체 중 병이 없다고 나오는 비율이 높은) 방법을 병용합니다.
  1차와 2차 검사가 각각 가져야 할 바람직한 특성은 아래와 같습니다.

  * 1차; 민감도 s가 높음
    - 많은 개체를 분석해야 하므로, 비용이 싸야 한다.  
    - 다음에 2차 검사를 할 가능성이 높으므로, 결과를 얻는 데 필요한 시간이 짧아야 한다.  
  * 2차; 특이도 p가 높음
    - 1차에서 분석 대상 개체를 줄였으므로, 비용은 다소 비싸도 된다.
    - 최종 검사에 가까우므로, 시간이 다소 걸리더라도 정확해야 한다.

  이런 특성 때문에, 1차 검사에서는 정상 개체가 많이 포함됩니다(1종 오류).  즉 1차 검사에서 병 가능성(양성)이 나오더라도 그 중 상당 개체는 실제 병이 없죠(음성).  이 위양성 개체를 2차 검사에서 걸러냅니다.

===========

  아무렇게나 적당한 예를 들어서 한 번 계산해 봅시다.  위처럼, 병 A는 검사 대상에 대해 유병률(병이 있는 비율)이 5%입니다.  즉 1000명을 기준할 때 950명은 병이 없고, 50명은 환자입니다.

  * 검사 a; 민감도 s=0.98, 특이도 p=0.90, 비용은 개체당 35,000원, 분석 시간 0.2hr
  * 검사 b; s 0.99, p 0.995, 비용 150,000원, 시간 16hr.  s와 p가 다 좋으므로 '더 좋은 검사'입니다.  
      대체로 더 좋은 쪽이 당연히 더 비싸게 마련이죠.

  먼저 1차 검사로 a, 2차 검사로 다른 장비에서 b를 시행하면, 결과는

  * 1차 검사에서 50명 중 한 명이 음성으로 나타남.  이 사람은 다시 검사를 안 받으므로 끝까지 위음성.  
     비용은 3500만원, 시간 총 200hr
  * 2차 검사는 144명만 진행.  최종 양성은 48.51명(1명은 음성 혹은 양성)이고, 비용 2160만원, 시간 2304hr.
  * 두 장비가 다르므로, 검사를 다 마치는 데는 2304hr면 됨 (why?)

  순서를 반대로 해 볼 수도 있죠.

  * 1차 검사에서 양성은 49.5명.  즉 위음성은 한 명이든지 없든지.  비용은 1.5억, 16000hr(=667 days).
  * 2차 검사는 54.25명만 진행.  최종 양성은 48.51명(1명은 음성 혹은 양성)으로 결과는 똑같음. (!!!!)

  즉 2차 검사는 아무 의미도 없고, 오히려 1차 검사에 비해 위음성을 한 명 더 늘린 구실밖에 못 했습니다.  이렇게 어이없는 결과가 나온 이유는, 검사 a가 종합적으로 성능이 더 떨어지기 때문에(s,p 값이 다 낮죠) 더 좋은 성능의 b보다 뒤에 하면 위음성을 추가하는 역할밖에 못 하죠. 게다가 분석 시간과 추가 비용....
  여기서 명확하듯이, 1차 검사는 민감도와 분석 시간, 비용이 생명입니다.  분석 기준을 바꿔서라도 민감도를 최대한 올려야 모든 병이 있는 개체를 잡아낼 수 있습니다.  반면 1차 검사에서 걸린 개체들에는 위양성이 꽤 많기 때문에, 이들을 잘 가려낼 정확한 도구가 필요하죠.

  漁夫

  ps. 현재 유행인 코로나바이러스처럼 시급하게 분석 방법을 setup할 경우, 민감도와 특이도를 정확히 알기란 꽤 어려울 수 있습니다.  부득이하게 검사에서 빠져나가는 개체도 있게 마련이죠... -.-
  ps.2. (4/10 추가) 처음 올릴 때는 '정확도(accuracy)'를 언급하지 않았습니다.  이 용어는 '검사가 참말을 할 확률'입니다.  즉 거짓말을 하는 경우는 위양성과 위음성 두 경우니까, 전체(1.00)에서 위양성과 위음성 확률을 빼면 되죠.
  아쉽게도 어떤 보도 자료들의 문맥을 보면 민감도, 특이도, 정확도 셋을 엄밀하게 구분하지 않더군요.  읽는 사람이 알아서 해석해야 합니다 -.-

[1] 이 단백질처럼, 병의 가능성을 알려 주는 물질을 표지자(marker)라 부릅니다.

핑백

덧글

  • kuks 2020/02/23 00:22 # 답글

    중국에서는 6차 검사까지 음성으로 나왔던 사례가 있는 걸 보면 이 문제가 골치를 썩이는 모양입니다.
    우리나라도 1차에서 양성으로 나왔다가 2차에서 음성으로 뒤바뀌는 사례도 있더군요.
  • 漁夫 2020/02/23 00:25 #

    이유는 여러 가지를 생각할 수 있는데 우선 두 가지가...

    1. setup 문제; 본문에서 언급했듯이 민감도와 특이도가 충분하지 못하면 '빠져 나가는' 양성 개체가 많죠.
    2. 분석 시점; 환자의 병이 진행하면서, 분석 대상(보통 항원이나 항체죠)의 농도도 바뀝니다.

    아직은 문제가 많을 수밖에요.
  • 2020/02/23 19:29 # 답글 비공개

    비공개 덧글입니다.
  • 2020/02/24 00:26 # 비공개

    비공개 답글입니다.
  • 2020/02/24 22:32 # 비공개

    비공개 답글입니다.
  • 2020/02/24 23:24 # 비공개

    비공개 답글입니다.
  • 아일랑 2020/03/17 13:09 # 삭제 답글

    그럼 현재 코로나키트는 1차검사만 이루어지는 형태인거죠?
    한번 코로나 양성진단 받은 사람의 몸에 시간의 흐름에 따라 생성된 항체로 인해서 위양성이 나올 가능성도 있겠네요..?
    이런 위양성 오류를 확인하려면 2차진단을 해야되는데 현재로서는 방법이 없는게 맞나요?
  • 漁夫 2020/03/18 22:07 #

    검사 방법 포스팅을 보셨겠지만, 전적으로 '바이러스에서 유래한 RNA가 검출되는지'를 봅니다. 항체나 다른 방법이 있으면 좋겠으나, 감염자의 몸에서 항체가 생기는 데 시간이 꽤 오래(길게는 10일 정도까지) 걸리기 때문에 신속성이 매우 중요한 코로나19 검사에서는 사용하기 힘듭니다.

    항체는 당단백질이기 때문에, RNA를 검사하는 현재 검진 방법으로는 잡히지 않습니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


내부 포스팅 검색(by Google)

Loading

이 이글루를 링크한 사람 (화이트)

833

통계 위젯 (화이트)

169204
880
1247609