이 책에서 다루는 내용
- 야구 이야기와 통계 프로그램 R 코드가 동시에 진행되는 이해하기 쉬운 설명
- 다양한 목적의 분석 툴을 야구에서 발생하는 특수 상황에 맞게 적용
- 실제 메이저리그 대형 데이터인 라만(Lahman) 데이터베이스 활용
- 대형 데이터를 분석 목적에 맞게 마이닝하는 방법 제시
- 예측모델에서 발생할 수 있는 소음을 제거하는 모델링 방법 소개
- 인공지능으로 주목받고 있는 비지도학습법인 판별분석, 군집분석, 신경망분석 등을 소개
이 책의 대상 독자
- R에 관심은 있지만 특별한 동기가 없어서 본격적으로 시작하지 못했던 R 초보자
- 학위 과정을 준비하고 있거나 학위 과정에서 통계분석을 알고 있어야 하는 독자
- 직장에서 매일 다루는 데이터를 의미 있게 분석하고, 해석하고 싶은 직장인
- 데이터과학을 야구를 통해 배우고 싶은 스포츠 팬
이 책의 구성
이 책은 총 6개 장으로 구성됐다. 데이터와 분석 목적이 일치하는가, 측정하려는 개념을 측정하고 있는가, 과학적 예측은 어떻게 하는가, 다름과 같음을 구분할 수 있는가, 분석결과를 호도할 수 있는 소음은 잡아낼 수 있는가에 대해 R에서 메이저리그 경기 데이터를 사용해 직접 실험한 결과를 바탕으로 설명하고 각 장에서 코드를 제시한다.
1장, ‘변수를 알면 분석모델을 디자인할 수 있다’에서는 분석 목적에 맞는 맞춤형 데이터를 만들기 위해 반드시 알아야 하는 데이터 구조와 그 중심에 있는 변수를 메이저리그 데이터베이스를 통해 이해한다. 더불어 데이터 생성, 가공, 분석 활동이 동시에 이뤄져야 하는 비즈니스 환경에서 분석 플랫폼 역할을 하는 R과 오픈소스 R 활용이 궁극적으로 도달해야 하는 데이터 가치 사슬(data value chain)에 대해 설명한다.
2장, ‘메이저리그 데이터 마이닝’에서는 메이저리그 팀과 선수들의 데이터를 활용해 빅데이터로부터 특정 데이터를 추출하거나 데이터의 형태를 변형해 분석 목적에 맞게 준비하는 마이닝 기법을 배운다. 특히 원본 데이터에 어떠한 영향도 주지 않고 코드를 통해 변수를 자유자재로 변형하고 2개 이상의 테이블을 공통 변수로 결합함으로써 제기된 문제에 유연하게 답할 수 있는 방법을 제시한다.
3장, ‘선수의 능력은 어떻게 측정할 것인가?’에서는 데이터 시각화의 시작이자 추정통계의 기반이 되는 상관관계 분석을 활용해 신뢰성과 타당성을 보유한 야구지표의 조건을 파악한다. 또한 장타력과 득점의 상관성을 보여주는 산포도의 다양한 시각화 방법, 감독과 선수의 상관 정도인 인맥을 보여주는 네트워크 분석, 산포도 개념을 활용한 메이저리그 구장 위치 정보 소개, 그리고 조건에 따라 변하는 다양한 상관 정도를 한 번에 보여주는 패널차트 등 분석을 실행하는 데 필요한 데이터 구조와 코딩방법을 소개한다.
4장, ‘상관관계는 인과관계가 아니다’에서는 인과관계를 모델링하는 대표적인 분석 방법인 선형회귀 분석을 실행하기 위해 빅데이터에서 필요한 양의 표본을 임의로 추출해 분석결과를 해석하고 예측하는 방법을 팀타율과 팀득점을 이용해 자세히 설명한다. 특히 예측에서 반드시 발생할 수밖에 없는 다양한 오류를 소개하고, 예측 능력이 좋은 모델을 구별하는 기준이 되는 표준오차가 팀득점 예측에 활용되는 과정을 코드를 통해 이해한다.
5장, ‘비교와 구분’에서는 머신러닝이 주목받으면서 가치가 높아지고 있는 분석을 소개한다. 전통적인 t 검증과 분산분석(ANOVA)뿐만 아니라, 비지도학습법인 판별분석, 요인분석, 군집분석, 신경망분석과 지도학습법인 로지스틱 회귀분석을 메이저리그팀들이 소속된 리그 구분 및 지구(디비전) 우승 여부와 연계해서 학습한다. 이 과정에서 이상치의 확인과 모델에 미치는 영향, 프로 스포츠에서 선수성적 표준편차가 갖는 의미, 그리고 구글 트렌드 데이터를 R에서 활용하는 방법을 소개한다.
6장, ‘모델링’에서는 개념적 관계를 수학적 모델로 전환하는 과정인 모델링에서 관측치가 충분히 많은 빅데이터로 인과관계를 검증한다고 해도 활용할 수 있는 변수가 충분치 않아 측정되지 않은 제3의 변수 때문에 관계는 항상 의심을 받는다는 사실에 주목한다. 메이저리그 팀들의 공격능력과 팀성적 간의 인과관계를 입증하기 위해 통제 변수를 개발하고 눈에 보이지 않는 교란 변수를 통제하는 패널모델 및 다수준 혼합모델을 적용해 인과관계를 테스트하고 모델 적합성을 평가하는 방법을 코드를 통해 배운다. 어려운 개념인 모델링을 야구와 결합함으로써 일반화된 이론모델, 검증할 수 있는 수학모델, 그리고 현실의 데이터를 R에서 결합하는 방법을 쉽게 이해할 수 있다.
지은이의 말
유레카라고 해야 하나? 운명처럼 메이저리그 야구 데이터와 오픈소스 통계 프로그램 R을 동시에 만났을 때, 적절한 시기가 되면 데이터 작업에서 손을 떼야 할 것 같았던 체증이 한 순간에 전광석화처럼 뚫려버렸다. 교수라는 직업으로 생존하기 위해서는 분석을 해야만 했다. 어쩌면 터널이 뚫리기 직전에 그 둘을 만났을지도 모르지만, 만난 이후로는 새로운 세상과 빠르게 연결되고 있음을 느낀다. 각종 매체로부터 쏟아져 나오는 4차 산업혁명이라는 소음에 귀를 막고 있기보다는 자신의 가치를 높일 수 있는 데이터 과학에서 수학과 통계학의 부담감을 내려놓고 메이저리그 야구 데이터를 직접 실험하면서, 모호한 4차 산업혁명을 따라잡기 위한 비즈니스 전략을 가르치는 경영학자의 관점으로 이야기하고 싶어 이 책을 준비했다. 최근에 빅데이터라는 이야기는 지겹게 들었지만 여전히 남의 이야기로 들리고, 지켜만 보다 뒤처지지 않을까라는 고민을 해결할 수 있도록 데이터과학을 메이저리그 이야기와 합쳐서 풀어나간다. 제법 많은 한국인 선수가 활약하고 있어 우리에게 익숙한 메이저리그는 140여 년의 장구한 기간 동안 메이저리거들의 흔적을 데이터로 기록했다. 이러한 데이터를 직접 대면할 때 느끼는 개방성과 거대함, 그리고 정밀함은 데이터 과학에 대한 거침없는 호기심을 불러일으킨다.
특히 수학과 통계학 때문에 데이터과학에 접근하는 데 주저하는 분들에게 이 책이 새로운 통로를 열어줄 터닝포인트가 됐으면 하는 바람이다. 어려서부터 통계에 관심이 있었거나 관련 책을 쓰는 것이 인생의 목표는 아니었다. 박사학위를 마치기 위해 고통받으면서 배웠던 통계지식들이 사라질까 봐, 매번 블로그에 기록으로 남겨놓다 보니 제법 많은 양의 이야깃거리가 됐고, 블로그에 흩어져 있던 내용을 필요한 분들과 나누면 도움이 될 것 같아 책으로 정리했다.
연구과정 생존을 위해 익혔던 분석 방법을 공유하는 만큼 이 책의 첫 번째 수혜자는 석사과정 또는 박사과정 진학을 준비하고 있거나 과정 중에 있는 분들이라 생각한다. 박사과정을 마치고 연구실을 비워줄 때, 끝까지 책상에 꽂혀 있었던 『Rhythms of Academic Life』처럼 박사과정에 진학한 누군가의 책상 위에 놓여 있을 책으로 만들고 싶었다. 두 번째는 직장생활을 하면서 데이터는 쏟아져 나오는데 어떻게 활용할지 모르는 직장인에게 전략적 참고서가 됐으면 한다. 저자가 은행에서 근무하면서 데이터의 가치를 전혀 깨닫지 못하고 살던 적이 있다. 지금 생각해보면 무한으로 생성되던 데이터를 의사결정에 활용하지 않고 주어진 분석결과만 읽으면서 수동적으로 직장생활을 했던 점이 아쉽게 느껴져 과거의 저자와 비슷한 생활을 하고 있을 분들에게 임팩트를 줄 수 있도록 디자인했다. 세 번째는 야구통계가 궁금해서 세이버메트릭스에 관심을 갖기 시작한 분들이 이번 기회에 데이터과학 쪽으로 관심의 폭을 넓히는 데 도움이 됐으면 한다. 사실 야구에서 쏟아져 나오는 선수들의 경기성적 데이터를 현실에 적용하기에는 한계가 있지만, 야구 데이터와 데이터과학의 조합은 야구의 적용범위를 대폭 넓혀준다. 마지막으로 큰 도움을 드릴 수 있는 그룹은 통계 프로그램 언어인 R을 배우려고 마음먹고 있던 분들일 것이다.
최근의 변화를 이끌어가는 사물인터넷, 자율주행 자동차, 인공지능의 큰 트렌드에 동참하려는 분위기가 소셜 네트워크를 통해 전문가를 넘어 일반인들 사이에서도 확산 중이다. 보기 좋게 만들었던 파워포인트의 무의미함에 대한 경고의 목소리가 커지고, 직장인들은 업무를 통해 흘러넘치는 데이터를 정리해놓는 수준에서 벗어나 남들이 보지 못하는 패턴을 모델링해서 대중과 커뮤니케이션하려는 움직임도 명료하게 감지된다. 이러한 과정에서 유튜브와 오픈소스 강의를 통해 자기주도형 학습이 변화를 이끌어가고 있지만, 공개 강의를 따라 잡기 위해 학창시절 보던 수학 정석이나 기초통계 교과서를 다시 열어보다가 모수, 공분산, 임의 변수, 표본오차, 최소좌승법, 최대우도법 같은 단어들이 등장하기 시작하면 내가 갈 길 이 아님을 확인하고 자기주도형 학습을 자기주도로 종료하는 경우가 적지 않다.
명확한 목표 없이 시작하는 데이터 분석에 대한 공부는 참고서를 몇 번 뒤적거리다가 포기하기 쉽다. 학창시절이나 직장에서 분석업무 능력을 키워보려고 통계 공부도 해봤지만 가슴 깊은 곳으로 내려 꽂혔던 기억이 별로 없었다. 특히 통계학 책에서 기업의 제품 불량률, 환자의 혈압수치, 시제품의 효과성, 법률 개정의 효과 등 예제로 사용됐던 내용들이 일상생활과는 동떨어져 데이터가 생산된 배경 자체를 이해하는 것이 어렵다 보니 정작 통계분석을 이해하는 데 방해가 되기도 했다. 배워야 하는 이유는 알았지만, 효과적인 학습에 갈증을 느끼면서 통계를 흥미롭게 가르쳐볼 수 있지 않을까라는 야망을 갖게 됐다. 그리고 바람대로 2016년부터 대학에서 야구 데이터를 이용한 데이터 분석 과목을 강의해 왔고, 2017년부터는 사물인터넷과 빅데이터를 접목한 새로운 과목을 강의하고 있다. 경영학자인 저자가 강의를 준비하면서 얻은 통계와 전략 사이에서 발생하는 교집합을 야구 이야기로 풀어내기 때문에 이론과 숫자가 가득한 무거운 이야기들은 거부한다. 대신에 문제 해결에 대한 논리적 사고, 프로그래밍이라는 손에 잡히는 기술, 통계 메커니즘인 확률이론, 현실의 데이터로 해결모델을 검증하는 과학적 접근방법인 모델링(modeling) 사고에 대한 이야기를 메이저리그 야구를 통해 소개한다.
데이터 분석의 표준이며 무료로 내려받아 사용할 수 있는 통계 프로그래밍 언어 R과 140여 년 이상 축적된 메이저리그 데이터로 이 책의 대부분을 설명하기 때문에 비용 부담 없이 데이터과학에 도전할 수 있다. 이번 기회를 통해 코딩에서 모델링으로 관심을 넓히고, 공식에 숫자를 대입해서 답을 찾는 전통적 공부 방식이 아닌 데이터를 통해 생각을 모델링하는 방식을 통해 데이터과학계의 거대한 축을 담당하고 있는 통계 프로그램 R과 직접 모은 데이터로 가능성을 예측하고 의사결정을 하는 데 도움이 됐으면 한다.