Clinical Data Warehouse 환경에서의 ETL 업무를 이달 말일자로 마무리합니다.
점심을 먹고 나서 동료 프리랜서인 선배 부장님과 예술의 전당 뒤편 우면산 둘레길을 다녀왔습니다.이곳을 떠나기 전에 한번은 다녀오려고 했던 둘레길입니다. 떠날 때가 다 되서야 간신히 다녀왔습니다.
우면산 둘레길을 걸으면서 데이터분석과 무관한 선배 부장님께 혼동행렬 관련 개념에 대해 물어보았습니다.
위양성
"부장님, 코로나 진단 키드 뉴스에도 나온 말인데 혹시 위양성이라고 들어보셨습니까?"
"알지! 가짜 양성이잖아. 안 걸렸는데 걸렸다고 나온거"
"정답입니다~"
위양성이라는 용어는 일반적인 용어에 해당하나 봅니다.
민감도와 특이도
"본격적인 질문을 위한 기초 테스트를 통과하셨습니다.
실전 문제 내보겠습니다.
환자 10명을 모아 놓고 검사를 했는데 9명을 환자라고 맞추면 90%잖아요.
이것을 뭐라고 하는지 아십니까?"
"음 ..."
질문이 너무 어려운 것 같아 바꿔서 질문을 던져 보았습니다.
"코로나 진단키트 관련해서 뉴스에도 많이 나왔던 용어인데, 혹시 민감도나 특이도라고 들어보셨습니까"
"음 ..."
대화 단절입니다. 그래서 답을 일단 말해보았습니다.
"환자 10명을 모아두고 검사를 했는데 9명을 환자라고 맞추었을 때 90% 이것을 민감도라고 하고요, 정상인 10명 모아놓고 테스트했는데 90 % 맞추면 이것을 특이도라고 합니다."
"..."
평소 지적 호기심이 많으신 분이었는데, 반응이 시큰둥합니다.
민감도와 특이도라는 용어는 생소한 용어임이 확실하며, 흥미로운 주제도 아닌 것이 분명합니다.
평가 지표로서 정확도(정분류율)의 한계
민감도와 특이도에 대한 질문으로 뻘쭘한 상황이 되었습니다.
포기하지 않고 새로운 방식으로 질문을 해보았습니다.
정확도는 precision을 번역한 용어로 사용하기도 합니다만, 정분류율의 의미로 사용하겠습니다.
"부장님 그럼,
사람들을 10,000 명 모아서 검사했는데,
환자는 환자라고 하고 정상은 정상이라고 9900명을 맞추었어요.
그럼 정확도가 99%잖아요.
이런 알기 쉬운 지표가 있는데 굳이 민감도나 특이도라는 것을 굳이 왜 만들어 쓰고 있을지 짐작 한번 해보시죠"
"음...
한쪽으로만 보면 안되니까?
검사할 사람들이 전부 정상일 수도 있잖아.
그런 경우에는 정확도로만 보면 환자 측정이 안 되니까 이쪽(환자) 저쪽(건강인) 따로 측정해볼라고???"
"음... 비슷합니다만. 정답은 아닙니다. 한 80 점 드릴게요"
정답은 아니지만 드디어 답변을 받았습니다.
"봐보세요,부장님.
전립선암 진단 장비 경쟁 입찰을 한다고 가정해 볼게요.
A제품은 정확도가 99%이고 B제품은 정확도가 99.9%가 나왔다고 해봐요.
정확도로 보면 B를 선택해야 하잖아요.
그런데 A는 좋은 제품이고 B는 쓰레기 제품인 거예요. "
"...??"
"전립선암 걸리는 비율이 천명당 한 명인 거예요.
A는 정교하게 진단하게 위해서 개발된 제품인데, B는 하드코딩해서 그냥 무조건 정상이라고 찍는 제품인 거예요.
그래서 하드코딩한 B는 99.9% 정확도가 나오는 거예요.
여러 가지 정보를 이용하여 열심히 로직 돌린 A는 99%인데 그냥 무조건 정상이라고 찍은 놈이 더 높은 거예요.
여기에서 정확도라는 지표가 평가 지표로 쓰기 힘들게 된거예요"
"아하..."
뭔가 조금은 전달이 되기 사작한 것 같습니다만, 민감도와 특이도에 대해 더 진도를 나가 보기에는 숨도 차고 머리도 아팠습니다.
오늘의 결론!
위양성은 쉬운 용어인데 민감도와 특이도는 어렵다.