brunch

You can make anything
by writing

C.S.Lewis

by 삼더하기일 Mar 25. 2022

코로나 자가진단 키트 특이도? 민감도? 이게 뭐야?

예측 결과의 정확도를 표현하는 방법

코로나 유행이 약해질 기미를 보이고 있지 않다. 우리나라의 일일 확진자 숫자가 몇백 명, 몇천 명 수준이었던 때가 엊그제 같은데 최근에는 수십만 명에 이르는 일일 확진자 숫자를 기본적으로 보여주고 있다. 그리고 코로나 확진자가 많이 늘어남에 따라 자연스레 이용률이 높아지게 된 것이 있다. 바로 코로나 자가진단 키트다. 확진자 수가 늘어난다는 것은 코로나 증상을 보이거나 확진자와 밀접 접촉을 한 사람들이 늘었다는 것이고 이는 당연히 코로나 자가진단 키트의 이용 횟수 증가로도 연결된다.


정밀도? 민감도? 코로나 자가진단 키트 얼마나 정확한 거야?


코로나 자가진단 키트를 이용하는 사람이 늘어남에 따라 당연히 자가진단 키트를 통한 검사의 정확도 역시 중요해졌다. 다행히도 코로나 자가진단 키트의 정확도는 인터넷을 검색했을 때 쉽게 찾아볼 수 있다. 하지만 문제는 다른 곳에 있다. 정밀도, 민감도 등 우리가 알고 있는 정확도와는 다른 단어들이 코로나 자가진단 키트의 정확성을 설명하기 위해 자리하고 있기 때문이다. 사실 이 용어는 통계학이나 빅데이터, 인공지능 분야에서 자주 사용되는 용어이기 때문에 아무런 설명 없이 바로 이해하기엔 힘들 수 있다. 하지만 각 용어들이 무엇을 의미하는지만 이해하기 시작한다면 이 개념을 체감하는 것은 어려운 일이 아니다.


사실 코로나 자가진단 키트처럼 무언가를 예측하고 그 정확도를 측정할 때는 우리가 알고 있는 정확도 한 가지 개념만 사용하면 편할 수 있다. 코로나 양성을 양성이라고 하거나 음성을 음성이라고 정확히 판단하는 경우가 전체에서 어느 정도인지를 계산하면 된다. 하지만 이러한 정확도 수치를 통해 예측이 얼마나 잘 이루어지고 있느냐를 평가하기에는 큰 한계점이 하나 있다. 코로나 확진자가 날이 갈수록 늘기는 하지만 아직은 확진자보다 비확진자가 훨씬 많다. 이를 생각해보면 키트의 결과를 모조리 음성이라고 판단해도 어느 정도의 높은 정확도는 유지할 수 있다. 대부분의 사람이 음성이기 때문이다.


정확도는 한 가지 수치로만 표현하기에는 한계가 있습니다.


이러한 사실 때문에 데이터 분석가, 데이터 과학자, 인공지능 전문가 등은 특정 모델의 정확도를 평가할 때 다양한 평가지표를 함께 사용한다. 단순히 '옳게 추정한 사례가 전체 중 얼마나 되느냐'를 보는 것이 아니라 '양성을 진짜 잘 짚어내고 있는가?', '음성인 사람에게 양성이라고 오진하는 경우는 없는가?'등 다양한 잣대를 이용하는 것이다. 이 때문에 정확도를 평가할 때는 아래와 같은 표를 항상 중요한 자료로 사용한다. 이는 혼동 행렬(Confusion Matrix)라고 불리며 이 표로부터 많은 평가지표들이 파생된다.


혼동 행렬(Confusion Matrix)

위 혼동 행렬을 보면 우리가 일반적으로 생각하는 정확도 개념을 구체화할 수 있다. 옳게 예측한 케이스의 비율을 나타내면 되므로 정확도 = (TP + TN) / (TP + FN + FP + TN)으로 계산할 수 있다. 코로나 자가진단 키트의 정확도를 검색하던 사람들에게 헷갈림을 선사해주던 민감도와 특이도 개념도 혼동 행렬을 통해 도출하는 것이 가능하다. 우선 검색을 통해 살펴보면, 현재 코로나 자가진단 키트의 정확도는 대부분 특이도 99%, 민감도 90%라고 한다. 혼동 행렬을 기반으로 특이도, 민감도 등 다양한 평가지표가 만들어지기 때문에 이를 잘 살펴보면 이해가 훨씬 쉽게 될 수 있다.


민감도 = 확진자가 양성일 확률, 특이도 = 비확진자가 음성일 확률


코로나 자가진단 키트의 정확도를 설명하는 개념 중 특이도코로나에 걸리지 않은 사람이 검사를 했을 시 실제로 코로나 음성으로 검사 결과가 나올 확률을 의미한다. 반면, 민감도의 경우 반대의 의미로 코로나에 감염된 사람이 검사를 했을 시 실제로 코로나 양성으로 검사 결과가 나올 확률을 의미한다. 코로나 자가진단 키트를 개발하고 정확도를 측정하기 위해 실험을 했을 때는 분명 코로나 양성인 사람, 음성인 사람들이 모두 있었을 것이다. 그리고 그 사람들 중 결과가 옳게 표현된 사람, 그렇지 못한 사람이 있어서 TP, FN, FP, TN의 숫자가 각각 정해졌을 것이다.


결국 혼동 행렬이라는 개념과 민감도, 특이도의 단어 뜻을 알고 있으면 이 원리가 어떻게 되는지 이해하는 것은 쉽다. 특이도의 경우 코로나에 걸리지 않은 사람이 검사를 했을 때의 음성 확률이므로 특이도 = TN / (FP + TN)로 계산할 수 있으며 민감도는 코로나에 걸린 사람이 검사를 했을 때 양성 확률이므로 민감도 = TP / (FN + TP)로 계산할 수 있다. 결국 코로나 확진자라면 자가진단 키트 검사 시 양성이 나올 확률이 90%, 코로나 확진자가 아니라면 자가진단 키트 검사 시 음성이 나올 확률이 99%라고 쉽게 이해를 할 수 있다.


추가적인 지표가 있어야 자가진단 키트의 정확성을 말할 수 있습니다.


개인적으로 코로나 자가진단 키트의 검사 정확도를 볼 때 항상 아쉬운 점이 있다. 바로 앞서 설명한 특이도와 민감도에 더해 추가적인 수치들이 제공돼야 한다는 점이다. 실제로 인터넷 상에서 자가진단 키트의 정확도를 찾아보니 특이도와 민감도 수치만을 찾아볼 수 있었다. 하지만 혼동 행렬의 요소들을 조합하다 보면 그 외에도 다양한 평가지표를 만드는 것이 가능하다. 그 대표적인 예가 바로 정밀도(Precision)이다. 정밀도의 경우 혼동 행렬 상 TP / (TP + FP)를 통해 계산하며 양성으로 결과가 뜬 사람이 실제 코로나 확진일 가능성을 의미한다.

사실 특이도와 민감도 개념은 키트를 평가할 때만큼은 중요한 지표겠지만 사용자 입장에서는 그리 중요한 지표가 아니다. 모든 계산이 '검사 결과'를 기준으로 하는 것이 아니라 '확진 여부'를 기준으로 하기 때문이다. 하지만 자가진단 키트의 사용자 입장에서 본인이 확진자인지 여부를 알리 만무하다. 결국 확진 여부에 따라 확률 값을 나타내는 것이 아니라 검사 결과에 따라 내가 코로나에 걸려있을 확률을 계산할 수 있어야 하는데 이는 특이도와 민감도의 개념으로는 알 수 없는 영역이다. 즉 앞서 말한 정밀도와 같은 '검사 결과'를 기준으로 하는 정확도 지표들이 추가로 있어야 한다.


정확도 평가에도 무궁무진한 영역이 있습니다.


빅데이터로 머신러닝 모델을 만들거나 오늘 주제와 같이 코로나 자가진단 키트의 정확도를 설명할 때 가장 난감한 것은 결과를 한 문장으로 설명할 수 없다는 것이다. 억지로 '모델의 결과가 몇 퍼센트입니다'라고 쉽게 설명을 하는 방법이 있기는 하지만 그런 방식을 채택할 경우 우리가 원하는 정확도의 의미가 많이 퇴색될 확률이 높다. 그렇기 때문에 빅데이터, 데이터 사이언스 분야에서 정확도 평가만 하더라도 굉장히 다양한 방법론이 존재하고 이를 다 숙지하는 것만 해도 상당히 많은 시간이 소요될 확률이 높다. 사실 데이터 전문가들도 특이도, 민감도 등 오늘 살펴본 개념들을 늘 헷갈려하기도 한다.


여기서 한 가지 유념해야 할 점은 우리가 어떤 모델에 대해 정확도를 궁금해한다면 정확히 어떤 정확도를 궁금해하는지 설명해주어야 한다는 점이다. 정밀도, 민감도 등 정확한 이론적인 단어를 뱉지 못해도 좋다. '나는 자가진단 키트 양성으로 나왔는데, 실제로 내가 코로나 확진자일 확률은 어느 정도인 건가요?'처럼 특정 상황과 이해관계자 입장에서 무슨 내용이 궁금한지만 잘 정의해주면 된다. 혹은 코로나 자가진단 키트처럼 몇몇 개의 수치 정보만 던져주고 이것을 우리가 알아서 해석해야 하는 경우도 있다. 이 때는 우리에게 모자란 정보가 무엇인지 명확히 판단하고 이를 요청할 줄 아는 자세를 갖추었으면 좋겠다.




※ 평소 빅데이터/인공지능에 궁금한 점이 있어 답변을 원하는 내용이 있다면 공유해주시면 감사하겠습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari