연구관련/Bioinfo류

민감도와 특이도 (sensitivity and specificity)

adnoctum 2018. 3. 10. 09:56




   진단의 관점에서 민감도(sensitivity)는 질병이 있는 사람을 얼마나 잘 찾아 내는가에 대한 값이고 특이도(specificity)는 정상을 얼마나 잘 찾아 내는가에 대한 값이다. 즉, 민감도는 질병이 있는 사람을 질병이라고 진단하는 비율이고, 특이도는 정상을 정상이라고 진단하는 비율이다. 일반적인 관점에서 민감도는 실제로 양성인 개체에 대하여 양성이라고 판단하는 비율이고 특이도는 실제로 음성인 개체에 대하여 음성이라고 판단하는 비율이다. 


   이 글은 진단의 관점에서 주로 설명한다. 진단의 경우 '질병이 있는 개체'를 양성으로 판단하며, 따라서, 다음 글에서 양성은 질병군을 의미한다. 그러나 민감도 및 특이도, 또한 그에 따른 많은 개념들은 양성/음성과 같이 교집합이 없는 두 집합에 대하여 일반화 할 수 있는 개념임을 유의하여야 한다. 또한, 이 글은 '진단기기'에 초점을 두지만 흔히 분류기(classifier)라 일컬어지는 작업에서도 동일하게 사용되는 개념들이다. 이 글은 관련 개념들을 될 수 있으면 상술하고자 하니 긴 호흡이 필요하다. 


   민감도와 특이도는 일반적으로 좋지 않은 진단 방법일 경우 한 쪽이 증가하면 다른 한 쪽이 감소하는 경향을 보인다. 따라서 민감도와 특이도가 둘 다 높은 진단 방법을 찾는 것이 관건이다. 극단적으로 생각해 보자. 검사를 받는 모든 사람에 대하여 항상 '질병'으로 진단 내리는 검사를 생각해 보자. 이 경우 검사를 받은 사람 중 환자에 대하여 모두 질병으로 판단하였기 때문에 민감도는 1.0 이 된다. 그러나 검사를 받은 사람 중 정상에 대하여도 '질병'으로 판단하였기 때문에 특이도는 0 이 된다. 반대로 이번에는 검사를 받는 모든 사람에 대하여 항상 '정상'으로 진단을 내리는 검사를 생각해 보자. 이 경우 검사를 받은 사람 중 모든 정상에 대하여 '정상'으로 판단을 내렸기 때문에 특이도는 1.0 이 된다. 그러나 검사를 받은 환자 중 '질병'으로 진단된 사람은 없기 때문에 민감도는 0 이 된다. 이처럼 민감도와 특이도는 서로 반대로 움직이는 경향[각주:1]이 있기 때문에 이 둘을 모두 높이는 진단 방법을 찾는 것이 어려운 것이다. 


   이제 실제 예를 갖고 알아 보자. 우선 그 전에 이야기의 전개를 위해 필요한 개념을 몇 개 살펴 보자. 진단 기기 혹은 진단법을 만들 경우 우선 질병인지 아닌지 정답을 알고 있는 개체를 이용하여 진단법의 성능을 시험하게 된다. 만약 시험에서 높은 성능을 얻었다면 이제 정답을 모르는 사람에 대하여 판단을 내리게 된다. 이 때, 이 판단, 즉 지금 새로 만든 진단법이 만들어 질 때 사용되지 않은 새로운 개체를 진단한 결과, 그것이 맞는지 틀리는지를 다시 한 번 확인하는 경우도 많다. 이 경우 이 새로운 개체에 대한 정답이 필요한데 많은 경우 이미 잘 알려진 진단 방법(흔히 gold standard라고 불리는)으로 그 정답을 구하고, 그것을 새로운 진단기기가 내린 판단이랑 비교를 하게 된다. 물론 새로운 진단 방법은 gold standard로 쓰이는 방법의 몇 가지 단점을 극복했기 때문에 의미가 있을 것이다. 그렇지 않다면 그냥 기존의 진단법을 이용하면 되니까. 다음에서 말하는 개념들을 이처럼 질병인지 아닌지 이미 정답을 알고 있는 개체를 이용하여 새로운 진단 기기의 성능을 시험하는 상황에서 필요한 개념임을 유의하면서 살펴 보면 보다 이해하기 쉽다. 


True Positive, TP: 새로운 진단 방법에 의하여 양성(질병)으로 진단되었고 실제로도 양성인 경우. 

True Negative, TN: 새로운 진단 방법에 의하여 음성(정상)으로 진단되었고 실제로도 음성인 경우. 

False Positive, FP: 새로운 진단 방법은 양성(질병)으로 진단하였으나 실제로는 음성인 경우. 

False Negative, FN: 새로운 진단 방법은 음성(정상)으로 진단하였으나 실제로는 양성인 경우. 


위에서 '실제로는' 의 의미는 이미 잘 알려진, 아니면 기존에 오랜동안 사용되어 온 확실한 진단 방법에 의하여 진단된 결과, 를 의미한다. 즉, 정답(gold standard)을 의미한다. 새로운 진단 방법은 기존의 진단법 중 어느 단점을 극복하기 위한 경우가 많으며, 따라서 기존에 이미 사용되던 진단 결과와 동일 혹은 그에 준하는 진단을 할 수 있는지를 확인하기 위하여 기존의 진단법으로 나온 결과에 대하여 새로운 진단 방법이 그것을 얼마나 잘 맞추는지를 확인하는 것이다. 


여기서 positive 라는 것은 질병이 있는 경우, 이고, negative 는 질병이 없는 정상을 의미한다. 위의 TP/TN/FP/FN은 전부 이미 정답을 알고 있는 경우에 대해 새로운 진단 기기가 판명한 결과에 대한 개념이다. 즉, true positive 라는 것은 '올바른 positive'라는 것이므로 새로운 진단기기(혹은 classifier)가 positive라고 판명한 것이 맞게 판명한, 올바른 positive 라는 의미. false negative는 새로운 진단기기는 negative라고 질병이 아니라고 판단했는데 그것이 잘못된(false) 것이라는 의미이다. 즉, positive/negative는 새로운 진단기기가 내린 결론이 이것이란 말이고, 이 결론이 맞는 것인지 틀린 것인지(기존에 사용되는 기준에 의하여, 즉 gold standard에 의하여) 판단한 것이 앞의 형용사인 true/false 에 해당하는 것이다. 


   이제 민감도를 앞에서 나온 개념들로 표현해 보자. 민감도는 "이미 정답을 알고 있는 사람 중 실제 환자 (즉, 기존에 정답으로 사용되는 진단 방법에 의하여 환자로 판명된 사람) 에 대하여 새로운 진단 방법이 환자라고 판명한 비율"이다. 다시 말하면, 


민감도 = 새로운 진단 방법이 환자라고 판명한 사람 중 실제로 환자인 사람 / 실제로 환자인 사람의 수


이다. 이 때, 실제로 환자인 사람의 수는 TP+FN 인데, 왜냐 하면, 


True Positive, TP: 새로운 진단 방법에 의하여 양성(질병)으로 진단되었고 실제로도 양성인 경우

False Negative, FN: 새로운 진단 방법은 음성(정상)으로 진단하였으나 실제로는 양성인 경우


처럼 정의되기 때문이다. 즉, 실제로 양성인 사람은 새로운 진단 방법에 의해 양성(P)으로 진단되거나 음성(N)으로 진단이 될텐데 양성인 경우에는 맞게(true) 판단한 것이므로 True Positive, 음성으로 판단한 경우에는 양성인데 음성으로 잘못(false) 판단한 것이므로 False Negative 인 것이다. 따라서 실제로 양성인 사람의 수는 이 두 경우에 해당하는 수의 합인 것이다. 이제 민감도를 다르게 표현해 보면, 


민감도 = TP / (TP + FN)


이 되는 것이다. 



   이제 특이도를 살펴 보자. 특이도는 "이미 정답을 알고 있는 사람 중 실제로 정상 (즉, 기존에 정답으로 사용되는 진단 방법에 의하여 정상으로 판명된 사람) 에 대하여 새로운 진단 방법이 정상이라고 판명한 비율"이다. 다시 말하면, 


특이도 = 새로운 진단 방법이 정상이라고 판명한 사람 중 실제로 정상인 사람 / 실제로 정상인 사람의 수


이다. 이 때, 실제로 정상인 사람의 수는 TN+FP 인데, 왜냐 하면, 


True Negative, TN: 새로운 진단 방법에 의하여 음성(정상)으로 진단되었고 실제로도 음성인 경우

False Positive, FP: 새로운 진단 방법은 양성(질병)으로 진단하였으나 실제로는 음성인 경우


으로 정의되었기 때문이다. 즉, 실제로 음성인 사람은 새로운 진단 방법에 의해 음성(N)으로 진단되거나 양성(P)으로 진단이 될텐데 음성인 경우에는 맞게(true) 판단한 것이므로 True Negative, 양성으로 판단한 경우에는 원래는 음성인데 양성으로 잘못(false) 판단한 것이므로 False Positive 인 것이다. 따라서 실제로 음성인 사람의 수는 이 두 경우에 해당하는 수의 합인 것이다. 이제 특이도를 다르게 표현해 보면, 


특이도 = TN/(TN+FP)


이 되는 것이다. 


   이제 구체적인 예 하나를 살펴 보자. 


혈압 실제 class 새로운 진단법 (N>=98으로 진단) 진단 결과
80 0 0 TN
92 0 0 TN
93 1

0

FN
98 0 1 FP
102 1 1 TP
110 1 1 TP
112 0 1 FP
119 1 1 TP


혈압이 특정값 이상이면 질환으로 진단하는 경우 위와 같다. 여기서 '실제 class' 는 이미 기존에 올바른 진단법으로 잘 알려진 것을 이용했을 때의 class (1이면 양성(질병), 0 이면 음성(정상)) 이다. 새로운 진단법은 이렇게 기존에 올바른 진단법으로 잘 알려진 방법의 일부 혹은 다수의 단점 ( 가격, 측정의 용이성 등등 ) 을 극복하고자 개발한 진단법인 것이다. 즉, 일반적인 상황에서 이 값은 우선 주어진다. 따라서 새로운 진단법은 바로 이 '올바른 진단법(gold standard)' 에 준하는 진단 성능을 보이도록 하는 것이 목표인 상황이다. 만약 '혈압이 일정값 이상이면 질병이다' 라는 진단법이라면 위의 표와 같은 상황이 된다. 


80인 경우: 실제로는 음성(정상)이고 새로운 진단법도 음성으로 결론내렸으니 올바른 음성 (True Negative)

93인 경우: 실제로는 양성(질병)인데 새로운 진단법은 음성(정상)으로 결론내렸으니 잘못된 음성 (False Negative)

102인 경우: 실제로 양성(질병)이고 새로운 진단법도 양성(질병)으로 결론내렸으니 올바른 양성 (True Positive)

112인 경우: 실제로는 음성(정상)인데 새로운 진단법은 양성(질병)으로 결론내렸으니 잘못된 양성(False Positive)


인 것이다. 각각의 경우의 수를 살펴 보면


TP: 3

TN: 2

FP: 2

FN: 1


이므로 


민감도 = TP / (TP + FN) = 3 / (3 + 1) = 3/4 = 0.75

특이도 = TN / (TN + FP) = 2 / (2 + 2) = 2/4 = 0.5


이 되는 것이다. 민감도의 의미 즉, 환자를 얼마나 잘 진단해 내는가, 에서 살펴 보면 위의 표에서 환자(93, 102, 110, 119) 네 명 중 새로운 진단법이 환자라고 판명한 경우는 세 건(102, 110, 119) 이므로 3/4 의 비율로 올바르게 진단해 낸 것이다. 특이도를 살펴 보면 실제로 정상인 사람 (80, 92, 98, 112) 네 명에 대해서 올바르게 정상이라고 진단한 경우는 두 건 (80, 92) 이므로 2/4 의 비율로 정상을 정상이라고 올바르게 진단내린 것이다. 언제나 말하지만 어느 개념이든 이러한 '의미'를 항상 염두에 두면 보다 수월하게 익숙해 질 수 있다. 위의 공식같은 것들은 이런 의미에 맞게끔 정의된 것일 뿐이다. 


   특정 기준에서의 민감도와 특이도 값 하나로는 진단방법의 성능을 제대로 판단할 수 없다. 이 때 필요한 개념이 AUC of ROC 이므로 이것에 관한 본 글을 참고한다. 



   질병의 특징에 따라 민감도를 높일 것인지 특이도를 높일 것인지를 고려하기도 한다. 예를 들면, 매우 심각한 질병이라면 정상을 질병이라고 진단하는 비율이 조금 있다 하더라도 될 수 있으면 질병이 있는 사람을 보다 잘 진단하기 위하여 민감도를 높이고 특이도를 낮추어야 할 것이다. 그 후 재검사를 통해 보다 정확히 진단할 것이다. 즉, 재검사는 정확하지만 시간과 비용 등의 자원이 많이 든다면 우선 재검사를 할 대상을 선별하기 위한 진단을 실시할텐데 심각한 질병이라면 위처럼 비록 정상을 질병이라 진단내리더라도 최대한 환자를 잘 찾기 위하여 민감도를 높이는 것이 좋은 것이다. (그러니까, 재검사 받았는데 정상이더라, 병원이 돈 벌려고 그런 거다, 란 소리는 가급적 하지 말자, >.<"") 이에 이 말을 위에서 설명한 개념들을 이용해서 이야기 해보면 다음과 같다. 질병의 특징에 따라 민감도에 특이도를 어느 정도 절충한 진단을 하게 된다. 예를 들면, 매우 심각한 질병이라면 정확도(precision)이 조금 낮아진다 하더라도 질병이 있는 사람을 놓지지 않기 위하여 민감도를 높이고 특이도를 낮추는 것이 낫다. 이 경우 재검사를 통해 더 정확하게 하면 되기 때문이다. 


   또한, 이 상황과는 달리 정확도를 높이기 위해 민감도를 낮추는 대신 특이도를 높였던 경우도 있었다. 2만여 개의 화학 물질(chemical) 중에서 특정 방법을 이용해서 대략 10개 정도를 골라 낸 다음 이것을 이용해 실험을 하는 상황이었다. 실험 결과가 긍정적으로 나오는 것 한 두개만 찾아도 되는 상황이었다. 이 경우, 2만개 중 실제로 정답(실험 결과가 긍정적으로 나올 수 있는 화학 물질)을 최대한 많이 찾아 내는 것이 문제가 아니라, 예측한 화학 물질 중 실험으로 검증했을 때 최대한 많이 성공하는 것이 목표였다. 왜냐 하면, 실험을 하는 것 자체가 매우 많은 자원이 필요한 것이었기 때문에. 따라서 이 경우에는 민감도를 조금 낮추더라도 특이도를 높여서 내가 positive 라고 예측한 것은 될수 있으면 positive로 판명이 나는 것이 중요했다. 그러므로, '내가 positive 라고 예측한 것'=TP+FP 이고, 'positive 로 판명이 나는 것(즉, 실제 정답, 실험으로 검증했을 때 성공하는 것)'=TP, 이므로 TP/(TP+FP) 값이 높은 것이 중요하며, 바로 이것이 정확도(precision)의 정의인 것이다.




  1. 무작위 진단일 경우 반대로 움직이는 '경향'이 있는 것이지 항상 반대로 움직이는 것이 아니다. [본문으로]