본문 바로가기
독서와 글쓰기/책 이야기

네이트 실버의 신호와 소음을 읽고

by 격암(강국진) 2019. 3. 21.

19.3.21

미국 선거와 야구경기등에서 좋은 예측능력을 보인 예측전문가 네이트 실버가 2012년에 출간한 신호와 소음을 읽었다. 저자 스스로 우리의 예측은 왜 틀리는가에 대한 책이라고 소개하는 이 책은 기본적으로 경제는 물론 스포츠, 기상, 날씨, 전염병, 지진, 포커등 여러 분야를 다루는데 저자의 개인 생각이외에도 다양한 그 분야의 전문가와의 인터뷰한 끝에 그것들을 기반으로 쓰여졌다. 이것은 네이트 실버가 주장하는 철학과도 일관된 것이다. 그는 지나치게 관념화되어 깔끔해진 견해보다 혼란스러운 현실을 그대로 봐야 한다고 생각하며 혼자의 생각보다는 다수의 생각을 함께 고려하는 것이 더 진실에 가까이 갈 수 있는 방법이라고 거듭해서 말하고 있다. 

 

그래서 결과적으로 이 책은 간단히 요약하기 어려운 약간은 백과사전비슷한 책이 되었다. 각 분야의 상황은 서로 다르고 그 분야에 대한 전문가를 네이트 실버가 인터뷰하고 요약한 것을 재차 요약하기 시작하면 핵심이 사라지기 쉽기 때문이다. 

 

하지만 이 책에도 줄기가 되는 두가지 핵심이 있다. 하나는 우리가 어떤 전문가를 믿을 수 있는가 하는 것이고 또하나는 우리는 지나치게 복잡한 모델에 의존하지 말아야 한다는 것이다. 

 

그럼 먼저 우리는 어떤 전문가를 믿어야 하는가라는 질문에 대해 말해보자. 우리는 통계적으로, 확률적으로 말하지 않는 전문가를 의심할 필요가 있다. 왜냐면 그런 경우 그 전문가는 그 자신의 예측이 맞을 확률이나 그 예측의 오차 범위를 언급할 필요가 없을 정도로 주어진 문제에 대한 명확한 지식을 가진 사람이거나 혹은 자기 스스로도 자신의 예측이 어느 정도 정확한지를 모를 정도로 엉터리 예측을 하고 있는 경우 중의 하나이기 때문이다. 때로 어떤 전문가는 자신의 예측이 매우 얇팍한 것이며 그래서 거의 무작위로 예측하는 것과 큰 차이가 없다는 것을 알고 있는데도 그것을 숨기기 위해서 오차범위나 맞을 확률을 언급하지 않는다. 이런 경우 그 전문가는 부정직한 전문가로 여겨져야 할 것이다. 

 

미디어는 대개 정확한 예측이 가능하다고 주장하는 전문가를 상대하는 경향이 있는데 이때문인지 재미있는 통계가 나오기도 한다. 네이트 실버가 책에서 소개하고 있는 통계에 따르면 경제예측에 대해서는 전문가의 예측은 아주 엉터리지만 특히 티비 출연이 많은 전문가의 예측이 더더욱 엉터리라고 한다. 그것은 이들이 정확히 모르는 것을 안다고 말하는 부정직한 전문가인 경향이 있기 때문이 아닐까?

 

이 세상은 무지와 인식적 한계때문에 모든 일이 확률적이다. 하지만 불행하게도 많은 사람들은 세상일을 분명한 지식의 문제로 여기는 경향이 크다. 즉 이 컵의 무게는 5그램의 오차로 350그램이라고 생각하는 대신에 그냥 이 컵은 350그램이라고 생각한다. 컵의 무게의 경우에는 이런 태도가 문제가 안되는데 그 이유는 우리가 정밀한 저울을 가지고 있기 때문이다. 

 

하지만 이 책에서 소개하는 지진, 기상예측, 주가 예측, 전염병의 위험도등 많은 일상의 문제를 예측하는데 있어서는 우리는 그런 정답을 주는 기계가 없고 확률적 태도를 피할 수 없다. 그래서 요즘 우리가 일기 예보에서 보듯이 내일 비가 올 확률은 80%라고 예보하는 것이 올바른 태도라는 것이다. 그런데도 우리는 올해의 국민총생산 증가예측분이 3.1%라는 뉴스를 듣거나 이 주식은 주가가 오를 것이 예상된다는 말을 들을 때 이 말이 옳을 가능성이 몇 퍼센트라는 말 같은 것은 듣는 일이 없다. 그리고 많은 사람들은 확률의 언어로 말하는 기상예보관은 예보가 맞지 않는다고 욕하면서 확률의 언어로 말하지 않는 경제 전망가는 욕하지 않는다. 그러나 과거의 기록을 보거나 그 안의 논리와 과학을 보면 사실 우리가 믿어야 할 것은 기상예보관이지 경제전망가나 증권전문가가 아니다. 

 

네이트 실버는 이렇게 우리의 사고를 확률적으로 고치고 나서 우리는 한발 더 나아가 베이지안식으로 사고할 필요가 있다고 말한다. 그것은 우리의 추정치를 새로 생긴 정보에 근거해서 계속 수정하는 과정을 거치는 것이다. 

 

신호와 소음에서 발견되는 또 하나의 핵심은 우리는 지나치게 복잡한 모델에 의존하지 말아야 한다는 것이다. 이론과 관찰데이터는 깊게 따지면 닭이 먼저냐 달걀이 먼저냐 처럼 물고 물리는 관계에 있지만 그런 형이상학적인 수준에까지 가지 않는다면 데이터가 먼저 있고 우리는 그 데이터를 설명하는 이론 즉 모델을 적용한다는 그림이 상식적이다. 이럴 때 생기는 문제중의 하나가 우리는 사실 데이터를 알 뿐인데 우리는 우리가 만든 모델을 안다고 생각하는 오류다. 

 

보다 구체적으로 말해보자. 물리학에서 말하는 자연의 법칙은 앞에서 말한 모델 혹은 이론 중의 하나다. 우리는 이 이론들이나 법칙들을 자연에 대한 관찰로부터 즉 데이터로 부터 만들어 냈다. 그런데 이 이론들은 대개 엄밀한 예측을 내놓고 따라서 대개의 경우 여러번 검증될 수 있으며 그것도 정확히 검증될 수 있다. 예를 들어 뉴튼의 중력법칙은 아주 구체적인 수치로 행성들의 운동을 예측한다. 심지어 이 경우에도 우리가 아는 것은 데이터 뿐이다. 다만 우리는 예측을 통해서 이 이론을 여러번 검증했기 때문에 이 자연법칙에 대해서는 크게 믿음을 가지게 된다. 해는 이제까지 날마다 동쪽에서 떠올랐지만 내일 아침은 그러지 않을 수도 있다. 그러나 아주 여러번 정확히 예측된 시간에 해가 떠올랐다면 우리는 해가 뜬다는 법칙을 크게 신용할 수 있다. 

 

그러나 엄밀한 과학이 아닌 분야로 가면 상황은 크게 달라지게 된다. 이런 경우에는 데이터는 부족하고 부정확해서 우리는 우리가 믿는 모델이 현실을 잘 반영하는지를 알기가 힘들다. 일반적으로 우리가 더 복잡하고 변수가 많은 모델을 적용하면 주어진 데이터를 더 잘 설명할 수있게 되지만 이것이 지나치면 실은 이것은 그저 소음을 재생산한 것이 된다. 공학계에서는 이런 상황을 가르켜 과적합 혹은 오버피팅이라고 부른다. 

 

예를 들어 아래의 그림을 보자. 이 그래프에서 데이터를 상징하는 세 개의 X표는 두 개의 서로 다른 모델들 즉 두개의 빨간 선으로 설명된다. 직선은 보다 단순한 모델이고 곡선은 보다 복잡한 모델이다. 이 중에 어느 것이 옳을까? 

우리가 데이터가 오차가 전혀 없다고 할 때는 어느 쪽이 좋은 모델인지를 말하기 쉽다. 하지만 데이터가 오차를 포함한다고 생각할 때는 정확히 데이터를 설명하는 더 복잡한 모델의 예측이 더 많이 틀린다. 일반론적으로 말했을 때 우리는 단순한 모델을 선호한다라고 하는 오캄의 면도날 법칙같은 것이 있지만 사실 앞에서 말했듯이 오차를 포함한 데이터가 있는 시스템에서는 이 문제에 대한 정답은 없다.

 

네이트 실버는 이 책을 2012년에 썼는데 이때도 이미 빅데이터라는 말에 흥분하는 사람들이 많았나 보다. 그런데 저자는 이 말에 대해서 강력한 경고를 보낸다. 더 많은 데이터가 반드시 더 훌룡한 예측을 보장하지 않는다는 것이다. 사실 모델을 데이터에 적용하는 모델 피팅의 문제에 있어서 충분히 많은 데이터의 양이란 반드시 데이터의 양에만 의존하는 것이 아니다. 그것은 관련되어져 있는 데이터의 차원에 많이 의존한다. 그러니까 위에서 말한 1차원 모델의 경우에는 서너개의 데이터도 상당히 그럴듯하지만 5차원 10차원으로 관련된 변수가 많아서 차원이 높은 경우에는 필요한 데이터의 수가 5배 10배가 아니라 헤아릴 수 없이 많이 필요하다. 이걸 차원의 저주라고 부르는데 이 때문에 차원이 높은 곳으로 가면 엄청나게 많은 데이터도 여전히 불충한 데이터가 될 수 있다. 

 

그래서 어떤 일이 생기는가? 더 많은 데이터를 가지고 더 자세히 문제를 들여다 보면 오히려 우리는 잘못된 이론에 빠지는 일이 생긴다. 실버 네이트가 소개하는 이오에니다스의 충격적인 논문에 따르면 오늘날 출판되고 있는 논문의 3분의 2정도는 사실이 아닌 것으로 확인되고 있다고 한다. 이는 우리가 더 복잡한 모델들 혹은 이론들을 고려하기 시작하면서 가능한 이론들의  수가 크게 증가했고 이때문에 논문심사라는 검증과정이 그 논문이 옳은 것으로 판정했다는 사실이 진짜로 그 논문이 옳은 것을 확정해 주지 못하는 문제가 생겼기 때문이다. 

 

나는 일전에 희귀병 진단에 있어서 양성 판정이 나왔을 때 우리가 실제로 그 희귀병에 걸릴 확률에 대해서 착각이 생길 가능성이 크다는 베이지안의 계산결과를 소개한 적이 있다. 이것은 정확히 같은 이유때문이다. 즉 논문심사가 이 논문이 옳다는 테스트라고 하면 우리는 논문심사를 믿고 논문이 그것을 통과하면 대개는 논문이 옳을거라고 믿지만 이것이 사실이 아니라는 것이다. 

 

네이트 실버는 빅데이터의 이런 함정을 주의하지 않으면 우리가 음모론같은 것들에 빠져들기 쉬운 것이 바로 빅데이터의 시대라고 여러번 강조한다. 이런 경우 더 많은 데이터를 가지고 우리의 예측능력과 합리성은 증가하는 것이 아니라 오히려 감소한다. 이걸 다르게 말하자면 우리가 뭔가를 너무 자세히 들여다 볼 때 우리는 환상을 믿게 된다는 것이다. 더 단순한 큰 그림을 놓치게 되고 기괴한 음모론이 그럴듯하게 들리게 될 가능성이 크다. 

 

이 책은 매우 유익했지만 앞에서 말했듯이 쉽게 요약되는 책은 아니다. 그래서 깊은 고민과 함께 읽지 않으면 그냥 인간의 예측능력은 아직도 매우 보잘것없으므로 우리 겸손하게 살자는 말로 끝날 수도 있다. 그리고 이 책이 쓰여진 2012년은 최근의 딥러닝 열풍이 불기전이고 따라서 저자는 기계학습에 대해서는 거의 언급이 없다. 이 점은 좀 아쉽다. 저자는 인간이 가지는 심리적 맹점을 여러번 언급하지만 기계는 그것을 피할 수도 있을 가능성이 있기 때문이다. 게다가 빅데이터도 사이즈의 문제가 있다. 데이터가 정말로 정말로 많아지면 우리의 예측능력은 좋아진다. 그러니까 이 책의 내용은 이런 부분을 고려하면서 이해하는 것이 좋을 것이다. 

 

이 책은 유튜브 동영상으로도 소개했습니다. 아래를 참조하세요. 

 

 

 

 

 

댓글