2017년 12월 9일 토요일

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

민감도(sensitivity)와 특이도(specificity)는 양성 또는 음성과 같이 두 가지 결과가 나오는 분류 방법(테스트 또는 검사 방법이라고 불러도 좋음)의 정확성을 평가하는 지표이다. 실제 상황에서는 양성이지만 검사 결과 음성으로 나오는 경우(위음성, false negative, FN)와 음성이지만 검사 결과 양성으로 나오는 경우(위양성, false positive, FP)가 있다. 따라서 검사 대상자는 다음과 같이 4 가지 구획 중 어느 하나에 놓이게 된다.

출처 http://blog.minitab.com/blog/the-statistics-of-science/getting-fit-and-proving-it

나는 이것을 조금 다른 방법으로 그림을 그려서 설명해 보고자 한다. 위의 그림같이 완벽한 2x2 매트릭스 그림으로 설명하는 것보다 나는 이게 더 마음에 든다. 인터넷을 아무리 뒤져보아도 이렇게 그림을 그려서 설명하는 사례는 본 적이 없었다.

어떤 도시에 신종 감염병이 유행하게 되었다. 이를 감별하기 위한 새로운 검사 방법이 개발되어서 그 정확성을 평가하려고 한다.


이 상황에서 민감도와 특이도를 계산하는 식은 다음과 같다. 원칙에 충식한 식이라서 내 그림 방식에서 수식이 달라질 일은 없다.

가장 간단한 성능 척도인 정확도(accuracy)는 (TP+TN)/(TP+TN+FP+FN)으로 정의한다.

그러면 좋은 검사 방법과 나쁜 검사 방법의 실례를 내 방식의  그림을 이용하여 그려 보겠다.


가장 정확한 검사 방법은 E에 해당한다. 실제 병에 걸린 사람과 테스트 상으로 양성이 나온 집단이 거의 일치한다. 민감도와 특이도는 약 1이다. 가장 나쁜 검사 방법은 A이다. 실제 음성인 사람을 정반대인 양성으로 판정하는 것이다. 극단적인 결과, 즉 전 조사대상이 양성이라고 판정하는 경우(B)와 전체가 음성이라고 판정하는 경우(D)도 있을 수 있다.

만약 이 감염병이 대단히 위험한 병이라면, 과다 치료를 하는 문제가 있다 하더라도 민감도가 최대가 되는 테스트가 낫다. 심지어 검사를 하지도 않고 집단 전체에 다 치료제를 투여하는 것이 안전할 수도 있다. 통계학적 용어를 빌어서 말하자면 귀무가설(H0)은 '모든 시민은 이 감염병에 걸리지 않았다'임에도 불구하고 감염병에 걸린 것으로 간주하는(즉 대립가설 (H1)을 받아들임) 검사 방법을 택하는 것이 나을 수도 있다는 것이다. 즉, 제1종 오류가 좀 높은 검사 방법을 택하는 것도 가능하다는 것이다.

보통은 제1종 오류를 최소화하는 방법을 택하는 것이 정석이다. 형사 재판을 흔히 그 예로 든다. 즉 '피고인은 무죄다'라는 귀무가설이 옳음에도 불구하고 피고인에게 유죄 판결을 내리는 제1종 오류가 발생하는 일을 대단히 위험한 것으로 보는 것이다. 증거를 통해서 입증되기 전에는 피고인에게 죄가 없다는 기본 가정을 받아들이자는 것이다. 심각한 질환 여부를 검사하는 방법에 있어서는 제1종 오류보다는 제2종 오류, 즉 병이 있음에도 불구하고 정상으로 판정하는 상황을 더 위험한 것으로 간주하여 검사 시 유의 수준을 매우 높게 설정하는 것이 일반적인 가설의 검정과는 다르다. 밑줄을 친 부분은 내 독자적인 의견이 아니라 어느 자료에서 읽은 것인데 도대체 출처를 기억해내지 못하겠다.

민감도와 특이도 수치는 검사법 자체의 특징이 될 수 있다.

민감도가 유난히 높은 검사법이라면

  • 음성 판정을 받았다면 안심해도 좋다.
  • 양성으로 판정이 나왔다고 해도 너무 걱정은 하지 마라. 위양성(FP)으로 판정된 정상인일 수도 있으니까.

특이도가 유난히 높은 검사법이라면 

  • 양성 판정을 받았다면 진짜 환자일 가능성이 크다.
  • 테스트 결과 음성이라고 해도 너무 안심하지 마라. 위음성(FN)으로 판정된 진짜 환자일 수도 있으니까.
마지막으로... 민감도와 검출 한계(detection limit)는 분명히 다른 개념이다. 검출 한계는 얼마나 작은 신호값까지 잡아낼 수 있는지를 나타내는 지표이다.

오늘 블로그에 쓴 자료는 통계학자인 인하대학교 유동현 교수의 감수를 받은 것이다. 물론 유 교수는 제1종 오류를 범하는 위험성이 더 크다고 보았다.

2019년 4월 28일 업데이트

데이터과학 입문을 읽다가 265쪽(9장 데이터 시각화와 사기 탐지 - 9.5 데이터 과학과 위험 - 9.5.3 성능 추정의 어려움)에서 읽은 사항을 소개하기로 한다.

정밀도(precision) = TP / (TP+FP)

재현율(recall) = TP / (TP+FN)

정밀도는 양성으로 판정된 사람 중에서 진짜 병에 걸린 사람의 비율이고, 재현율은 진짜 병에 걸린 사람 중에서 양성으로 판정된 사람의 비율이다. 위키피디아의 정밀도와 재현율을 설명한 글 항목에 표시된 그림은 내가 여기에서 소개한 것과 거의 똑같다. 하지만 내 그림은 보통 설명에 사용하는 2x2 table이 별로 감동적이지 못해서 다른 방법을 찾다가 스스로 생각해 낸 것이지 결코 위키피디아의 것을 보고 나서 흉내낸 것이 아니다^^ 굳이 따지자면 convergent evolution에 해당하는 것이다.

댓글 없음: