프로그래머들을 위한 통계학습 실습교재 Think Stats 리뷰

Think Stats 표지 프로그래머에 대한 정의가 사람마다 조금씩 틀리겠지만, 데이터 중심의 객체지향 프로그래밍이 흥왕하면서 아마도 데이터를 최전선에서 다루는 사람들로 이야기 할 수도 있지 않을까 싶네요. 이 포스팅에서 한빛리더스7기 미션도서로 리뷰할 Think Stats 역시 데이터를 수학적으로 다루는 통계에 관한 이야기 입니다.

Think Stats은 첫인상을 쓴 포스팅에서 말씀드린대로 한 마디로 프로그래머의 프로그래머에 의한 프로그래머를 위한 통계학 학습 책이라고 말씀드릴 수 있습니다. 따라서 내용은 주로 수학적인 공식과 이론설명보다는 실제 코드구현을 통해서 통계를 프로그래머에게 이해시키는 것이 목적입니다.

log_normal_distribution

이 책은 철저하게 이론 설명, 파이썬 예제, 그리고 용어정리의 구조로 반복됩니다. 그렇기 때문에 그냥 읽기만 해서는 내용을 제대로 소화하기 쉽지 않습니다. 예제코드를 리딩하고 위 그림처럼 코드를 돌려보고 결과를 확인하는 것이 상당히 중요합니다.

brfss_weight_log

혹시 파이썬이 처음이신 분들은 조금 어려울 수도 있습니다. 모든 코드가 파이썬으로 되어 있고 그래프 그릴 때 사용하는 matplotlib를 설치해야하기 때문입니다. 1 잘 설치되면 책의 예제를 따라 위와 같은 로그분포 그래프를 파이썬 코드로 그릴 수 있답니다. ^^

책이 실습위주라서 제 생각에는 최소한 고등학교 수학 선택과정인 확률과 통계 혹은 대학교양수업으로 통계학을 들어본 적이 있어야 읽기에 부담이 덜 할 것 같습니다.

마무리하면서, 이 책의 핵심은 예제의 코드를 돌려보고 결과를 눈으로 보는 것 입니다.  따라서 재미있게 따라해 볼 수 있는 반면에 통계이론에 대한 내용 생략이 많습니다. 주로 위키피디아 참조를 많이 하지요. (저처럼) 통계이론의 빠른 리뷰나 복습용으로는 적절치 않습니다. 오히려 기본 통계공부를 마친 뒤에 실제 활용측면에서 이 책이 빛을 발할 것 같습니다.

모든 프로그래머가 꼭 통계를 공부할 필요가 있는 것은 아니지만, 통계가 필요한 프로그래머에게는 기본적인 통계 공부 후 실습 교재로 Think Stats이 적절한 책이 아닌가 생각해 봅니다.

Notes:

  1. 책에서는 이런 부분에 대한 설명은 없어서 저는 구글링을 통해서 설치법을 찾아서 matplotlib를 설치 했습니다.