Booking.com 에서의 축차 검정 (Sequential Testing)
원문: Sequential Testing at Booking.com
그리고 여러분들도 (아마도) 하지 않아야 하는 이유
대피 명령에 따라 집에 있으면서 제가 이 글을 쓰는 동안에도 신종 코로나바이러스 SARS-CoV-2* 는 전례없는 속도로 전세계에 퍼지고 있습니다. 바이러스와 함께 시각화 차트도 같이 퍼지고 있죠. 하지만 저는 현재까지 이 주제에 대해서 두드러지게 이야기를 하지 않았습니다. 자랑하고자 하는 것은 아니지만, 다른 시각화 전문가들에 비해 저는 스스로가 이 주제에 대해서 꽤나 전문성을 갖췄다고 생각합니다. 저는 학부에서 미생물학을 전공하면서 바이러스학, 미생물 진화학, 그리고 전염병의 역학을 집중적으로 공부했습니다. 졸업 후에는 역학 연구실에서 데이터 분석과 시각화를 주로 하는 연구 분석가로서 일했습니다. 그러고 나서 데이터 시각화 전문가가 되었습니다.
바이러스 자체는 SARS-CoV-2(South Asian Respiratory Syndrome Coronavirus 2) 라고 불리며, 이 바이러스가 야기하는 병명이 COVID-19(Coronavirus Disease of 2019) 입니다.
그렇다면 저는 왜 다른 많은 사람들처럼 COVID19 로 차트, 지도, 대시보드, 추적기, 그리고 모델을 만들지 않았을까요? 두 가지 이유가 있습니다. (1) 저는 속보를 좋아하지 않고, (2) “많이 배울수록 모르는 것을 깨닫게 된다”(더닝-크루거 효과, 아래 차트 참조) 는 말을 믿기 때문입니다. 그래서 저는 보면서 기다리기로 했습니다. 지난 몇 달 동안 저는 과학계, 정부, 그리고 공공(언론사와 개인) 채널들에서 나오는 발병에 대한 리포트들을 주의깊게 살펴보았습니다. 제가 살펴본 것과 여러분께 COVID19 데이터를 분석하거나 시각화하는 것을 자제하달라고 요청하는 이유를 설명드리겠습니다.
COVID19 판데믹은 9/11 이래로 그 어떤 이벤트보다 더 넓게, 그리고 더 완벽하게 세계의 주의를 주목시켰습니다. 사람들은 자신의 안위에 대해 걱정하고 있으며, 정보에 목말라하고 있습니다. 이로 인해 이 주제에 대한 데이터 시각화가 대중에게 이례적으로 높게 노출되는 위험한 상황을 연출했으며, 허위 정보나 잘못된 정보를 전달하는 시각화는 세계에 해를 끼칠 수 있습니다.
잠시 여러분이 완벽하게 정확한 데이터(현재는 불가능하지만)에 접근할 수 있다고 가정해봅시다. COVID19 시각화가 받게 될 놀라운 소셜 미디어의 관심은 우리의 차트가 엄청나게 많은 사람들이 보게 된다는 것을 의미하며, 이 사람들 중에는 도해력이 부족한 사람들도 포함됩니다. 여러분의 새로운 청중이 가진 도해력에 대해 아주 사려깊은 고려가 없다면, 여러분의 시각화 자료는 오독될 가능성이 높습니다.
만약 여러분의 차트가 틀렸거나 오독되면 무슨 일이 벌어질까요? 여러분이 (사망자, 감염자 등을)과대 예측 했다면, 최선의 경우 보는 사람들에게 불필요한 스트레스와 불안을 야기할 것이고, 최악의 경우 대규모 공황과 정부 자원을 잘못 배분하는 것을 야기할 수 있을 것입니다. 만약 여러분이 과소 예측을 한다면, 안전에 대한 잘못된 인식을 심어줄 수 있으며, 사람들은 일상적인 활동을 다시 해도 괜찮다고 생각할 수 있으며, 단체와 정부는 적절한 행동을 취하지 않을 수도 있고, 이는 사망자를 야기할 수 있다. 어느 경우가 됐건 여러분은 잘못된 정보를 퍼트렸으며, 이것이 정부를 쓰러트리지는 않더라도 혼란을 야기하고, 전문가의 의견을 흐리게 만드는 데에 일조할 것입니다. 데이터 시각화 전문가는 진실의 창구로 간주되기 때문에 보통 이는 굉장히 큰 창피일 겁니다. 하지만 이제 많은 것이 바뀌었습니다. 사망자가 늘어났고, 앞으로도 더 늘어날 것이며, 여러분의 시각화가 더 나쁘게 만들 수도 있습니다.
하지만 이를 바로잡을 수 있다면요? #FlattenTheCurve 는 어떻고요? 이게 바로 데이터 시각화가 사람들에게 정보를 전달하고 생명을 구할 수 있는 기회 아닌가요? 네, 데이터 시각화가 빛날 시간이 맞습니다. 실제로 도움을 주기 위해 여러분이 할 수 있는 것들에 대한 섹션을 보세요. 안타깝게도 제가 본 수백개의 데이터 시각화 중에서 아주 작은 부분만 도움이 되는 카테고리에 들어갔습니다. 제가 본 대부분의 프로젝트는 확진자 수, 사망자 수, 치명률, 역학 예측, 바이러스 전파, 또는 다른 사실이나 숫자에 대한 것들이었고, 모두 틀렸습니다. 확실히 말씀 드리겠습니다. 그 누구도 이 통계 수치를 정확하게 보고할 수 없습니다. 이건 불가능한 일이에요. FT, NYT, WHO 등에서 나온 위대한 차트들 중에서도 틀린 것들이 있었습니다. 이는 그 누구도 이러한 통계 수치에 대해 보고하지 말아야 한다는 것은 아니며, 사실 제가 언급한 모든 단체는 우리가 알고 있는 것과 더욱 중요한 우리가 모르는 것에 대해 소통하기 위해 엄청난 노력을 하고 있습니다. 제가 모든 시각화가 틀렸다고 말한 것에는 모든 자료가 실수를 했거나 의도적으로 거짓말을 한다는 것은 아닙니다. 이러한 차트들은 완벽하지 않은 데이터에 기반하여 최선의 예측을 보여주고 있습니다. 하지만 납득할만한 수준의 정확도를 가진 데이터를 모으는 데에는 큰 시간과 자원을 투자해야 하며, 불확실성에 대해 효과적으로 의사소통 하는 것 또한 어렵습니다. 만약 여러분이 COVID19 데이터로 프로젝트를 만드는 것을 생각하고 계시다면, 스스로에게 질문을 한 번 해보세요. 내가 거대한 기관들과 최고 수준의 보건 전문가들보다 더 잘할 수 있을까? 그렇지 않다면 자신이 만든 부족하고 잠재적으로 해가 될 수 있는 것 대신 전문가의 자료를 홍보하세요. 이러한 위기 상황에서, 그리고 발병에 대한 현재 상태의 데이터에서, 이러한 보고는 전문가들에게 맡겨야지, 재미로 주말에 하는 코딩 프로젝트에 사용해서는 안 됩니다.
COVID-19의 대발생에 대해 아주 쉬운 질문을 하나 해보겠습니다. 이 바이러스의 근원지로 알려진 우한에서는 몇 명이나 감염되었을까요? 정답은, ‘아무도 모른다’ 입니다. 여기에는 두 가지 주된 문제가 있습니다. (1) 광범위한 검진 방법의 부재와 (2) 감염된 많은 사람들 (아마도 대부분)이 증상이 없었고, 걸렸다는 사실조차도 모를 것입니다. 이러한 불확실성은 관련된 많은 측정치를 오염시킵니다. 예를 들어, 감염률을 알지 못하면 치명률을 정확하게 계산할 수 없습니다. 이러한 정보가 없다면 많은 역학 모형들은 실패할 것이며, 이는 확산 심각도에 대해 파악하는 것을 복잡하게 만듭니다.
아마도 우리가 가진 가장 정확한 지표는 사망자 수(퍼센티지가 아닌 숫자입니다!)입니다. 이러한 이유 때문에 FT 와 같은 큰 방송국들이 보도에서 사망자 수를 강조하는 것입니다. 그러나, 이 숫자마저도 예상치입니다. 다양한 국가들에서 오는 사망주 숫자 데이터에 대한 정확도와 완성도에 대한 문제가 있으며, 오진한 경우나 파악할 수 없는 경우는 항상 있기 마련입니다.
그리고 향후가 어떨지 예측을 하거나 모형을 만드는 일은 잊어버리시기 바랍니다. 이러한 종류의 모형은 적게는 수십, 많게는 수백개의 변수에 의존하는데, 우리가 아는 지표들 중 정확한 것은 거의 없습니다. 제발 모델링은 학계에 맡겨 두세요. 이들의 첫 마디는 그 모형들이 엄청나게 큰 신뢰구간을 가지고 있고, 아주 큰 불확실성을 보여준다고 시인할 것입니다. 어려움은 fivethirtyeight 의 훌륭한 기사에 훨씬 더 잘 설명되어 있습니다.
Visualization of the complications with modeling COVID19 deaths, by Jasmine Mithani and fivethirtyeight
바이러스에 대한 가장 기초적인 과학적 사실들조차도 알려지지 않았습니다. 바이러스는 열에서 얼마나 생존할 수 있는가? 바이러스는 어떻게 증식을 하는가? 바이러스가 변형을 일으킬 수 있는 방법은 무엇인가? 사람들이 바이러스에 대해 지속적인 면역을 만들 수 있는가? 전문가들에게 이러한 질문을 했을 때 돌아오는 대답은 “아직 모릅니다” 일 것입니다. 올바른 과학은 시간이 걸리며, 이 질문들에 대한 좋은 대답을 얻기 위해서는 기다려야 합니다.
우리에게 쓸만한 데이터 (예를 들어 사망자 수)가 있다고 하더라도 효과적으로 의사를 전달하는 것은 아주 까다롭습니다. 예를 들어 보죠. 독자로서 제가 저희 동네의 사망자 숫자를 봤을 때 저한테 이 숫자는 무슨 의미일까요? 제가 알고 싶어하는 것은 ‘내가 어느 정도로 놀라야하는 거지?’ 일 겁니다. 그렇다면 제가 사는 곳 근처에 사망자가 많다면, 제가 죽을 수도 있으니 정신이 나가도 되겠군요! 그렇지만은 않습니다. 왜냐하면 저는 젊고 건강한데 바이러스는 지병이 있는 나이든 사람에게 더 치명적이기 때문입니다. 아, 그럼 긴장을 풀어도 되겠군요. 아뇨, 또 틀렸습니다! 비록 확률이 더 낮다고 해도 저는 면역이 없고, 바이러스에 죽은 젊고 건겅한 사람들도 있습니다. 그럼 중간 정도로만 걱정하면 될까요? 이러한 종류의 차이와 미묘함은 이해하기 까다롭습니다. 과학, 미생물학, 데이터 분석을 아는 저같은 사람조차도 이러한 차트를 볼 때면 이성적인 뇌와 감정적인 뇌가 그 중간을 찾으려고 싸웁니다.
이에 대해 조금만 더 깊게 생각하다보면, 둘이 만나는 그 지점에서 모든 게 산산조각 납니다. 저는 인구 밀도가 높은 필라델피아에 살고 있는데, 제가 보고 있는 차트가 인구 밀도도 반영하고 있을까요? 그리고 나이든 사람들의 치명률이 더 높다고 했는데, 제가 사는 곳의 인구 분포에 맞게 수정되었는지도 궁금하네요… 정확힌 치명률 없이도 이걸 계산하는 게 가능할까요? 그리고 공중 보건도 당연히 염두해야 합니다. 병원의 갯수와 산소 호흡기 수, 그리고 의료 접근성 등도 우리의 예측에 영향을 줄 수 있기 때문입니다. 훨씬 더 많은 것들을 나열할 수 있지만, 여러분도 이제 무슨 뜻인지 아셨을 거라고 생각합니다. 이러한 사항들은 보고된 사망자 수 의 정확도에 영향을 주지 않을 수도 있지만, 독자로서 여러분은 사망자 수 보다는 자신이나 여러분의 어머니, 여동생이 죽을 확률에 더 신경이 쓰입니다*. 이런 차트들을 볼 때 그런 식으로 논리적인 비약을 하기도 하고, 이 때문에 모든 사항들이 그렇게 왜곡된 것이기도 합니다.
* 또는 여러분이 미국에 살고 있다면 본인의 주식 포트폴리오가 더 신경 쓰일 수도 있겠군요. 모두의 우선순위는 다르니까요…
이 모든 것들은 몇 가지 주요 포인트로 요약할 수 있습니다: 말 그대로 우리의 삶과 죽음이 걸려 있고, 데이터는 고르지 않고 질도 좋지 않으며, 데이터는 교육을 받은 사람들조차 잘못 해석할 가능성이 높습니다. 이 말인 즉슨, COVID-19 통계로 보고를 할 모든 사람은 문제를 제기하고, 실수를 발견할 수 있도록 여러 명으로 팀을 만들어서 작업을 해야합니다. 그 팀에는 다양한 곳에서 받아오는 복잡하고 난잡한 데이터를 모으고 검증하는 사람, 공중 보건과 역학 전문가(또는 최소한 이런 사람들에게 컨설팅을 받거나), 데이터에 존재하는 불확실성을 효과적으로 보여주는 방법을 이해하고 독자들을 가장 올바른 해석으로 이끌어줄 커뮤니케이션 전문가가 있어야 합니다. 불확실한 데이터로, 불확실한 시기에 대중에게 가능한 한 많은 정보를 제공하고자 하는 사람들로 이루어진 팀들도 있습니다. 특히 저는 FT(Financial Times), NYT(New York Times), 그리고 SCMP(South China Morning Post) 의 그래픽팀에 깊은 감사를 드립니다.
또한 이 문제는 많은 시간과 주의를 필요로 한다는 것을 의미하기도 합니다. 제가 COVID-19 에 대한 그 어떤 작업도 하지 않은 이유 중 하나는 제게 이 문제를 철저하고 정확하게 다룰 시간이 없다고 여겼기 때문입니다. 이는 주말 동안 진행하는 프로젝트나 사이드 프로젝트로 다룰만한 사안이 아닙니다. 그렇지만 이 데이터가 여러분에게 흥미롭고, 분석이나 시각화 기술을 연습하고자 한다면, 데이터를 내려받아서 혼자 작업한다고 해를 끼치지는 않을 겁니다. 그 결과를 사람들과 공유하려고 할 때 비로소 위험해지는 것입니다. 여러분이 조사를 하는 동안 새로운 것을 발견한다면, 그 분야의 전문가에게 의견을 구하거나, 언론사 또는 지역 보건 당국에 연락해서 그 결과가 도움이 되는지를 여쭤보십시오. 그리고 이 데이터로 작업을 하는 경우에는 나이팅게일(Nightingale) 과 아만다 매클렉(Amanda Mkulec) 이 쓴 중요한 고려 사항을 따르도록 하시기 바랍니다.
트위터에서 진정한 위험은 확인되지 않은 작업을 공개적으로 공유할 때 오는 것이지 개인적인 방법으로 작업하는 것에는 아무런 문제가 없다고 지적해준 스테파니 튜얼크(Stephanie Tuerk) 씨께 감사드립니다.
만약 여러분이 데이터 과학자, 개발자, 또는 시각화 전문가라면, COVID-19 발병에 여러가지 도움을 줄 수 있습니다. 어떤 것을 하면 좋을 지에 대한 간단한 팁들입니다.
원문: Sequential Testing at Booking.com
가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…
고민의 흔적을 보여주세요
을 찾습니다.
원문: Charts & Accessibility
모수, 큰 수의 법칙, 그리고 중심극한정리에 대하여
그리고 여러분들도 (아마도) 하지 않아야 하는 이유
회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.
원문: Dark Side of Data: Privacy by Emre Rencberoglu
원문: RStudio Projects and Working Directories: A Beginner’s Guide by Martin Chan
원문: TidyTuesday GitHub Repository
원문: How programming languages got their names
원문: How to Make Meetings Less Terrible 팟캐스트: How to Make Meetings Less Terrible (Ep. 389)
생키 다이어그램 (Sankey Diagram) 은 흐름(Flow) 다이어그램의 한 종류로써 그 화살표의 너비로 흐름의 양을 비율적으로 보여준다.
2년 전 일본어로 책을 내긴 했지만 대부분의 독자들이 이 책을 읽을 수는 없을 것 같았다.
자기회귀 모형이란 무엇인가?
회귀분석을 실행하기 위해 필요한 가정과 조건들에 대해 알아보자.
통계적 검정과 회귀분석에서 자주 사용되는 정규성 가정과 정규성 검정에 대해 알아보자.
여러 통계 검정과 모형에서 사용되는 독립성 가정에 대해 알아보자.
시계열 모형 중 ARMA 모형에대해 알아보자.
시각화에서 주의할 점인 넓이를 표시하는 원칙에 대해 알아보자.
평균 양쪽의 z-값들 사이의 넓이를 구하는 방법에 대해 알아보자.
분산분석의 개념과 방법에 대해 알아보자.
분산분석(ANOVA; ANalysis Of VAriance) 와 회귀분석의 개념을 섞은 공분산분석(ANCOVA; ANalysis of COVAriance)에 대해 알아보자. 이 글을 이해하기 위해서는 아래의 글을 먼저 읽는 것이 좋다.
Akaike’s Information Criterion 의 정의와 이를 구하는 방법에 대해 알아보자.
수정된 R제곱과 그 용도에 대해서 알아보자.
통계 용어 중 정확도(Accuracy)와 정밀도(Precision) 에 대해서 알아보자.
절대 오차와 평균 절대 오차에 대해서 알아보자.
가설 검정이란 무엇이며, 가설 검정의 다양한 방법에 대해 알아보자.
회귀분석이란 무엇이며, 회귀분석 과정에서 사용하는 용어와 다양한 방법에 대해 알아보자.
이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.
모집단과 표본집단을 이용하는 경우 통계학에서 말하는 10% 조건이 무엇인지에 대해 알아보자.
여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...
68 95 99.7의 법칙이란 무엇인가?
단위근 검정 방법 중 하나인 Augmented Dickey Fuller 검정에 대해 알아보자.
이 자료는 데이터 과학과 관련된 특정 주제에 대한 연재물이며, 다룰 주제는 다음과 같다. 회귀분석, 군집화, 신경망, 딥러닝, 의사결정나무, 앙상블, 상관관계, 파이썬, R, 텐서플로우, SVM, 데이터 축소, 피쳐 선택, 실험 계획법, 교차검증, 모델 피팅 등. 이 글을 계속 받...