8delp***
2021-05-23

실제 환경에 특화된 시계열 데이터 분석 및 모범 사례를 다루는 실무 지침서다. ARIMA 및 베이즈 상태 공간 같은 표준적인 통계 모델과 계층형 모델을 폭넓게 다루고, 시계열 데이터 모델링의 현대적인 파이프라인 전체를 실용적인 관점에서 안내한다.
시중에 파이썬, R을 활용한 데이터 분석에 대한 책은 정말 많이 나와있다. 그 중에 의료 데이터 같은 바이오 정보를 분석하고자 하는 가이드를 제시하려는 책이 있기도 하고 금융 데이터만을 전문으로 하거나 주식 시장에 적용 가능한 다양한 트레이드 알고리즘을 다룬 책도 있다. 이제 일반적인 머신러닝, 인공지능, 딥러닝을 폭 넓고 큰 범위에서 가르쳐주는 책이 아니라 데이터 분석이라면 어떤 분야의 데이터를, 딥러닝이라면 어떤 모델을? 과 같은 질문에 대한 해답을 제시해주는 책이 많이 나와야 한다고 생각한다.
그런 면에서 아주 유용하고 기념비적인 도서가 지난달 출간되었다. 표지부터 풍성한 털을 가진 귀여운 양이 등장하는 이 책은 '시계열 데이터'만을 다루는 책이다. 표지에 부제로 '통계와 머신러닝을 활용한 예측 기법'이라고 소개하고 있다. 책을 처음 들여다볼때 깜짝 놀랐다. 시계열 분석이라면 너무 막연한데 어떻게 이 특징적인 데이터 형식에 대해 풀어냈을까 궁금했는데 그 주제가 매우 광범위하고 일종의 교과서와 같은 느낌이었다. 정말 시계열 데이터에 대해 다루는 사소한 것 까지도 놓치지 않고 설명하였다.
첫장부터 시계열이라는 것의 역사부터 다루고 있다. 이 장을 자세히 보면 시계열 데이터라는 것이 정말 많은 분야에서 사용되어 왔음을 알 수 있다. 17세기 인구 통계학의 모태에서부터 일기예보에 대한 고대 그리스 철학자 아리스토텔레스의 논문까지 금융, 천문학, 의학, 기상 등등 우리 주변이 얼마나 시계열 데이터로 가득차있고 역사적으로도 그 뿌리가 깊은지 잘 알 수 있었다. 바로 이와 같이 시계열 데이터의 기초와 개요부터 시작해서 그야말로 시계열의 모든 것을 나머지 장에서 다룬다고 보면 되겠다.
이 데이터의 특징, 분석 방법, 여러가지 분석 모델, 오차 측정 등을 소개하기 위해서 우리가 일반적으로 알고 있는 통계학의 많은 부분이 소개된다. 그리고 이를 실제로 현장에서 적용이 가능하도록 파이썬과 R로 설명한 내용을 코드로 구현하였다. 파이썬에서는 역시나 pandas, numpy 등 머신러닝 분야에서 익숙한 패키지를 사용하였고 R에서는 data.table이라는 라이브러리를 사용하였다. 그래서 완전히 코드에 대한 배경지식이 없는 것보다 파이썬이나 R에 어느정도는 선행학습이 필요하다는 것을 강조하고 있다. 중반부부터는 데이터의 특징과 그 특징별로 어떤 방식의 모델로 분석을 해야하는지 깊이 설명하는 부분에서는 패키지의 사용 경험이 없이는 이해하기가 힘들 것이다.
그러나 저자는 이 책을 일일이 다 코드로 쳐보는것보다는 개념에 대한 이해가 더 중요하다고 하고 있다. 그래서 깃허브에 저자가 만든 코드를 직접 보면서 확인해보는것을 추천해주고 있다. 보통은 코드를 직접 쳐보면서 이해를 하라는 것이 일반적인데 코드 구현보다는 이해가 우선이라는 저자의 제안을 통해 이 책을 통해 저자가 달성하고자 하는 방향, 목표를 확인할 수 있었다.
이번에 처음 알게된 것이 시계열 데이터라고 하여 무조건 시간으로 측정되어야 하는 것, 즉 타임스탬프가 반드시 필요한 것은 아니라는 것이다. 이러한 형식을 띄고 있지 않아도 시계열 데이터 분석 방법을 적용하는 방법과 누락된 데이터가 있을 때 이의 보정방법에 대한 자세한 것까지 알게되었다. 실제로 시계열 데이터를 일상적으로 다루는 분들에게는 크게 유용할 것 같다. 또한 입문 수준의 분석가에게는 데이터를 수집하는 방법부터 알려주는 것이 크게 도움이 될 것 같다. 각 장의 내용은 시계열 데이터에 대한 아주 깊은 곳을 다루어 독립적으로 서술되어 있다. 그러나 입문자에게는 순서대로 읽을 것을 추천하고 있다.
내가 왜 이 책이 시계열 데이터 분석의 모든 것을 담고 있다고 했던 이유는 타임스탬프라는 주제로 현지 시간과 세계 표준 시간에 대한 설명이었다. 어떻게 보면 이것은 정말 사소한 것인데 이런 것까지 담았다는 것은 매우 세세한 것까지 신경을 썼다는 말이다. 이 주제로 책을 쓰기 위해 저자의 얼마나 세심한 배려와 노력이 있었는지 독자는 알 수 밖에 없다. 딥러닝과의 관련 내용도 아예 한 장으로 내어 설명을 하고 있다. 지금까지 접했던 다양한 신경망 모델이 시계열 데이터에도 활용 가능한 사례들을 확인할 수 있다.
사례도 풍부한 편인데 헬스케어 애플리케이션, 금융 애플리케이션을 주제로 하여 마찬가지로 각각 챕터를 배정하여 깊게 설명하였다. 예를 들어 헬스케어 애플리케이션 챕터에서는 2004년부터 2013년까지 수집된 프랑스의 주간 독감 보고서 데이터를 분석한다. 실제 데이터까지 데이터를 제공하고 있으니 실전과 거의 같다라고 보면 될 것 같다.
내용이 방대하여 어디까지 소개를 해야할지 모르겠다. 개인적으로는 각 장의 마지막 페이지마다 보충 자료라는 섹션에서 더볼거리를 수록한 것이 흥미러웠다. 논문에서부터 위키백과 페이지, 그리고 유튜브 동영상까지 해당 장에서 다룬 내용을 이해하기 위한 온갖 시청각자료를 뒤에 실어 내용의 풍부함을 더했다.