품목정보
발행일 | 2021년 04월 09일 |
---|---|
쪽수, 무게, 크기 | 568쪽 | 183*235*35mm |
ISBN13 | 9791162244081 |
ISBN10 | 1162244089 |
발행일 | 2021년 04월 09일 |
---|---|
쪽수, 무게, 크기 | 568쪽 | 183*235*35mm |
ISBN13 | 9791162244081 |
ISBN10 | 1162244089 |
CHAPTER 1 시계열의 개요와 역사 1.1 다양한 응용 분야의 시계열 역사 1.2 시계열 분석의 도약 1.3 통계적 시계열 분석의 기원 1.4 머신러닝 시계열 분석의 기원 1.5 보충 자료 CHAPTER 2 시계열 데이터의 발견 및 다루기 2.1 시계열 데이터는 어디서 찾는가 2.2 테이블 집합에서 시계열 데이터 집합 개선하기 2.3 타임스탬프의 문제점 2.4 데이터 정리 2.5 계절성 데이터 2.6 시간대 2.7 사전관찰의 방지 2.8 보충 자료 CHAPTER 3 시계열의 탐색적 자료 분석 3.1 친숙한 방법 3.2 시계열에 특화된 탐색법 3.3 유용한 시각화 3.4 보충 자료 CHAPTER 4 시계열 데이터의 시뮬레이션 4.1 시계열 시뮬레이션의 특별한 점 4.2 코드로 보는 시뮬레이션 4.3 시뮬레이션에 대한 마지막 조언 4.4 보충 자료 CHAPTER 5 시간 데이터 저장 5.1 요구 사항 정의 5.2 데이터베이스 솔루션 5.3 파일 솔루션 5.4 보충 자료 CHAPTER 6 시계열의 통계 모델 6.1 선형회귀를 사용하지 않는 이유 6.2 시계열을 위해 개발된 통계 모델 6.3 시계열 통계 모델의 장단점 6.4 보충 자료 CHAPTER 7 시계열의 상태공간 모델 7.1 상태공간 모델의 장단점 7.2 칼만 필터 7.3 은닉 마르코프 모델 7.4 베이즈 구조적 시계열 7.5 보충 자료 CHAPTER 8 시계열 특징의 생성 및 선택 8.1 입문자를 위한 예제 8.2 특징 계산 시 고려 사항 8.3 특징의 발견에 영감을 주는 장소 목록 8.4 생성된 특징들 중 일부만 선택하는 방법 8.5 마치며 8.6 보충 자료 CHAPTER 9 시계열을 위한 머신러닝 9.1 시계열 분류 9.2 클러스터링 9.3 보충 자료 CHAPTER 10 시계열을 위한 딥러닝 10.1 딥러닝 개념 10.2 신경망 프로그래밍 10.3 학습 파이프라인 만들기 10.4 순전파 네트워크 10.5 합성곱 신경망 10.6 순환 신경망 10.7 복합 구조 10.8 마치며 10.9 보충 자료 CHAPTER 11 오차 측정 11.1 예측을 테스트하는 기본 방법 11.2 예측하기 좋은 시점 11.3 시뮬레이션으로 모델의 불확실성 추정 11.4 여러 단계를 앞선 예측 11.5 모델 검증 시 주의 사항 11.6 보충 자료 CHAPTER 12 시계열 모델의 학습과 배포에 대한 성능 고려 사항 12.1 일반 사례를 위해 만들어진 도구로 작업하기 12.2 데이터 스토리지 형식의 장단점 12.3 성능 고려 사항에 맞게 분석 수정 12.4 보충 자료 CHAPTER 13 헬스케어 애플리케이션 13.1 독감 예측 13.2 혈당치 예측 13.3 보충 자료 CHAPTER 14 금융 애플리케이션 14.1 금융 데이터의 취득과 탐색 14.2 딥러닝을 위한 금융 데이터 전처리 14.3 RNN의 구축과 학습 14.4 보충 자료 CHAPTER 15 정부를 위한 시계열 15.1 정부 데이터 취득 15.2 대규모 시계열 데이터의 탐색 15.3 시계열 데이터에 대한 실시간 통계 분석 15.4 보충 자료 CHAPTER 16 시계열 패키지 16.1 대규모 예측 16.2 이상 감지 16.3 그 밖의 시계열 패키지 16.4 보충 자료 CHAPTER 17 시계열 예측의 미래 전망 17.1 서비스형 예측 17.2 딥러닝으로 확률적 가능성 향상 17.3 통계적 방법보다 중요성이 더 커진 머신러닝 방법 17.4 머신러닝과 통계를 결합한 방법론의 증가 17.5 일상으로 스며든 더 많은 예측 |
머신 러닝을 다룰 때는 무엇보다 많은 데이터를 다루게 됩니다. 오브젝트 인식, 음성 인식, 추천 시스템 등의 잘 알려진 머신 러닝에서는 하나의 대상을 기준으로 한 데이터를 이용하는 것을 보게 됩니다. 그런데, 시간적인 연속성, 지속성 등의 포함된 데이터는 어떻게 다루어서 처리를 할까라는 의문이 들어 이 책을 보게 되었습니다.
시계열이라는 용어로 사용하는 데이터를 다루는 방법에 대해서 이 책에서 설명하고 있습니다. 날씨, 주식시장, 독감예측 등과 같은 좀 다를 것 같은 데이터 특성을 가진 것에 대해서 데이터를 분석하고, 처리하고, 저장하고, 모델링하여 머신러닝이나 딥러닝 등에 이용하는 부분에 대해서 다룹니다.
책은 시계열의 역사에 대해서 짧게 언급하고 데이터를 다루는 방법을 본격적으로 설명해서 머신 러닝과 딥러닝의 내용까지 설명하고, 실제로 시계열 데이터를 사용하는 애플리케이션들을 예로 들고, 마지막으로 미래 전망까지 다루고 있습니다.
솔직히 이 책은 데이터 공학을 본격적으로 공부하지 않은 사람에게는 어려운 책이라고 생각합니다. 첫 장의 역사 부분은 그럭저럭 가볍게 읽고 넘어갈 수 있었지만, 그 이후에는 어려운 용어와 경험해보지 못하거나 예측해보기 어려운 분야에 대한 설명들이 많아서 대체로 스킵하면서 읽어야 하는 부분이 많았습니다. 하지만, 시계열 데이터를 어떤 과정으로 다루는지에 대해서는 개략적으로 훑어보기에는 좋은 책이었습니다. 시계열 데이터를 대체로 이렇게 다루고 있고, 샘플링, 평활화, 사전 관찰 등과 같은 좀 익숙치 않은 용어들에 대해서도 인식하게 되었다는 점에서 의미를 두고 싶습니다.
이 책을 잘 활용하기 위해서는 우선 데이터 공학에 대한 기본적인 소양을 갖추고 있는 것이 좋을 것 같습니다. 그리고 파이썬과 R 언어는 익숙한 상태에서 이 책을 접근하는 것이 약간의 좌절감을 느낄 수 있는 상황을 피할 수 있지 않을까 합니다. 파이썬 언어에 익숙한 것뿐만 아니라 관련해서 사용하는 판다스나 sklearn 등의 패키지에도 익숙해야 소개하는 예제를 따라갈 수 있을 것 같습니다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
지난 수년간, 수많은 데이터과학, ML/DL 분야의 도서들이 출간되어 왔지만, 유독 그 수가 매우 적은 카테고리가 있습니다. 바로 시계열 입니다. 데이터과학 개론서라던지, 통계학 교재에서 꼭 한 켠에 Time Series Analysis와 같은 이름으로 자리잡고 있긴 하지만, 메인으로 다루는 책은 거의 없었던 것이죠. 찾더라도 대부분, 대학교 내에서 출판하는 교과서 형태의 교재였습니다.
몇 년 전에 개인적으로 Facebook에서 나온 Prophet이라는 시계열 분석 라이브러리를 공부한 적이 있었습니다. 지금은 NeuralProphet이라는 이름으로, PyTorch를 기반으로 하여 신경망을 사용한 시계열 분석까지 가능한 새로운 버전이 출시되기도 했는데요. 과거에도 관련 자료가 국내에 거의 전무하여, 고생했던 기억이 있습니다. 시계열만을 본격적으로 다루는 책도 마땅치 않아, 통계학 책을 뒤적이던 기억도 납니다.
시계열은 이미 다양한 분야에서 사용되고 있습니다. 의료계부터 시작해서 최근에는 신생 헬스케어 기업들까지, ECG를 비롯한 여러 시계열 형태의 의료 데이터를 사용하여 다양한 가치를 창출해내는가 하면, 캐글과 데이콘 등의 각종 데이터 컴패티션에서 다루는 데이터도 상당수는 시계열 형태의 데이터입니다. 그렇기에, 이 책이 가지는 의미는 상당하다고 생각합니다.
책은 전반적으로 매우 꼼꼼하게, 시계열에 대해 다루고 있습니다. 그럼에도, 책의 매력적인 구성 덕분에 쭉 흥미를 가지고 읽을 수 있었습니다. 예컨대, 첫 파트는 시계열의 역사를 주제로 하여, 역사, 천문학, 금융 시장 등 다양한 분야에서 시계열이 사용되어온 사례를 보여주어, 채 몇 장이 되지 않는 분량으로도 간접적으로나마 시계열에 대해 흥미를 가지게 해주고 있습니다. 이어서 등장하는 데이터 취득 및 처리 부분에서는, 일종의 노하우와 같은 내용도 등장합니다. 개인적으로 타임스탬프에 관한 내용이 흥미로웠는데, 단순히 타임스탬프를 유용하게 가져다 쓰는 것이 아닌, 타임스탬프에 내재된 문제들을 제시하고 있습니다. 타임스탬프의 Log가 정말 실제 사건과 일치하지 않을 수 있다거나, 동시에 기록된 앱 사용자의 로그가 구체적으로 어떠한 것을 가르키고 있을지, 그 외의 데이터를 명료하게 이해할 수 있도록 하는 몇 가지 인사이트를 알려주는 부분입니다. 이어서 등장하는 결측치 처리 부분에서도 단순히 방법만을 전수하는 것이 아닌, 각기 다른 방법론에 대한 일종의 팁과 같은 정보를 전달하고 있습니다.
또, 모델 자체를 이해하고자 하는 사람들에게도 상당한 도움이 될 수 있도록, 수식을 풀어서 설명하고 있습니다. AR(Aturoregressive) 모델을 예로 들면, 단순히 해당 모델의 수식을 제시하고 끝내는 것이 아닌, 해당 수식이 어떠한 과정을 거쳐 작용하는지를 몇 장에 걸쳐서 설명합니다. MA, ARMA, ARIMA 모델 또한 마찬가지입니다. 이러한 고전적인 시계열 모델을 살펴본 후에는, 충분한 준비 단계를 거치며 머신러닝을 이용한 시계열 분석을 다루게 됩니다. 여기서는 랜덤 포레스트와 XGBoost를 이용하여 EEG, 뇌전도 데이터를 분류하는 모델을 만들어보는 실습을 진행하였는데요. 아무래도 ML 도서가 아니다보니 깊은 수준의 이해가 가능하도록 내용을 다루기보단 라이브러리를 사용한 실습 위주의 내용이 주를 이루고 있습니다. 이후 딥러닝을 이용한 방법 또한 다루고 있는데, 하이퍼파라미터를 조정하지 전까지, 딱 구현을 해보는 단계 까지만 진행을 하고 있습니다. 이 파트는 전체적으로, 추후 시계열 분석을 활용할 때에 많은 도움이 될 것 같다는 생각이 들었습니다.
언제나 그렇듯, 오라일리의 도서답게, 교과서처럼 친절하게 상세히 시계열 분석에 대해 알려주고 있습니다. 이제, 시계열 분석을 좀 더 제대로 해보고자 하는 분들께, 표지만 봐도 숨이 턱턱 막히는 대학 교재스러운 시계열 분석 도서 대신 추천드릴만한 좋은 책이 나온 것 같습니다.
마치 '시계열 분석 교과서' 라는 제목을 붙여도 될 것만 같은 책입니다. 모쪼록, 시계열 분석에 관심이 있는 분들이라면, 꼭 해당 도서를 읽어보시길 강력 추천 드립니다.
본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 2021> 프로그램의 일환으로, 무상으로 도서를 증정 받고 작성된 리뷰임을 고지합니다.
흔히 말하는 교과서의 전형적인 그리고 다소 인위적인 데이터 (설명을 위해서 다소 비약이 들어간 형태의)가 아니라 우리가 실생활에서 접하는 데이터는 크게 볼륨의 확장과 시간에 따른 변화가 큰 특징이라고 할 수 있다. 점점 더 큰 볼륨의 데이터를 수집하고 그것을 전처리하고 최종적으로 프로덕트에 녹이는 작업은 빅데이터라는 용어를 통해서 많이 알려졌지만, 시간이 지남에 따라서 그 때는 맞았지만 지금은 틀리것과 같은 시계열 데이터 처리에 대한 관심은 상대적으로 덜했던 것 같다.
점점 더 사람들의 니즈가 변하고 비지니스가 빠르게 변하는 만큼 시계열 데이터 분석에 대한 중요성은 더 강조해도 지나침이 없고, 해당 책은 시계열 분석에 대한 어느 정도의 이론을 안다는 전제하에 실제 프로그래밍 언어로 어떻게 분석하는 지 설명하는 책이라고 할 수 있다. 이론적인 부분은 아주 간략하게 필요한 만큼 설명하고 우선 코드 우선으로 데이터 분석의 프로세스를 보여주는 점이 개인 취향에 따라서 호불호가 다소 있을 것으로 보인다.
따라서 필요하다면 이론적인 부분은 https://otexts.com/fpp2/ 와 같은 이론서를 통해서 같이 보강하면서 해당 책을 읽는다면 더 좋은 시너지가 날 것으로 보인다. 추가로 아쉬운 점은 Python과 R을 혼용해서 책의 전개를 하고 있는데 TensorFlow나 PyTorch 모두 현 시점 (2021년 말) 기준으로는 R 에서도 충분히 지원하고 있기 때문에 이런 부분은 조금 아쉽다고 생각된다 (아마 번역서다보니 어쩔 수 없는 부분도 있었겠지만...) 요약해서 정리하자면 시계열 데이터 처리의 이론적인 부분을 어떻게 실제 코드로 적용할 지 코드 레벨로 상세한 설명이 필요하다면 추천한다. 다만 이 책 한권으로 시계열 데이터 분석을 완벽하게 하기는 조금 부족하며, 여러가지 통계적 가정 등을 보조 교재를 통해서 공부하는 것이 바람직하다고 생각한다.