데이터 과학을 공부하는 이유

분석가로 살 생각이다. 숫자에 대한 감각을 그래서 기르기 시작했고, 프로그래밍을 배우는 이야기도 같은 이유에서다. 사회과학도들이 흔히 하는 양방(quantitative methodology)과 질방(qualitative methodology)이라는 방법론 구분은 이제 점점 무의미해진다고 생각한다. 분석가에게 양방 질방은 없다. 문과 이과도 사실 큰 의미는 없다. 그저 전통적 방법론은 잘 다지고, 새로운 방법론에 늘 열려 있어 잘 벼려서 쓸 생각을 해야 한다. Computation이 많은 기회를 주니 잡을 따름이다. (..) Business Data 그리고 Production 등 Industry Data 모두를 잘 다루는 사람이 되려 한다. (..) 40대에는 Policy를 만지는 Public Sector의 분석가가 되고 싶다. (페이스북 : https://www.facebook.com/seunghoon.yang/posts/10207289727868110?pnref=story )

사회적 선을 위한 데이터 과학 Data Science for Social Good

 

근 10년 전까지 사회과학은 다른 분과 학문, 그리고 기술적 진보와 방법론적으로 멀리 떨어져 있었다. 진화하는 기술(technology)을 주제로 연구할 지언정, 방법론은 진화하지 않았다. 한 편에서는 통계방법론과 게임이론 등을 포함한 양적-실증 연구가 진행됐고, 다른 한 편에선 해석학과 참여관찰, 인터뷰를 포함한 질적 연구(qualitative research)가 진행됐다. 상호간의 골이 깊었다. 2000년대 초반에는 ‘페레스트로이카 논쟁‘으로 대표되는 일군의 정치학도들이 양적연구 일변의 미국정치학의 현실에 분개해 비판을 시작했다. 다른 한 편에서 1990년대 중반에는 ‘소칼 사건‘으로 알려진 과학을 포스트모던 이론으로 향유하는 것에 대한 자연과학자과의 전쟁도 있었다. 해석학의 끝에서 만나게 되는, 모든 현상을 담론이나 시니피앙(기표)로 경향에 대한 과학자들의 조롱. 1970년대로 더 내려가보면, 인류학의 실증주의적이고 식민주의적 경향에 대한 반성으로 탈식민주의 문화연구를 끌어안은 ‘문화적 전환(cultural turn)‘도 있었다. 요컨대 “서발튼은 말할 수 있나?”(하위주체는 말할 수 있나?)

그런 배경을 간단히 염두하고 볼 때, 사회과학의 전통적인 방법론은 다음과 같았다.

1) 정부에서 나오는 지표나, 서베이, 각종 리서치 회사에서 조사한 통계자료 등을 통해서 사회현상을 분석하거나, 직접 여론을 조사해 그 결과를 통계적으로 분석하는 게 ‘양적연구’의 지배적인 트렌드였다. 주로 선형회귀분석(linear regression)을 통한 경제학 연구나, 각 사회현상간의 결정계수(R^2) 등을 분석해 유의미한지를 살폈다. 빈도주의 통계학의 방법론을 따라 가설을 수립한 후, 표본을 추출하고, t검정이나 f 검정 등을 통해 영가설(null hypothesis)을 기각시키는 지 못 시키는지 0.05 유의수준에서 검정하는 것이 주된 일이었다. (하지만 이런 p-검정 자체에 대해서 최근 통계학회는 오용을 경고하고 있다. 즉 영가설이 기각된다고, 대립가설(증명하고 싶은 바)이 참은 아니다.) 2) 다른 한 편에서는 한 명을 찍어서 인터뷰를 하고, 특정 그룹의 사람들을 모아 또 인터뷰를 하고(FGI), 어떤 집단에 들어가서 참여관찰(participatory observation)하여 생애사를 추적하거나, 어떤 사회현상의 의미에 대한 사람들의 생각으로 해석해내는 ‘양적연구’를 펼치는 사람들이 있었다. 양적연구를 하는 사람들 중 또 많은 이들은 미디어에 드러난 텍스트를 분석하거나, SNS에 나온 담론을 분석하는 등을 수행하기도 했다. (2010년대 초반은 SNS에 대한 질적연구의 전성기였다.)

하지만 2010년대에 들어오면서 사회과학 연구 방법론은 급격히 변하고 있다. 그리고 나는 그 변화 때문에 데이터과학의 장에 진입했다.

우선 방대한 양의 데이터를 분석할 수 있게 됐다. 새로운 방식의 조직화 에서도 언급한 바 있지만, 저장용량의 폭발과 병렬 컴퓨팅 등 방대한 양의 데이터를 동시에 분석할 수 있는 기술적 진보로 인해 양적연구의 ‘표본추출’이라는 방식이 의미가 없어졌다. 주변의 엔지니어들의 농담(?)을 듣다보면 “고작 70억명에 대한 행동 데이터라면, 패턴을 추적할 권한만 주어진다면 그냥 전수를 모델링 할 수 있다”라는 말까지 들을 정도다. ‘인간의 존엄성’이라는 복잡도가 높은 대상은 일반화 할 수 없지만, 인간의 ‘행동 패턴’ 정도는 모델로 만들 수 있게 되는 상황이다. 산업이 생산하는 자재 데이터가 하루 수천 억개를 넘나드는 상황에서 사회현상의 다양한 데이터가 분석 불가능한 존재가 아니게 된 것이다. 구태여 ‘방법론적 전체주의holism’을 택할 필요가 없어졌다. 항상 종족/유닛 단위로 인간을 사고해온 방식을 바꿔놓고 있다. 개개인간이 만들어내는 복잡계라는 ‘소음’ 속에서, 유의미한 ‘신호’를 뽑아내는 일이 사회과학자의 몫으로 다가오는 중이다. 이 모든 것은 하드웨어의 발전과, 소프트웨어 기술의 발전에 따른 것이다.

다른 한 편, 통계학 방법론의 변화다. 네이트 실버 등을 통해 알려진 베이지언 통계학이 데이터과학의 기법과 결합해 ‘현실’의 문제를 ‘실시간’으로 풀어낼 수 있는 단초를 제공하고 있다. 새로이 정보가 추가될 때마다 확률을 유연하게 업데이트 할 수 있다는 장점이, 끊임없이 수식을 업데이트해야 한다는 계산의 부담을 대규모 연산처리가 가능해지면서 극대화된 것이다. 계산이 복잡하면 알고리즘이 해결하게 지시를 정확히 내려주기만 하면 된다. 루틴화된 계산은 이미 70년 전부터 인간보다 컴퓨터가 잘 했으니까. 이런 베이지언 통계학과 컴퓨터 과학의 만남은 동시에 공학에서 쓰던 의사결정 기술을 사회과학에 다시금 전파하고 있다. 산업공학에서 주로 다루는 작전연구(OR: Operation Research)의 ‘의사결정 이론decision science’는 사회과학의 게임이론, 시나리오 분석 등과 결합하고 있고 베이지언 통계학은 시나리오의 정합도를 상승시키고 있다. (오히려 네트워크 분석-연결망 분석은 그 중 일부에 불가하다. 클러스터링 기법에 대해서 고민해본 사람이라면 공감할 것이다.) 달리 말하면, 사회과학도도 산업공학도 수준의 분석이 있어야 분석의 Quality를 담보할 수 있게 되는 상황인 것이다. 가만히 있으면 그냥 데이터과학자들이 스스로 사회과학 하겠다고 덤비는 상황이 올 수도 있는 것이다. (이미 벌어지고 있다.)

두 가지 이유 중 사회과학 전공자인 내게 영향을 미치는 것은 당연히 후자다. 분석의 Quality를 높이고 싶은 마음. 이젠 R과 Python 등 쉬운 프로그래밍 언어(심지어 공짜)를 조금만 익혀도 간단한 데이터 셋에 대한 분석을 수행할 수 있다. 또한 Microsoft가 만든 Azure ML 등 자체 툴킷은 누구나 높은 수준의 분석에 접근할 수 있게 플래폼을 제공하고 있는 중고, 빛의 속도로 업그레이드를 하고 있다. 다른 한 편 Kaggle이나 stackoverflow 등의 오픈소스로 운영되는 커뮤니티를 돌아다니고, Coursera, EdX, Udacity, Datacamp 등 Mooc(Massive Open Online Course)의 저렴한 강의를 통해 Interactive하게 데이터과학에 대한 이해도를 높일 수 있다. (어려움이 없다는 것은 아니다. 그건 나중에 언급하겠다.) 신기술과 방법론을 배우다 죽겠다는 학습 덕후들에게 지금처럼 배우기 좋은 조건은 없다. 트위터와 페이스북이 ‘안부’를 주고 받는 자리라면, Mooc와 오픈소스 공간은 ‘배움’과 ‘성장’을 끝없이 주고받을 수 있는 글로벌한 장을 이미 펼쳐놓은 셈이다. 그리고 나는 거기에 재미를 붙였고, 이제 1년이 지나가는 중이다.

내 목표는 데이터 과학자가 아니다. 단 방법론으로 전통적 사회과학을 뛰어넘는 데이터 분석 기법 모두를 차용 하겠다는 것이다. 정치학, 경제학, 사회학, 인류학 등의 이름이 언제까지 유효할까에 대해서 회의적이 됐다 나는.

내 목표는 사회과학 분석가 혹은 정책 분석가다. 이념 지향이 있고 정책 지향이 있다.  사회과학 담론과 컴퓨테이션 모두에 능숙한 분석가. 그것이 목표고, 나는 데이터 과학을 공부한다. (앞으로 하루에 1시간은 글쓰기에 집중해 보려 한다.)