메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

실전 시계열 분석

통계와 머신러닝을 활용한 예측 기법

한빛미디어

번역서

판매중

  • 저자 : 에일린 닐슨
  • 번역 : 박찬성
  • 출간 : 2021-04-09
  • 페이지 : 568 쪽
  • ISBN : 9791162244081
  • 물류코드 :10408
  • 초급 초중급 중급 중고급 고급
4.8점 (29명)
좋아요 : 8

시계열 분석의 모든 것

 

실제 환경에 특화된 시계열 데이터 분석 및 모범 사례를 다루는 실무 지침서다. ARIMA 및 베이즈 상태 공간 같은 표준적인 통계 모델과 계층형 모델을 폭넓게 다루고, 시계열 데이터 모델링의 현대적인 파이프라인 전체를 실용적인 관점에서 안내한다. 이 책에 담긴 통계와 머신러닝 기술을 활용하면 데이터 엔지니어링 및 분석 과제를 해결하는 방법을 익히고, 시계열 데이터의 핵심을 꿰뚫어볼 수 있는 시각을 얻을 수 있을 것이다.

 

 

주요 내용

  • 시계열 데이터 탐색 및 정리
  • 탐색적 시계열 데이터 분석 수행
  • 시간 데이터 저장
  • 시계열 데이터 시뮬레이션
  • 시계열 기능 생성 및 선택
  • 측정 오류
  • 머신러닝과 딥러닝을 활용한 시계열 예측 및 분류
  • 정확도 및 성능 평가

 

예제 코드

github.com/deep-diver/practical-time-series-analysis-korean

 

 

추천사

 

파이썬과 R 코드를 번갈아 가며 사용합니다. 두 언어 중 한 언어에만 익숙한 독자도 이 책을 볼 수 있습니다. R 코드가 전반적으로 많지만 상세한 설명 덕분에 파이썬으로 쉽게 적용할 수 있습니다. 시계열 분석의 기본적인 부분을 전반적으로 잘 다룹니다. 매우 구조적이고 이해하기 쉽게 쓰였으며 디테일도 놓치지 않았습니다. 원서를 읽을 때는 좀 장황하다는 느낌을 받았지만 역자가 우리말로 옮길 때 이런 부분을 최대한 분명하게 표현하고자 노력했고, 번역서에서 흔히 발견되는 번역 투 표현을 최대한 깔끔하게 다듬었습니다. 마치 국내 저자가 저술한 서적처럼 깔끔하게 읽힙니다. 시계열 분석의 개념을 실무에 적용할 때 참조하기 위한 첫 번째 실전서로 추천합니다. 

_임대경, P&G Korea 데이터 사이언티스트

 

누구나 잘못된 일기예보 때문에 낭패를 겪고 짜증을 낸 경험이 있을 것입니다. 하지만 시계열 모델을 한 번쯤 만든 경험이 있는 사람이라면 미래를 예측하는 일이 얼마나 어려운지 알기에 기상청에서 일하는 분들을 응원할 것입니다. 이 책은 회귀부터 딥러닝까지의 기법들을 숨 가쁘게 몰아치며 설명합니다. 오차를 다루는 대목쯤 되면 지칠 수도 있지만, 이 책의 역할은 방대한 시계열의 입구라는 사실을 명심하기 바랍니다. 여느 책과 달리 참고 문헌을 인용하는 것으로 그치지 않고 R과 파이썬을 MXNet과 텐서플로를 넘나들며 내용을 하나하나 설명합니다. 이 책을 덮는 순간부터 본격적인 시계열 공부가 시작될 겁니다. 시계열에 발을 딛는 모든 분의 무운(武運)을 기원합니다.

_이제현, 한국에너지기술연구원

 

인터넷 시대가 도래한 이후, 우리는 무수하게 쏟아지는 데이터 속에 살고 있습니다. 이 중에는 이미지 같은 정형 데이터도 있고 매일 겪는 날씨, 계절, 교통량 등 정해진 형태는 없지만 시간에 인과를 가진 데이터들도 있습니니다. 알파고에서 시작된 인공지능 붐 속에서 주류는 정형 데이터였고, 이후 정형 데이터를 가공하는 법을 알려주는 많은 책이 출간되었습니다. 하지만 시계열 데이터는 책의 한 챕터만 다루는 등 아쉬움이 많았습니다. 우리에게 중요한 것은 어떤 모델의 사용이 아니라 데이터에 맞는 가공법을 찾는 것입니다. 이 책은 시계열 형태라는 공통점만 가진 자료들을 데이터에 맞게 가공하고 사용하는 직관을 키우는 가이드입니다. 

_시한, VAIS 인공지능 커뮤니티 운영진

 

시계열 문제를 처음 접하는 시린이(시계열 분석 어린이)라면 시계열 데이터라는 개념 자체가 굉장히 생소하게 느껴질 겁니다. 이 책에서 제공하는 시계열 데이터의 기본 개념과 코드를 실전에 활용하면 시계열 문제에 대한 감을 익힐 수 있습니다. 시계열 입문자라면 이 책이 좋은 길잡이가 될 수 있으리라 생각합니다.

_heroseo, 캐글 마스터

 

이 책은 데이터를 준비하는 과정부터 데이터 탐색, 데이터 가공, 머신러닝과 딥러닝을 이용한 모델 개발의 전반적인 과정을 소개합니다. 또한 의료, 금융, 정부 사례와 함께 시계열 분석 및 예측을 적용하는 데 필요한 아이디어도 제공합니다. 시계열 분석 및 예측을 수행하는 모든 비즈니스 의사결정자나 분석가에게 훌륭한 안내서가 되리라 확신합니다.

_ 김정민, GS ITM 기술전략팀 부장

 

시계열 예측을 구현하는 것은 어렵지 않으나, 높은 정확도로 좋은 예측 결과를 내는 것은 매우 어렵습니다. 아무리 훌륭하고 복잡한 알고리즘으로 구현하더라도 예측이 정확하지 않다면 쓸모없는 작업이 됩니다. 이 책에서는 정확한 미래 예측을 위한 데이터 가공 방법부터 다양한 예측 모델링 개발 및 적용 방법까지 체계적으로 설명합니다.

_문선홍, GS ITM 기술전략팀 부장

 

파이썬과 R 두 가지 언어로 시계열 데이터를 설명합니다. 특히 딥러닝의 경우 MXNet으로 처리한 과정을 눈여겨볼 필요가 있습니다. 기본적인 이론은 물론, 데이터 전처리부터 일반적인 시계열, 헬스케어, 주식시장 데이터까지 다룹니다. 시계열 데이터를 집중적으로 공부하고자 하는 독자에게 좋은 참고 자료가 될 것입니다.

_정용우, GS ITM 기술전략팀 부장

 

 

에일린 닐슨 저자

에일린 닐슨

뉴욕을 중심으로 활동하는 소프트웨어 엔지니어이자 데이터 분석가. 헬스케어 스타트업, 정치 캠페인, 물리 연구 실험, 금융거래 등 다양한 분야에서 시계열을 포함한 여러 데이터를 다뤘다. 현재는 예측 애플리케이션을 위한 신경망을 개발 중이다.

박찬성 역자

박찬성

컴퓨터로 할 수 있는 모든 일에 관심이 있습니다. 한국전자통신연구원에서 10년간 광역, 가입자 네트워크 인프라 플랫폼을 연구 및 개발해왔습니다. 그리고 머신러닝 분야의 구글로서 머신러닝 응용, 머신러닝 운용에 대한 커뮤니티 활동도 병행하고 있습니다. 작업한 저/역서로는 『나만의 스마트워크 환경 만들기』(비제이퍼블릭, 2020), 『실전 시계열 분석』(한빛미디어, 2021), 『주머니 속의 머신러닝』(제이펍, 2021), 『fastai와 파이토치가 만나 꽃피운 딥러닝』(한빛미디어, 2021), 『딥러닝을 이용한 정형 데이터 분석』(책만, 2022)이 있습니다.

 

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 일상으로 스며든 더 많은 예측

아마존 데이터 웨어하우스 분야 1위 

시계열 데이터 분석을 A부터 Z까지 다루는 실전 가이드

 

시계열 분석은 기상청, 금융·정부 기관 등 우리 실생활과 밀접한 곳에서 미래를 예측하고 대비하기 위해 사용됩니다. 시계열 데이터는 사물인터넷으로 인한 데이터 대량 생산, 헬스케어 분야의 디지털 전환, 스마트 도시의 부상 등으로 중요성이 더 커지고 있으며, 그 영향력이 모든 산업 분야로 확장될 것입니다.

 

이 책은 정확한 시계열 분석과 예측을 위해 시계열 데이터와 모델링의 파이프라인 전체(획득, 정리, 시뮬레이션, 저장, 모델링)를 실용적인 관점에서 폭넓게 바라보고 R과 파이썬 코드를 곁들여 설명합니다. 전반부에서는 시계열 예측의 전체 과정을 이해하는 데 기본이 되는 개념을 소개합니다. 시계열 데이터의 탐색, 수집, 정리와 ARIMA, SARIMA 모델 등을 다룹니다. 후반부에서는 MXNet과 텐서플로를 활용하여 헬스케어, 금융, 정부 데이터의 연구 사례에 시계열 기법을 대입하는 방법을 배우고 저자의 풍부한 경험을 녹여낸 다양한 예제도 소개합니다. 

 

마지막으로 각 장에 해당하는 주제와 필수 기법에 대한 튜토리얼을 제공하는 링크를 수록했습니다. 이 책 한 권이면 실세계에서 시계열 데이터를 활용하여 시계열을 분석하고 예측하기 위한 준비를 마칠 수 있습니다. 이 실전 가이드로 시계열 예측의 정확도를 높일 수 있길 바랍니다.

머신러닝을 하다 보면 자주 접하는 데이터의 형태는 여러 가지가 있지만, 시계열 데이터는 특히 조심스럽게 다루어야 한다 생각한다. 시간에 따라 어떻게 가중치를 두는지, 또한 행, 열 별로 시간과 엮을 만한 데이터들이 있는지도 알아보아야 한다.

 

 

이 책은 그러한 측면에서 시간에 따른 변화를 나타내는 데이터를 처리하고 머신러닝을 하기에 딱 맞는 책이다.

 

 

책은 먼저 시계열 데이터의 수집, 전처리 등을 소개하고, 이후 다양한 머신러닝, 딥러닝 모델들을 소개한다. 그리고 독감 데이터, 금융 데이터 등의 시계열 데이터를 활용하여 실제 예제를 만들어 소개하고 있다.

 

 

다만 아쉬웠던 것은 책에서 파이썬과 R을 동시에 다루면서 진행되다 보니, 그래프 제작이나 몇몇 예제들에서는 파이썬만, 또는 R만 이용해 코딩이 이루어지기도 한다. 파이썬 유저로써는 이런 것들이 조금 추가되었으면 했다.

 

 

그래도 ‘시계열 데이터’를 특정짓고 이를 불러오고, 전처리하고, 모델링하고, 학습하는 것까지 전체적으로 필요한 내용들이 모두 들어있는 책이라고 생각한다. 책을 하나하나 따라가다 보면, 시계열 데이터의 A 부터 Z까지, 더 나아가서 실무에서의 시계열 데이터를 통한 머신러닝, 딥러닝까지 이 책 한권을 통해서 실전까지 데이터 분석이 가능할 것이다.

 

 

책을 읽으면서 ‘예측’이라는 것이 생각보다 훨씬 어렵고, 그렇기에 많은 자원이 필요하다는 것을 다시금 느끼게 되었다.

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

0. 도서 정보

 - 도서 명 : 실전 시계열 분석

 - 저자 : 에일린 닐슨

 - 링크 

 

 

1. 후기

 - 시계열 분석 만큼 인류의 역사에서 오래된 분석은 없을 것이라고 생각한다. 고대 이집트인들은 달(moon)의 움직임을 기록하여 달(month)의 기준을 정했고, 그렇게 기록하며 언제 나일강이 범람하고, 추수를 해야 하는지를 기록했다. 현재 시대에 와서도 주식, 부동산 시세, 일기예보 등 정말 다양한 범위에 사용된다. 해당 도서는 시계열에 데이터에 대한 분석을 여러 방법으로 푸는 것을 보여주며, 기본적인 데이터 전처리, 시각화, 통계모델, 딥러닝에 이르기까지 정말 다양하게 보여준다. 난이도에 관련해서는 쉽다고는 볼 수 없다. 입문자에게는 추천하지 않는다. 그렇기에 어느정도 코드나 데이터 전처리에 익숙한 분들에게 추천한다. 개인적으로 아쉬운 부분은 R 과 python 을 섞었다는 점인데... 쓰려면 해당 결과가 나오는 방법을 R 과 python 을 동시에 보여주던지 하나만 보여주던지... 하는 아쉬움이 있다.

시계열 데이터 분석은 난해한 분석과 해석 모두 난해한 부분이 많은 분야입니다. 일독을 하면서 깊은 이해는 못했지만 어렴풋이 알고있던 개념들이 정리되는 느낌을 받았고, 추후 시간을 내어 집중 학습한다면 레벨이 한단계 상승할 것이라고 기대하고 있습니다. 
 
실생활의 대부분의 데이터가 시계열인만큼 기초를 탄탄히 하시고 발전시키신다면 분석가로서 큰 경쟁력을 가질 수 있을거라고 생각합니다.
 

표지.jpg

 

 

실전 시계열 분석.jpg

 

 

머신 러닝을 다룰 때는 무엇보다 많은 데이터를 다루게 됩니다. 오브젝트 인식, 음성 인식, 추천 시스템 등의 잘 알려진 머신 러닝에서는 하나의 대상을 기준으로 한 데이터를 이용하는 것을 보게 됩니다. 그런데, 시간적인 연속성, 지속성 등의 포함된 데이터는 어떻게 다루어서 처리를 할까라는 의문이 들어 이 책을 보게 되었습니다.

시계열이라는 용어로 사용하는 데이터를 다루는 방법에 대해서 이 책에서 설명하고 있습니다. 날씨, 주식시장, 독감예측 등과 같은 좀 다를 것 같은 데이터 특성을 가진 것에 대해서 데이터를 분석하고, 처리하고, 저장하고, 모델링하여 머신러닝이나 딥러닝 등에 이용하는 부분에 대해서 다룹니다.

책은 시계열의 역사에 대해서 짧게 언급하고 데이터를 다루는 방법을 본격적으로 설명해서 머신 러닝과 딥러닝의 내용까지 설명하고, 실제로 시계열 데이터를 사용하는 애플리케이션들을 예로 들고, 마지막으로 미래 전망까지 다루고 있습니다.

솔직히 이 책은 데이터 공학을 본격적으로 공부하지 않은 사람에게는 어려운 책이라고 생각합니다. 첫 장의 역사 부분은 그럭저럭 가볍게 읽고 넘어갈 수 있었지만, 그 이후에는 어려운 용어와 경험해보지 못하거나 예측해보기 어려운 분야에 대한 설명들이 많아서 대체로 스킵하면서 읽어야 하는 부분이 많았습니다. 하지만, 시계열 데이터를 어떤 과정으로 다루는지에 대해서는 개략적으로 훑어보기에는 좋은 책이었습니다. 시계열 데이터를 대체로 이렇게 다루고 있고, 샘플링, 평활화, 사전 관찰 등과 같은 좀 익숙치 않은 용어들에 대해서도 인식하게 되었다는 점에서 의미를 두고 싶습니다.

이 책을 잘 활용하기 위해서는 우선 데이터 공학에 대한 기본적인 소양을 갖추고 있는 것이 좋을 것 같습니다. 그리고 파이썬과 R 언어는 익숙한 상태에서 이 책을 접근하는 것이 약간의 좌절감을 느낄 수 있는 상황을 피할 수 있지 않을까 합니다. 파이썬 언어에 익숙한 것뿐만 아니라 관련해서 사용하는 판다스나 sklearn 등의 패키지에도 익숙해야 소개하는 예제를 따라갈 수 있을 것 같습니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


 

 

지난 수년간, 수많은 데이터과학, ML/DL 분야의 도서들이 출간되어 왔지만, 유독 그 수가 매우 적은 카테고리가 있습니다. 바로 시계열 입니다. 데이터과학 개론서라던지, 통계학 교재에서 꼭 한 켠에 Time Series Analysis와 같은 이름으로 자리잡고 있긴 하지만, 메인으로 다루는 책은 거의 없었던 것이죠. 찾더라도 대부분, 대학교 내에서 출판하는 교과서 형태의 교재였습니다.

 

몇 년 전에 개인적으로 Facebook에서 나온 Prophet이라는 시계열 분석 라이브러리를 공부한 적이 있었습니다. 지금은 NeuralProphet이라는 이름으로, PyTorch를 기반으로 하여 신경망을 사용한 시계열 분석까지 가능한 새로운 버전이 출시되기도 했는데요. 과거에도 관련 자료가 국내에 거의 전무하여, 고생했던 기억이 있습니다. 시계열만을 본격적으로 다루는 책도 마땅치 않아, 통계학 책을 뒤적이던 기억도 납니다.

 

시계열은 이미 다양한 분야에서 사용되고 있습니다. 의료계부터 시작해서 최근에는 신생 헬스케어 기업들까지, ECG를 비롯한 여러 시계열 형태의 의료 데이터를 사용하여 다양한 가치를 창출해내는가 하면, 캐글과 데이콘 등의 각종 데이터 컴패티션에서 다루는 데이터도 상당수는 시계열 형태의 데이터입니다. 그렇기에, 이 책이 가지는 의미는 상당하다고 생각합니다.

 

책은 전반적으로 매우 꼼꼼하게, 시계열에 대해 다루고 있습니다. 그럼에도, 책의 매력적인 구성 덕분에 쭉 흥미를 가지고 읽을 수 있었습니다. 예컨대, 첫 파트는 시계열의 역사를 주제로 하여, 역사, 천문학, 금융 시장 등 다양한 분야에서 시계열이 사용되어온 사례를 보여주어, 채 몇 장이 되지 않는 분량으로도 간접적으로나마 시계열에 대해 흥미를 가지게 해주고 있습니다. 이어서 등장하는 데이터 취득 및 처리 부분에서는, 일종의 노하우와 같은 내용도 등장합니다. 개인적으로 타임스탬프에 관한 내용이 흥미로웠는데, 단순히 타임스탬프를 유용하게 가져다 쓰는 것이 아닌, 타임스탬프에 내재된 문제들을 제시하고 있습니다. 타임스탬프의 Log가 정말 실제 사건과 일치하지 않을 수 있다거나, 동시에 기록된 앱 사용자의 로그가 구체적으로 어떠한 것을 가르키고 있을지, 그 외의 데이터를 명료하게 이해할 수 있도록 하는 몇 가지 인사이트를 알려주는 부분입니다. 이어서 등장하는 결측치 처리 부분에서도 단순히 방법만을 전수하는 것이 아닌, 각기 다른 방법론에 대한 일종의 팁과 같은 정보를 전달하고 있습니다.

 

또, 모델 자체를 이해하고자 하는 사람들에게도 상당한 도움이 될 수 있도록, 수식을 풀어서 설명하고 있습니다. AR(Aturoregressive) 모델을 예로 들면, 단순히 해당 모델의 수식을 제시하고 끝내는 것이 아닌, 해당 수식이 어떠한 과정을 거쳐 작용하는지를 몇 장에 걸쳐서 설명합니다. MA, ARMA, ARIMA 모델 또한 마찬가지입니다. 이러한 고전적인 시계열 모델을 살펴본 후에는, 충분한 준비 단계를 거치며 머신러닝을 이용한 시계열 분석을 다루게 됩니다. 여기서는 랜덤 포레스트와 XGBoost를 이용하여 EEG, 뇌전도 데이터를 분류하는 모델을 만들어보는 실습을 진행하였는데요. 아무래도 ML 도서가 아니다보니 깊은 수준의 이해가 가능하도록 내용을 다루기보단 라이브러리를 사용한 실습 위주의 내용이 주를 이루고 있습니다. 이후 딥러닝을 이용한 방법 또한 다루고 있는데, 하이퍼파라미터를 조정하지 전까지, 딱 구현을 해보는 단계 까지만 진행을 하고 있습니다. 이 파트는 전체적으로, 추후 시계열 분석을 활용할 때에 많은 도움이 될 것 같다는 생각이 들었습니다. 

 

언제나 그렇듯, 오라일리의 도서답게, 교과서처럼 친절하게 상세히 시계열 분석에 대해 알려주고 있습니다. 이제, 시계열 분석을 좀 더 제대로 해보고자 하는 분들께, 표지만 봐도 숨이 턱턱 막히는 대학 교재스러운 시계열 분석 도서 대신 추천드릴만한 좋은 책이 나온 것 같습니다.

 

마치 '시계열 분석 교과서' 라는 제목을 붙여도 될 것만 같은 책입니다. 모쪼록, 시계열 분석에 관심이 있는 분들이라면, 꼭 해당 도서를 읽어보시길 강력 추천 드립니다.

 

 

 

본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 2021> 프로그램의 일환으로, 무상으로 도서를 증정 받고 작성된 리뷰임을 고지합니다.

출처: https://goaloflife.tistory.com/222 [Reader]

자료 분석 관련 업무를 하다보면 시계열 분석이라는 말을 많이 접하게 됩니다. 최근 다양한 분야에서 활발하게 시계열 분석을 꽤 하는 것을 보고 관심이 생기게 되었다가 좋은 기회가 있어서 '실전 시계열 분석'을 읽게 되었습니다.

 

'실전 시계열 분석'은 대상 독자를 '시계열 데이터를 다뤄보지 않은 데이터 과학자'와 '대규모 데이터를 수집하는 기관에 소속된 관리자'로 생각하여 쓰였으며 독자가 R과 파이썬, 통계학(분산, 상관관계, 확률분포), 머신러닝(군집화, 의사결정 트리), 신경망에 대한 지식이 있음을 전제로 하여 쓰였습니다.  저의 경우 R과 통계학, 머신러닝 쪽은 지식이 얕았지만 일단은 읽었습니다. 100% 이해는 하지 못 해도 어느 정도까지는 이해할 수 있었습니다. 모르는 것이 나오면 그 때 찾아봐도 늦지 않았습니다.

 

결론적으로 말하자면 이 책에 있는 지식을 익히게 되면 시계열이라는 공통적인 형태를 가진 자료를 자료특징에 적절하게 가공하고 사용하는 직관을 키울 수 있었습니다. 이를 통해 분석된 결과를 통해 정확한 예측을 수행하고 중요한 비즈니스를 성공적으로 진행할 수 있을 것입니다. 

흔히 말하는 교과서의 전형적인 그리고 다소 인위적인 데이터 (설명을 위해서 다소 비약이 들어간 형태의)가 아니라 우리가 실생활에서 접하는 데이터는 크게 볼륨의 확장과 시간에 따른 변화가 큰 특징이라고 할 수 있다. 점점 더 큰 볼륨의 데이터를 수집하고 그것을 전처리하고 최종적으로 프로덕트에 녹이는 작업은 빅데이터라는 용어를 통해서 많이 알려졌지만, 시간이 지남에 따라서 그 때는 맞았지만 지금은 틀리것과 같은 시계열 데이터 처리에 대한 관심은 상대적으로 덜했던 것 같다.

점점 더 사람들의 니즈가 변하고 비지니스가 빠르게 변하는 만큼 시계열 데이터 분석에 대한 중요성은 더 강조해도 지나침이 없고, 해당 책은 시계열 분석에 대한 어느 정도의 이론을 안다는 전제하에 실제 프로그래밍 언어로 어떻게 분석하는 지 설명하는 책이라고 할 수 있다. 이론적인 부분은 아주 간략하게 필요한 만큼 설명하고 우선 코드 우선으로 데이터 분석의 프로세스를 보여주는 점이 개인 취향에 따라서 호불호가 다소 있을 것으로 보인다.

따라서 필요하다면 이론적인 부분은 https://otexts.com/fpp2/ 와 같은 이론서를 통해서 같이 보강하면서 해당 책을 읽는다면 더 좋은 시너지가 날 것으로 보인다. 추가로 아쉬운 점은 Python과 R을 혼용해서 책의 전개를 하고 있는데 TensorFlow나 PyTorch 모두 현 시점 (2021년 말) 기준으로는 R 에서도 충분히 지원하고 있기 때문에 이런 부분은 조금 아쉽다고 생각된다 (아마 번역서다보니 어쩔 수 없는 부분도 있었겠지만...) 요약해서 정리하자면 시계열 데이터 처리의 이론적인 부분을 어떻게 실제 코드로 적용할 지 코드 레벨로 상세한 설명이 필요하다면 추천한다. 다만 이 책 한권으로 시계열 데이터 분석을 완벽하게 하기는 조금 부족하며, 여러가지 통계적 가정 등을 보조 교재를 통해서 공부하는 것이 바람직하다고 생각한다.

# 실전 시계열 분석

 

- 시계열 데이터(time-series data)는 시간 순서대로 정의된 데이터를 의미합니다. 시계열 분석이란 최근 몇 개월간의 주식 시장 데이터, 기상 환경 데이터 등 과거 데이터를 기반으로 유의미한 정보를 추출하는 행위입니다. 이커머스(e-commerce) 분야에서 고객의 상품 구매 행동 패턴 변화를 알아보기 위해서도 지난 과거에 구매했던 상품들을 참고하는 것 역시 시계열 분석의 한 종류이기도 합니다.

- 이처럼 데이터를 누적하여 저장하고, 저장된 데이터를 활용하여 어떤 작업을 수행하는 것이 시계열 분석이라 할 수 있습니다. 머신러닝 & 딥러닝 어플리케이션 환경에서 데이터는 지속적으로 수집하고 활용하기 때문에 우리가 다루는 대부분의 데이터는 시계열 데이터로 확장할 수 있습니다.

- 지금 당장 시계열 데이터를 다루지 않더라도, 미래에는 시계열 데이터에 대한 처리, 분석 능력이 필요합니다. 우리가 다루는 데이터는 결국 시계열 데이터 형태로 확장될 것이기 때문이죠.

 

 

## 책의 구성

 

- [실전 시계열 분석]은 다양한 분야의 시계열 데이터를 다루고 있습니다. 헬스케어(Chapter 13), 금융(Chapter 14), 정부 또는 정책과 관련된 데이터(Chapter 15) 등 시계열 분석 방법을 활용하기 적합한 데이터를 소개합니다.

- 시계열 데이터 분석을 위해 고전적인 통계 방법과 최신의 머신러닝 & 딥러닝 방법을 사용하여 다양한 분석 방법을 소개하고 있습니다.

- 데이터 분석을 위한 모델에 대한 설명뿐만 아니라 데이터 수집, 정리, 시뮬레이션 등 전처리 단계((pre-processing)를 먼저 학습합니다.

 

 

## 대상 독자

 

- 시계열 데이터가 아직 익숙하지 않고, 처음 들어보는 독자에게 시계열 분석 분야의 입문 도서로 적합하다 생각합니다. 머신러닝 알고리즘을 개발하다 보면 데이터 수집, 관리, 학습, 평가 등 하나의 머신러닝 학습 파이프라인을 구축하는 것이 매우 중요한데, [실전 시계열 분석] 책은 빠짐없이 모두 소개하고 있습니다.

- 또한 단순한 머신러닝 모델링에 집중하는 것이 아니라 데이터 구조와 구성에 대해 살펴보며 자신만의 필요한 데이터를 구축하는 방법까지 확장할 수 있는 아이디어를 제공합니다.

 

> 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

[나의 한줄 추천사]

시계열 데이터 다루는 방법을 A-Z 까지 알고 싶을때 보라

[책 추천 이유]

주식 데이터를 다룰때 시계열 데이터를 다루는 방법을 단편적으로 리서칭 했었는데, 해당 책을 통해서 기본적인 시계열 데이터의 특징부터 실시간 시계열 데이터 저장하는 방법, 데이터 분석 하는 방법까지 전부 알아 볼 수 있는 기회가 된다.

[내가 찾고자 했던 질문들]

1.시계열 데이터의 일반적인 문제들은?

- 누락된 데이터 (결측 데이터)

- 시계열의 빈도 변경(업샘플링, 다운샘플링)

- 데이터 평활

- 데이터의 계절적 변동 문제 해결

- 의도치 않은 사전관찰의 방지

2.시계열 데이터의 특성은?

- 읽기 작업보다는 쓰기 작업이 지배적으로 많이 발생함

- 데이터 쓰기, 읽기, 업데이트 작업은 임의의 순서가 아닌 일련의 사건이 일어나는 사건 순으로 이뤄짐

- 트랜잭션 데이터보다 훨씬 더 동시성 읽기가 수행될 가능성이 높음

- 타임스탬프을 기본키로 둘 경우가 많음

- 개별 삭제보다는 데이터 뭉치 형태로 삭제하는 것이 훨씬 일반적임

3.시계열 데이터 NoSQL 저장시 장점은?

- NoSQL 쓰기 속도가 빠르다.

- NoSQL은 미래 데이터를 아직 충분히 알지 못해서 스키마 정의가 어려울때 유리함

- NoSQL은 비전문가도 즉시 사용가능

4.시계열 데이터 통계 / 머신러닝 / 딥러닝 접근법은?

- 통계 : 자기회귀 모델, 이동평균 모델, 자기회귀누적이동평균 모델, 벡터자기회귀

- 머신러닝 : 결정트리 기법(분류), 클러스터링

- 딥라닝 : RNN(LSTM)

5.시계열 데이터 활용한 서비스들은?

- 헬스케어(독감 예측, 혈당치 예측), 금융 (주식 예측), 기상 (기상 예측), 정부 (전기사용량 예측)

6.좀더 알고 싶다면?

https://github.com/deep-diver/practical-time-series-analysis-korean

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

책의 제목 『Practical Time Series Analysis 실전 시계열 분석』 에서 알 수 있듯이 이 책은 실제 환경에서의 시계열 데이터 분석에 초점을 맞춤 실무 지침서이다. 즉, 입문서가 아니다. 저자는 대상 독자로 다음 두 분류를 이야기한다.

  1. 숙련된 산업 종사자나 주니어 분석가, 그러나 시계열 데이터는 다뤄보지 않은 데이터 과학자
  2. 대규모 데이터를 수집하는 기관에 소속된 관리자
 

 

같은 이유에서 책을 읽으려면 데이터 분석에서 많이 쓰이는 언어와 라이브러리(패키지) 등 일부 도구에 대해서는 익숙해야한다고 소개한다. R과 R의 data.table 같은 패키지 그리고 파이썬과 머신러닝에 많이 사용되는 Numpy, Pandas, scikit-learn 등이 대표적이다. 이와 함께 통계학과 머신러닝의 필수 개념인 아래 내용은 보완할 수 있는 다른 책들을 함께 보는 것이 좋다.

  • 통계학: 분산, 상관관계, 확률분포 등
  • 머신러닝: 군집화, 의사결정 트리 등
  • 신경망 ...

 

정리하자면,

이 책은 500페이지가 넘는 분량으로 상당히 두껍고 입문자들을 배려하는 책은 아니다. 다만 앞서 말한 프로그래밍 도구들이나 패키지들에 익숙하다면 읽어 나가는데 큰 무리는 없다. 물론 실전에 적용하는 것은 다른 문제. 전통적인 기법으로 시계열 데이터를 분석하는 방법이나 도구에 대한 자료는 꽤 많이 있는데 머신러닝을 이용해 시계열 데이터를 처리하는 방법에 다룬 자료는 생각보다 많지 않다. 그만큼 이 책이 가치있다고도 볼 수 있고, 아직도 전통적인 기법들이 상당히 훌륭한 성능을 보인다고도 볼 수 있다. 맹목적으로 머신러닝을 믿을 순 없지만, 발전한지 아직 얼마 되지 않았으니 앞으로 더 기대할 수 있을 것이다. 그런 면에서 이 책은 기본을 미리 닦아두고 흥미를 유발하기에도 충분하다. 물론 실전적인 내용도 빠짐없이 풍부하게 포함되어 있어서 더욱 좋다.

시계열(時系列, time series)이라는 단어가 머신러닝의 활성화에 힘입어 보편화되고 있다. 주식으로 대표되는 금융데이터를 포함해서 책에서 제시하는 통찰력을 얻고 나면 주변에 많은 시계열 데이터가 있음을 알 수 있다. 그러나 막상 분석에 사용할 시계열 데이터를 가공, 정제하기 쉽지 않은데 이 책 초반부에는 데이터를 수집, 정리, 시뮬레이션하여 유용하게 사용할 수 있는 방법을 제시한다.

이어서 실제 시계열 분석에 사용되는 다양한 모델링 기법을 제시한다. 전통, 표준적인 통계 모델으로 시작해서 최근에 개발된 머신러닝과 신경망을 시계열 데이터에 적용해 본다.

단순히 모델 적용에 그치는 것이 아니라 정확성에 대한 계량적 분석과 성능을 위한 고려사항에 대해서도 안내해 주고 있다.

후반부에서는 시계열의 최근 발전 동향, 앞으로의 예측을 다루고 있다.

시계열 데이터의 가공에서 부터 모델 적용, 실전 그리고 데이터를 통한 앞으로의 미래를 내다보기 위해서 이 책 '실전 시계열 분석'이 큰 길잡이가 되어줄 것이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

저자는 시계열에 대해 굉장한 열정을 가지고 많은 주제들에 대해서 분석하고 예측하면서 연구하고 있으며 시계열을 다루는 현대적인 방법에 대한 아쉬움을 느끼고 모든 주제를 통합적으로 다루면서 동시에 상관관계를 설명하기 위해 이 책을 집필하였다

 

 

이 책에서는 시계열의 실생활에서 직접적으로 활용되고 있고 활용할 수 있을만한 매우 흥미로운 주제들을 많이 다루고 있으며 현재도 연구중이며 아직까지 결론이 나지않은 많은 주제들이 있다는 것을 알 수 있게 되어

 

독자의 시계열에 흥미를 충분히 가지고 책을 즐겁게 읽어나갈 수 있도록 자극한다

 

 

또한 옮긴이가 구글 코랩에서 저자의 코드를 모두 옮겨 놓아 쉽게 코드를 확인하고 시각화 그래프를 확인할 수 있는 점도 이 책의 퀄리티를 한층 더 높였다는 생각이 들었다

 

 

시계열에 관심이 있는 사람이라면 이 책을 정독하면서 시계열에 대해 깊이 있게 알아보는 것을 적극 추천 해본다

 



pt1.jpg

 

pt2.jpg

 

pt3.jpg

 

pt4.jpg

 

pt5.jpg

 

pt6.jpg

 

시계열 분석에 대한 책이 나왔다.

통계적인 방법에 더해 머신러닝과 딥러닝을 포함해 실제 사용 사례를 다룬다.

통계학적 내용의 많은 부분을 다루고 있지만, 전문적인 통계에 미숙해도 R과 파이썬코드를 통해 효과적으로 실무에 사용할 수 있게 설명을 하고 있다. 

각 장의 마지막에 보충자료를 통해 더 많은 읽을거리를 제공해 호기심이 있는 사람들이 찾아보기 쉽게 안내해놓았다.

 

기본적으로 R과 파이썬에 익숙한 독자를 상정한 책이다. 모르면 어려울 수 있다. 

시계열 데이터에 입문해 공부를 해보려는 독자부터 현업에 종사하는 사람까지 한번 쯤 읽어보고 공부 혹은 실무에 적용해 보면 큰 도움이 될것이다. 

이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.

 

 

늦게 시작한 대학원 석사과정의 학위 논문을 준비하면서 시계열 데이터 분석이 필요한 상황이었다.


확률/통계라는걸 20여년도 넘은 대학 1~2년 시절에 공부하고 이제와서 다시금 이런것을 살펴와야 하는 상황이 낯설고 어렵기만 하다.


일반적으로 시계열 데이터 경제학 관련해서 연구와 활용이 많이 되어 왔고 통계적 기법과 모델이 아직까지는 대세인 분야라 수학적 특히 통계관련 지식이 없으면 접근하기가 여간 까다로운게 아니다.


요즘 웹검색이나 유튜브 검색해보면 시계열 분석과 관련한 많은 자료와 영상이 있긴 하지만 다들 케바케에다 단편적인 상황들에 대한 내용이라 기본 베이스 없이 출발하면 이해하기가 힘들다, 반면 체계적으로 시리즈화 되어 있는 것들은 다 학문적 접근이 대부분이고 내용이나 구성이 학교 수업같아 현실세계에 적용하기에는 다소 괴리가 있다.


나 같은 경우는 기초부터 응용까지 진득하게 살펴보고 내 논문에 필요한 부분을 적용해볼 수 있는 책이 있으면 했는데, 그간 찾아 본것들중 그나마 괜찮은게 대학교재 같은 것들이나 단기간 살펴보고 써먹어야 하는 나로서는 적합하지 않았다. 내용도 통계학과 학생들에 적합한 구성이라 IT엔지니어가 진득하게 보기에는 한계가 크다.


한빛미디어의 '실전 시계열 분석' 책은 이러한 상황에 매우 훌륭한 책이 아닐수 없다.


이 책은 데이터를 먼저 이해시키고 모델과 기법 특히나 전통적인 통계적 방법에서 시작해서 머신러닝/딥러닝까지 설명하고 실제 사용 사례를 살펴볼 수 있도록 구성되어 있어 기존 책이나 자료와 다르게 아주 효과적으로 실무적인 접근까지 가능하다.


또한 R이나 파이썬 기반으로 돌려볼 수 있는 소스로 설명하고 있음으로 전문적인 통계를 모르는 사람도 이해하기 쉽고, 통계를 아는데 개발 경험이 없는 사람도 예제 소스를 돌려봄으로써 이론을 실제 프로그래밍을 통해 활용할 수 있게 접근이 가능하다.


시계열 분석에 대한 데이터 + 통계적 방법 + ML/DL 방법 을 통합적이고 실용적으로 다루는 최초의 책이 아닌가 싶지만 한가지 아쉬운 부분은 어떨때는 R로 어떨때는 파이썬으로 설명이 되어 있다보니 두 언어를 다 할 수 있어야 따라가기 쉽다는 점은 좀 아쉽기는 하다.

통계분석쪽에 R을 사용한지가 꽤 오래됐긴 하지만 그래도 최근 분석관련해서 가장 많이 쓰는게 파이썬이라는 점을 생각하면 이런면에서는 다소 아쉬운 부분이 없지않아 있다.


그럼에도 불구하고 정상성이니 뭐니 이런 데이터와 통계쪽 개념들을 살펴보고 실제 모델을 돌려서 적용방법에 대한 이해를 한 다음 실제 활용 사례까지 쭉 나가가서 한권으로 학습해볼 수 있는 장점이 더 크다 할 수 있을 것 같다.




※ 본 리뷰는 IT 현업개발자가, 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다.

본 도서는 한빛미디어 도서 서평단 <나는 리뷰어다 2021>로 선정되어 받은 도서입니다.

우리는 데이터를 활용해서 많은 문제들을 풀고자 합니다. 그 중에 하나가 미래에 대한 예측이죠. 그리고 많은 데이터들이 시간을 따라 쌓이기 때문에 시계열은 데이터 분석에서 아주 중요한 분야입니다.


이 책은 처음에 시계열 데이터의 예측에 대해서 소개하고 있습니다. 그 다음에는 우리가 데이터 분석에서 모델링 전에 필수적으로 거치는 과정들인 전처리, EDA와 함께 시뮬레이션을 통한 데이터 생성, 저장을 위한 데이터베이스에 대한 지식들을 각각의 장에서 소개하고 있습니다.


그 다음에는 전통적인 통계학에서 활용되는 시계열 모델들과 최근에 핫하게 활용되는 머신러닝 모델을 소개합니다. 이와 함께 시계열 데이터를 시간적인 요소를 고려하지 않는 의사결정나무와 같은 모델들에 어떻게 활용하는지에 대해서도 알려주고 있습니다. 모델의 성능을 개선하고, 어떤 사항들을 고려해야하는지에 대한 가이드도 존재합니다.


이후에는 헬스케어, 금융 등의 실제 데이터 활용에서 시계열 분석이 어떻게 활용되는지, 그리고 시계열 분석이라는 분야에서 최근 다루어지고 있는 이슈들에 대해서 설명하고 있습니다.


기억에 남는 점은 R, Python 둘 다 활용하고 있다는 점입니다. 필수 배경지식으로 패키지들에 익숙해야한다고 나와있지만, R과 Python에 익숙해서 그런지 코드가 어렵게 작성되어있다고는 느끼지 못했습니다.


사실 책의 내용을 한번에 이해하기는 어려울 것 같습니다. 그래서 종종 보면서 시계열 데이터의 분석에 익숙해지는 과정이 필요하다고 생각합니다.


시계열이라는 말은 사실 어렵게느껴질 수 있는데 영어로 하면 Time Series로, 한자세대가 아닌 나에겐 영어가 좀 더 친숙하게 다가온다. 시계열 데이터란 쉽게 말해 어떤 데이터가 시간의 영향을 받고 있다는 것인데, 미래를 예측할 때 과거의 흐름이 영향을 주어, 과거의 흐름을 미래 예측에 반영해야하는 데이터라고 말할 수 있다. 은근 이런 데이터는 우리 일상에 많이 존재하는데 가장 쉬운 예로는 날씨를 들 수 있다. 코로나로 핫했던 주식시장도 시계열 데이터라고 볼 수 있으며, 나의 경우엔 주니어 분석가로 시계열 데이터를 다루게 되어 이 책에서 많은 도움을 얻을 수 있었다. 왜냐하면 시계열 데이터에서 하나의 주기를 어떻게 설정할 것인가, 결측치는 어떻게 다루어야 하나 부터 이 책이 다루고 있기 때문이었다. EDA라고 불리우는 데이터에 대한 탐색부분에서도 시계열 데이터에서 중요한 개념들(정상성, 자체상관 등)도 자세하게 설명이 되어있어 좋았다. 또한 보충자료 부분에서 논문 제목 뿐만아니라 논문을 읽을 수 있는 URL까지 적혀있어서 굉장히 친절하다는 느낌을 받았다. 가장 좋았던 부분은 시계열 데이터는 사실 'AR'이 들어가는 전통적인 통계적 방법이 있는데 이 부분들과 최근에 뜨고 있는 머신러닝, 딥러닝 모델, 페이스북의 Prophet, 트위터의 이상감지 패키지인 AnomalyDetection까지 다양한 모델을 소개하고 있어서 참 좋았다. 이론과 더불어 다양한 실습 코드가 있어서 시계열데이터에 대해 입문하는 사람들에게도 큰 도움이 될 거 같다. ​

Screen Shot 2021-05-23 at 10.52.03 PM.png

 

 

이번에 리뷰할 도서는 한빛미디어에서 제공 받은 "실전 시계열 분석" 입니다.

 

시계열데이터는 시간을 기준으로 수집한 데이터를 뜻합니다.

 

주식 종목의 거래데이터, 사람의 심장박동수 변화, 시스템의 로그 등 우리주변의 수많은 데이터가 시계열 데이터입니다.

 

이 책에서는 기본적인 시계열 데이터 분석 방법 부터, 각 분야에 맞는 접근법 및 특화된 데이터 분석법을 설명해 주고 있습니다.

 

기본적으로 시계열 분석은 데이터를 그래프나 도표로 나타내는 시각화 등을 먼저 사용하여 분석하기전에 개략적으로 접근 방법을 추론하고 시작합니다.

 

이 책에서도 마찬가지로 시계열 데이터의 시각화를 시작으로 여러가지 접근법을 통한 데이터 분석을 알려주고 있습니다.

 

주로 사용하는 언어는 python과 R이며, 저는 python은 자주 다루어 보았고, R은 학부때 통계학 수업을 들으며 잠깐 사용한 경험이 있었는데

 

책을 읽기에 큰 어려움은 없었습니다.

 

기본적인 시계열 분석법을 알고있었기에 앞부부은 복습하듯이 읽었으며, 뒤의 심화 내용 중에선 

 

요즘 관심있는 금융쪽 부분을 특히 인상깊게 읽었습니다.

 

또한 이 책에서는 고전적인 시계열 분석법 뿐만아니라, 머신러닝  더 나아가 딥러닝을 활용한 시계열 분석법도 설명해 주고 있습니다.

 

시계열 데이터 입문자 부터 특정 분야에 종사하는 데이터 분석가 까지 모두 한번쯤 읽어보면 도움이 될 책이라고 생각합니다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

시중에 파이썬, R을 활용한 데이터 분석에 대한 책은 정말 많이 나와있다. 그 중에 의료 데이터 같은 바이오 정보를 분석하고자 하는 가이드를 제시하려는 책이 있기도 하고 금융 데이터만을 전문으로 하거나 주식 시장에 적용 가능한 다양한 트레이드 알고리즘을 다룬 책도 있다. 이제 일반적인 머신러닝, 인공지능, 딥러닝을 폭 넓고 큰 범위에서 가르쳐주는 책이 아니라 데이터 분석이라면 어떤 분야의 데이터를, 딥러닝이라면 어떤 모델을? 과 같은 질문에 대한 해답을 제시해주는 책이 많이 나와야 한다고 생각한다.

 

 

그런 면에서 아주 유용하고 기념비적인 도서가 지난달 출간되었다. 표지부터 풍성한 털을 가진 귀여운 양이 등장하는 이 책은 '시계열 데이터'만을 다루는 책이다. 표지에 부제로 '통계와 머신러닝을 활용한 예측 기법'이라고 소개하고 있다. 책을 처음 들여다볼때 깜짝 놀랐다. 시계열 분석이라면 너무 막연한데 어떻게 이 특징적인 데이터 형식에 대해 풀어냈을까 궁금했는데 그 주제가 매우 광범위하고 일종의 교과서와 같은 느낌이었다. 정말 시계열 데이터에 대해 다루는 사소한 것 까지도 놓치지 않고 설명하였다. 

 

 

첫장부터 시계열이라는 것의 역사부터 다루고 있다. 이 장을 자세히 보면 시계열 데이터라는 것이 정말 많은 분야에서 사용되어 왔음을 알 수 있다. 17세기 인구 통계학의 모태에서부터 일기예보에 대한 고대 그리스 철학자 아리스토텔레스의 논문까지 금융, 천문학, 의학, 기상 등등 우리 주변이 얼마나 시계열 데이터로 가득차있고 역사적으로도 그 뿌리가 깊은지 잘 알 수 있었다. 바로 이와 같이 시계열 데이터의 기초와 개요부터 시작해서 그야말로 시계열의 모든 것을 나머지 장에서 다룬다고 보면 되겠다.

 

 

이 데이터의 특징, 분석 방법, 여러가지 분석 모델, 오차 측정 등을 소개하기 위해서 우리가 일반적으로 알고 있는 통계학의 많은 부분이 소개된다. 그리고 이를 실제로 현장에서 적용이 가능하도록 파이썬과 R로 설명한 내용을 코드로 구현하였다. 파이썬에서는 역시나 pandas, numpy 등 머신러닝 분야에서 익숙한 패키지를 사용하였고 R에서는 data.table이라는 라이브러리를 사용하였다. 그래서 완전히 코드에 대한 배경지식이 없는 것보다 파이썬이나 R에 어느정도는 선행학습이 필요하다는 것을 강조하고 있다. 중반부부터는 데이터의 특징과 그 특징별로 어떤 방식의 모델로 분석을 해야하는지 깊이 설명하는 부분에서는 패키지의 사용 경험이 없이는 이해하기가 힘들 것이다. 

 

 

그러나 저자는 이 책을 일일이 다 코드로 쳐보는것보다는 개념에 대한 이해가 더 중요하다고 하고 있다. 그래서 깃허브에 저자가 만든 코드를 직접 보면서 확인해보는것을 추천해주고 있다. 보통은 코드를 직접 쳐보면서 이해를 하라는 것이 일반적인데 코드 구현보다는 이해가 우선이라는 저자의 제안을 통해 이 책을 통해 저자가 달성하고자 하는 방향, 목표를 확인할 수 있었다. 

 

 

이번에 처음 알게된 것이 시계열 데이터라고 하여 무조건 시간으로 측정되어야 하는 것, 즉 타임스탬프가 반드시 필요한 것은 아니라는 것이다. 이러한 형식을 띄고 있지 않아도 시계열 데이터 분석 방법을 적용하는 방법과 누락된 데이터가 있을 때 이의 보정방법에 대한 자세한 것까지 알게되었다. 실제로 시계열 데이터를 일상적으로 다루는 분들에게는 크게 유용할 것 같다. 또한 입문 수준의 분석가에게는 데이터를 수집하는 방법부터 알려주는 것이 크게 도움이 될 것 같다. 각 장의 내용은 시계열 데이터에 대한 아주 깊은 곳을 다루어 독립적으로 서술되어 있다. 그러나 입문자에게는 순서대로 읽을 것을 추천하고 있다. 

 

 

내가 왜 이 책이 시계열 데이터 분석의 모든 것을 담고 있다고 했던 이유는 타임스탬프라는 주제로 현지 시간과 세계 표준 시간에 대한 설명이었다. 어떻게 보면 이것은 정말 사소한 것인데 이런 것까지 담았다는 것은 매우 세세한 것까지 신경을 썼다는 말이다. 이 주제로 책을 쓰기 위해 저자의 얼마나 세심한 배려와 노력이 있었는지 독자는 알 수 밖에 없다. 딥러닝과의 관련 내용도 아예 한 장으로 내어 설명을 하고 있다. 지금까지 접했던 다양한 신경망 모델이 시계열 데이터에도 활용 가능한 사례들을 확인할 수 있다.

 

 

사례도 풍부한 편인데 헬스케어 애플리케이션, 금융 애플리케이션을 주제로 하여 마찬가지로 각각 챕터를 배정하여 깊게 설명하였다. 예를 들어 헬스케어 애플리케이션 챕터에서는 2004년부터 2013년까지 수집된 프랑스의 주간 독감 보고서 데이터를 분석한다. 실제 데이터까지 데이터를 제공하고 있으니 실전과 거의 같다라고 보면 될 것 같다.

 

 

내용이 방대하여 어디까지 소개를 해야할지 모르겠다. 개인적으로는 각 장의 마지막 페이지마다 보충 자료라는 섹션에서 더볼거리를 수록한 것이 흥미러웠다. 논문에서부터 위키백과 페이지, 그리고 유튜브 동영상까지 해당 장에서 다룬 내용을 이해하기 위한 온갖 시청각자료를 뒤에 실어 내용의 풍부함을 더했다. 

 

KakaoTalk_20210507_000045470.jpg

 

" 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다 "


빅데이터, 인공지능 학습을 하면서 여러가지 데이터들을 접하고 다룰 수 있었는데요.

제일 흥미있는 데이터는 뭐니뭐니해도 시계열데이터인 것 같습니다.

시간 순으로 진행되는 데이터의 변화를 통하여 미래에 대한 예측과 사건 혹은 이벤트의 인과관계를 유추할 수 있다는 점이 정말 매력적인 데이터지요.


실전 시계열 분석이라는 책은 시계열 데이터에 흥미를 느끼고 다루고자 하는 사람들이 꼭 참고할 만한 책이라고 생각합니다.

 


이 책은 무엇보다도 좋았던 것이 시계열 데이터를 바로 기술적으로 다루는 것부터 시작하는 것이 아니라,

시계열 예측의 역사부터를 다룬다는 점입니다.


1장에서 "시계열의 개요와 역사"를 통하여 의학 분야, 기상학 분야, 경제학 분야, 천문학 분야에서 어떻게 역사적으로 시계열 분석을 시작하였는지를 알 수 있고, 이러한 기초적인 분석들이 다양한 기술과 통계학과 결합하여 분석 모델들이 개발되고 나아가 머신러닝과 결합하면서 도약하였다는 것을 이해할 수 있습니다.


2장 '시계열 데이터의 발견 및 다루기' 3장 '시계열의 탐색적 자료 분석' 4장 '시계열 데이터의 시뮬레이션' 5장 '시간 데이터 저장' 에서는 시계열 데이터 분석을 위하여 필요한 사항들을 다루고 있습니다. 온라인 데이터 저장소에서 시계열 데이터를 찾는 법, 수집된 데이터에서 시계열을 발견하는 법, 타임스탬프를 다루는 법 등과 히스토그램, 도표, 그룹화연산 등의 적용기법, 시뮬레이션을 위한 파이선 코드 짜는 법, 축적된 데이터를 저장하는 방법을 자세하게 서술하였습니다.


6장 '시계열 통계 모델' 7장 '시계열의 상태공간 모델' 8장 '시계열 특징의 생성 및 선택' 9장 '시계열을 위한 머신러닝' 10장 '시계열을 위한 딥러닝' 11장 '오차 측정' 12장 '시계열 모델의 학습과 배포에 대한 성능 고려사항'

13장 '헬스케어 애플리케이션' 14장 '금융 애플리케이션' 15장 '정부를 위한 시계열' 16장 '시계열 패키지' 17장 '시계열 예측의 미래 전망'

에서는  통계모델(자기회귀모델, 이동평균모델, 자기회귀누적이동평균, 벡터자기회귀, 계층형 모델), 상태공간모델, 머신러닝, 딥러닝 및 각종 데이터 분석 방법을 다루고 있습니다.


예시 코드들을 다양하게 들면서 하나하나 따라할 수 있어서 좋았던 책이었습니다. 앞으로 다양한 서비스형 예측이 더욱 상업적으로 개인화된 일상을 파고들 것입니다. 시계열 데이터 분석을 통한 예측 서비스를 직접 개발해보는 것은 어떨까요, 이 책을 통해서 한번 도전해볼만 할 것 같습니다.


 

파이썬 시계열 데이터 관련 한국어 서적이 많지 않은 상황에서 이 책이 출판되었다고 해서 많이 궁금했는데 <한빛미디어의 나는 리뷰어다>를 통해 읽어보게 되었다.

지금도 흘러가는 시간속에서 많은 데이터가 쌓이고 있고 우리는 이렇게 쌓인 데이터를 통해 무언가 인사이트를 얻고자 한다. 매출액, 재고량, 판매량, 주가의 가격, 비트코인의 가격, 서버의 트래픽량 등 시계열은 업무 뿐만 아니라 실생활과도 밀접한 관련이 많다.

시간축을 기반으로 쌓여진 수 많은 데이터를 가져와서 탐색적 자료분석을 하고 시뮬레이션을 해본다든지 지난 간 데이터를 통해 얼마나 이 모델이 미래를 잘 예측할지 백테스팅 등을 수행해 볼 수도 있을 것이다. 이 책은 이러한 과정을 R, Python 두 가지 코드를 통해 설명하고 있다. 어떤 기능은 R을 통해 원하는 데이터를 해석하거나 인사이트를 얻어볼 수 있을것이고 또 어떤 기능은 Python이 더 적합하기도 할텐데 이 책은 R, Python 두 가지 언어를 넘나들며 시계열 데이터를 분해하고 설명하고 모델을 만들어 예측을 하는 과정으로 구성되어 있다.

여러 시계열 모델을 사용하다보면 그럴듯한 그래프와 리포트를 뽑아주지만 막상 데이터를 해석하고 적용하는 건 다른 문제였다. 대부분의 데이터 분석 책에서는 시계열 모델을 다루더라도 일부분만을 다루고 있기 때문에 시계열을 좀 더 자세히 잘 정리된 책으로 보고자 하는 사람들을 위한 책이다.

또, 데이터를 분석하고 예측하는 것 뿐만 아니라 시계열 데이터를 저장하고자 할 때 어떤 방법으로 저장을 하는게 더 나은지, 관계형 DB를 사용할지, NoSQL을 사용할지, 파일로 다루는게 나을지에 대한 내용도 있다.

모델을 통한 예측에서는 전통적인 통계모델 부터 머신러닝, 딥러닝을 다루며 이렇게 만든 모델의 성능을 어떻게 측정하면 좋을지에 대한 내용을 담고 있다.

이렇게 전반적인 시계열 데이터를 다룰 때 필요한 내용을 익히고 이를 기반으로 헬스케어, 금융, 정부를 위한 시계열 데이터를 다루는 예제로 구성되어 있다.

전체 568쪽으로 구성되어 있어서 적지 않은 분량이고 쉬운 내용은 아니지만 시계열데이터를 다룰때 필요한 내용들을 정리하고 활용하는데 도움이 되지 않을까 싶다.

그리고 중요한 소스코드는 여기에서 볼 수 있다. : https://deep-diver.github.io/practical-time-series-analysis-korean/

  • 이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.

인공지능을 많이 활용하는 대표적인 분야를 딱 2가지로 구분짓자면 아마도 대부분의 사람들이 분류(Classification)과 예측(Prediction)을 들 것이다. 사람이 할 수는 있지만 그 일을 하기에는 직관이 필요한 일들이고, 인공지능이 하는 일은 이 직관을 대신할 수 있도록 학습 데이터에서 패턴을 찾는 것이다. 

그 중 뭔가 미래의 일을 예측하는 일 자체는 인간이 선망하는 일 중 하나가 아닐까 생각한다. 미래를 예측할 수 있다면, 미래에 닥칠 위험에 미리 대비할 수도 있고, 혹은 자산을 증식시키는데도 적용시킬 수 있다. 그래서 최근 광고를 보면 많이 등장하는 내용이 AI로 자산을 늘릴 수 있는 서비스를 제공하고 있는 것이다. 아마도 주식을 하는 사람이라면 알고 있을 HFT (High Frequency Trading)에도 이미 인공지능이 반영되어, 대부분의 투자회사나 퀀트업체에서도 활용하고 있는 것으로 알고 있다.

그런데 이렇게 미래의 일을 예측하려는 시도는 인공지능이 도입되기 이전부터 이뤄졌다. 이런 시계열 데이터를 많이 다루는 사람이라면 알고 있을 AR(AutoRegression)이나 MA(Moving Average)같은 기법은 현재 시점에서 과거 몇 시점 전까지의 데이터를 바탕으로 미래의 데이터를 예측하는 전통적인 통계적 기법이며, 이런 기술들이 적절히 조합되어 ARMA나 ARIMA, SARIMA같은 주기성을 띄는 시계열 데이터에 대해 적용할 수 있는 조금 더 발전된 형태의 기법들도 존재한다. 사실 이 이야기를 꺼낸 이유는 역사가 오래된 만큼이나 구현되어 있는 기술이나 프로그래밍 언어들이 R이나 SPSS 같은 통계툴에 한정되어 있던 것이다. 그나마 최근 Python이 등장하면서 이를 쉽게 사용할 수 있는 라이브러리도 나와있다. 특히나 LSTM이나 GRU같이 시계열 데이터를 입력으로 받는 딥러닝 기술들도 있어, 데이터의 특성이나 API를 활용할 수 있는 방법들을 알면 누구나 쉽게 시계열 데이터를 예측에 활용할 수 있다.

이번 포스트에서 소개할 책도 바로 이런 내용과 관련된 책이다.

 

실전 시계열 분석

 

이 책은 자그마치 560여페이지 안에 앞에서 소개한 분석과 예측 기술들을 소개하고 있다. 어떻게 보면 데이터 분석의 시작 단계인 데이터 소개와 EDA부터 시작해서 전형적인 시계열 모델들, 그리고 딥러닝/머신러닝을 통한 예측 기법과 분석시 발생할수 있는 오차와 정확성 문제를 다루고 있다. 자세한 내용은 아래와 같다.

  • 시계열 데이터 탐색과 정리
  • 탐색적 시계열 데이터 분석 수행
  • 시간 데이터 저장
  • 시계열 데이터 시뮬레이션
  • 시계열 기능 생성 및 선택
  • 측정 오류
  • 머신러닝과 딥러닝을 활용한 예측 분류
  • 정확도 및 성능 평가

회사에서 수행했던 일 중에는 건물 내부의 온도나 음식의 신선도에 따라서 적합한 제어를 해야했던 일들이 있었다. 물론 제어의 관점에서는 얼마나 사용자가 원하는 온도를 잘 "유지"시키느냐의 문제도 있었지만, 이런 실험을 실제로 진행하기에는 시간이나 자원의 문제가 있었기 때문에, 어떻게 하면 미래의 온도를 잘 "예측"하느냐, 즉 시뮬레이션의 문제도 있었다. 그 때는 이 책이 나오지 않아 원서(Practical Time Series Analysis, O'reilly)를 참고했었는데, 시계열 분석에 익숙치 않았던 나한테는 원리와 실제 구현 예제가 같이 소개된 이책의 내용이 좋았었다. 이론적인 내용과 더불어 후반부에 헬스케어 어플리케이션을 통한 실제 적용 사례도 같이 소개되어 있어서, 이론과 적용을 생각하는 독자에게는 좋은 책이 될거라는 생각이 들었다. 특히 딥러닝과 머신러닝을 통해서 시계열을 분석하는 내용도 나와있어서, 최근 발표되는 시계열 관련 논문을 이해하는 입문적인 요소도 될 수 있을 듯 하다. 아 참 그리고 무엇보다 보통 입문책이라면 포함되어 있을 문법과 사용법과 같은 기초 내용은 최대한 배제되어 있어, 읽기가 좋았던 부분도 있었다.

다만, 책의 내용에 따라서 구현되어 있는 내용이 R과 Python으로 병행되어 있어 어느 특정 언어에만 익숙한 사람이라면 원하는 내용을 찾지 못할 수도 있다. 원서의 github repo에서도 살펴보면 이런 경향이 그대로 유지되어 있다. 최근에는 R에 구현되어 있는 내용도 Python으로 많이 포팅되어서 이와 관련된 동일 구현 코드도 전달되었으면 좋았을텐데 하는 아쉬움이 살짝 있다. 또한 시계열 분석 분야가 통계와 수학이 깊숙히 관여한 분야이기에 이 부분에 대한 지식이 조금 부족하다면 단순히 책의 내용만 가지고 이해하기 어려운 부분이 있다.

그럼에도 불구하고 내가 생각하기에 이 책은 시계열 분석을 다룬 실용 서적 중 거의 필수적으로 봐야할 책이라고 생각한다. 나도 개인적으로 시계열 분석에 관심이 있고, 또 공부를 해야될 분야라고 생각해서 서점에서 자주 관련 책을 찾는 편인데, 은근히 이와 관련된 책들이 별로 없었다. 그나마 있었던 내용들은 R이나 SPSS로 되어 있고, 책이 나온지 오래되어 최신 경향을 담고 있지 않은 책들이 많았다. (참고로 이 책 후반부에는 facebook에서 만든 시계열 프레임워크인 prophet에 대한 내용도 살짝 들어 있다.)그 와중에도 이렇게 활용할 수 있는 책이 나왔고, 실질적으로 구현해보면서 담겨진 내용의 흐름이 시계열 데이터뿐만 일반적인 통계에서 머신러닝을 배우는 단계와 유사하여 학습하는데 도움이 많이 될 것이라고 생각한다.

참고: 원서 github repo

 

 

PracticalTimeSeriesAnalysis/BookRepo

Contribute to PracticalTimeSeriesAnalysis/BookRepo development by creating an account on GitHub.

github.com

역서 fastpages

 

 

fastpages

An easy to use blogging platform with support for Jupyter Notebooks.

deep-diver.github.io

참고2: 개인적으로는 시계열 분석 자료도 많이 공개되어 있어, 이와 관련된 온라인 강의도 같이 들으면 좋을 것 같다. 참고로 내가 들었던 강의는 다음과 같다.

포항공대 시계열분석 기법과 응용

 

 

시계열분석 기법과 응용

시계열 데이터 분석을 통하여 시간에 따른 상관관계 등의 패턴 추출 및 이를 바탕으로 미래에 대한 예측을 위한 다양한 기법 학습 및 응용 능력을 배양한다.

www.kmooc.kr

Coursera Practical Time Series Analysis (SUNY)

 

 

Practical Time Series Analysis

뉴욕주립대학교에서 제공합니다. Welcome to Practical Time Series Analysis! Many of us are "accidental" data analysts. We trained in the sciences, business, or ... 무료로 등록하십시오.

www.coursera.org

 (해당 도서는 한빛 미디어에서 제공받았음을 알려드립니다.)



출처: https://talkingaboutme.tistory.com/entry/Book-Practical-Time-Series-Analysis [자신에 대한 고찰]

 

 

생활속의 대부분의 데이터는 시계열로 이루어져 있고 해당 데이터를 분석을 잘 하게 되면 다양한 정보를 얻을 수 있습니다.

해당 도서는 그런 시계열 데이터에 대해서 다룹니다.

 

실전 시계열 분석은 총 17장으로 되어 있고 6개의 그룹으로 나눠서 볼 수 있습니다.

 

데이터에 대한 역사를 바탕으로 시계열 데이터를 수집 및 저장하는 방법등에 대해서 나눠져 있고 그런 시계열 데이터를 분석하는데 R과 파이썬을 사용합니다.

중간에 있는 머신러닝 부분은 대부분 파이썬으로 작성되어 있고 나머지 시계열 데이터의 처리 및 그래프 구현에는 R로 설명되어 있습니다.

파이썬도 여러가지 도구가 있지만 데이터 전처리 및 시계열 그래프는 역시 R이 미리 준비되어 있어 표현에 어려움이 없는 것으로 보입니다. 

 

각 장마다 설명되어 있는 예제들을 입력해 봄으로써 좀 더 시계열 분석에 대해서 이해도 하고 진행을 할 수 있어 도움이 됩니다.

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

20210522_232516.jpg

실전 시계열 분석을 받기 전에 이 책이 나에게 주식 부자가 되게 해줄 마법의 책이 되기 않을까 살짝 기대해보았어요.
훗, 역시 기대가 빗나갔습니다. 대신 이 책은 앞으로 다가올 딥러닝계의 포인트를 찍어주었어요.
바로 시계열이죠. 쉽게 생각해서 시간 개념을 도입한다고 보시면 됩니다.
우리가 분석하는 데이터중 많은 것은 시간 개념이 들어가 있습니다. 
저는 MS Power BI 시각화 툴을 사용하면서(파이썬으로 분석할 때 보다), 그래프를 많이 그리게 되었습니다.
그때 놀란 것이 시간 데이터 삽입과 공간 데이터 삽입으로 데이터를 훨씬 더 풍부하게 살펴볼 수 있게 되었다는 점입니다.
이 책은 저처럼 대충 시계열을 알고 있는 사람들이 읽어보면 좋을 내용들이 가득합니다.

 

왜 그런지 좀 더 살펴볼까요?
 

20210522_232812.jpg

일단 이 책에서 필수 배경지식으로 R과 파이썬에 어느 정도 익숙해야 한다고 합니다. 
아닙니다. 초중급 실력은 되어야 합니다. 그냥 파이썬 좀 아는 정도로는 이 책의 예제 소스 코드를 이해할 수 없습니다.

 

소스 코드에 약하더라도, 시계열에 대한 여러 생각거리를 던져주므로, 비개발자라고 하더라도(조금 어렵더라도) 미리 읽어볼 가치는 있다고 생각합니다.
 

20210522_232823.jpg

집필의도에서 보면 시계열 분석에 대한 자료나 책이 없다고 합니다. 맞습니다. 그래서 이 책이 다소 어렵습니다.
앞으로 시계열 분석에 대한 요구가 많아지면, 좀 더 쉬운 내용들의 책들이 나오겠죠.

 

그리도 시계열에 대한 전체 구성에서 다양한 시각을 보여주고, 주요한 이야기거리를 던져주므로, 언젠가는 읽어야 할 것 같습니다.
 

20210522_232850.jpg

목차가 앞쪽에는 통계기반 분석을, 뒷쪽에는 딥러닝쪽입니다.
전 13장부터 나오는 헬스케어 애플리케이션과 같은 실전 사례가 더 마음에 들었습니다.

 

머신러닝, 통계 모델을 잘 몰라서, 초반에는 읽기 힘들어서 그런지도 모르겠어요.
 

20210522_232953.jpg

이 책에는 실전 예제로 소스 코드를 수록하였습니다.
설명은 R 과 Python 으로 각 사례별로 잘 맞는 언어를 사용해서 설명합니다.
문제는 우리가 R과 Python 둘 다 사용하지 않는다는 점이죠. 파이썬을 하는 입장에서 R 소스 코드를 보면 답답해지는 것이죠.
문제는 파이썬을 좀 하거나, 배운 입장에서는 위 이미지의 소스 코드는 이해하시겠죠. 
그런데, 분석 쪽을 한번도 하지 않으신 분 같으면, 일반 파이썬 기초만 공부하셨다면 어려울 수 있습니다.

 

소스 코드 한 줄 한 줄에 대한 설명은 하지 않습니다.
 

20210522_233031.jpg

필요하면 소스 코드와 그래프를 많이 제공하기 때문에, 소스 코드를 못 읽더라도, 전체적인 개념 익히기나 공부하기에 많은 도움이 됩니다.

 

소스 코드는 천천히 공부하시면서, 익히시면 되니까요.
 

20210522_233115.jpg

책이 거의 560 쪽 입니다.
시계열에 대해서 상당히 많이 서술하였습니다.  일반 데이터 분석할 때의 순서대로 책 내용이 구성되어 있습니다.
각 내용에서 시계열 입장에서 다시 보충, 추가 설명했다고 보시면 됩니다.
시간을 어떻게 잡고, 어떻게 수집하고, 어떻게 저장할까? 앞 쪽에서 많이 할애하는데, 이 책을 읽고 정말 중요하다고 다시금 되새기게 되었습니다.
시계열 개념 자체가 알아야 할 것들이 많은데, 이런 것들을 책 곳곳에 있습니다.
데이터 분할도 일반적으로 하는 것과 왜 달리해야 하는지도 중요하고요.

 

딥러닝쪽을 좀 더 많이 봐온 저로서는 통계 모델과 수식이 좀 어려웠습니다.
 

20210522_233128.jpg

 

책 리뷰를 하기 위해, 다시 처음부터 쭉~ 넘겨보니, 지금 적고 있는 것보다 훨씬 더 많은 이야기들을 적고 싶었는데, 빠트린 것들이 너무 많네요.
통계, 딥러닝으로 시계열로 데이터 분석하고 싶으시다면, 처음부터 빼놓치 마시고, 시계열 관점에서 하나하나 의심을 가지고 기존에 아시던 것에 물음을 해보세요.
저는 많은 배움을 안겨준 책이라, 다음에 시계열 분석을 해야한다면 옆에 놓고 다시 보려고 합니다.
책에 나온 많은 용어와 개념이 이해가 안되는 부분들이 많아서, 또다른 영역의 공부도 많이 해야 할 것 같습니다.
그러나, 앞으로 모든 분석에 시간 개념이 차츰 들어갈 것 같고, 오늘의 이 고통이 내일의 초석이 되었으면 하는 바램입니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

본 도서는 업무 도메인 측면(의료-금융-공공-물리학 등)에서 기술적인 측면(통계-상태공간-머신러닝-딥러닝)에 이르기까지 시계열을 집대성한 책이다.

책에서 다루는 내용을 크게 나눠보면 다음과 같다.

  • 발견, 전처리, EDA, 시뮬레이션, 저장 및 처리, 피처 엔지니어링
  • 모델링 : 통계, 상태공간, 머신러닝, 딥러닝
  • 오차 측정, 배포, 성능
  • 사례연구 : 의료, 금융, 정부(공공데이터)
  • 그 외 기본 지식 : 시계열의 역사, 대규모 예측을 위한 패키지, 전망

내용에서 알 수 있듯 이 책은 폭넓은 도메인 영역과 기술을 다루고 있다. 이 점은 책의 큰 장점이자 단점이 될 수도 있는 부분이다. 눈에 띄는 장점은 일단 거의 전 분야에서 활용되는 시계열의 지식이 잘 정리되어 있다는 점이다.

시계열을 활용할 때 항상 어려웠던 부분은 지식이 분야별로 흩어져 있다는 것이다. 혹시라도 다른 진영 혹은 다른 도메인에서 유용하게 활용할 수 있는 기법이나 아이디어를 찾아보려 하면 그 영역까지 진입하기에 너무 오랜 시간이 걸린다.

또 R을 써야할지 Python을 써야할지 자주 고민이 생긴다. 세월이 흐르며 상호 보완되고 있긴 하지만 여전히 둘의 교집합에 제외된 어느 한 영역에만 속하는 독립적인 집합의 영역이 항상 존재한다. 예를 들면 롤링 조인과 같은 기술의 경우 Python에 비해 훨씬 사용하기 쉽고 직관적이다. 시계열 데이터를 처리할 때는 시점간의 연결 작업이 빈번한데 딱 맞게 매칭하는 작업이 너무 어려운 일이기 때문이다.롤링조인

또 R은 단 한 줄의 코드로 계절성, 추세, 잔차 등으로 분해가 가능하다. 왕초보 시절 이 기능을 Python으로 구현해보려고 덤벼들었다가 좌절 한 적이 있는데 찾아보면 언제나 유용한 기법들이 있다.

거인의 어깨 위에 올라가야 할 필요가 있는데 문제는 거인의 어깨에 어떤 것이 있는지 없는지 조차 몰라 검색 자체를 못하기 쉽상이다. 그런 측면에서 이 책은 각 언어별로 자주 활용되는 기술들의 핵심들이 잘 정리되어 있고, 각 도메인들이 잘 정리되어 있어 잘 모르는 분야의 아이디어의 메타 지식을 정리하기에 좋다.시계열분해

또 다른 장점으로는 초반 1 ~ 5장에 해당하는 부분이 마음에 들었다. 시계열은 전처리나 시뮬레이션이 꽤나 까다롭다. 책에서도 볼 수 있듯 결측치의 개념이 시간축에 의존한다. 그냥 일반 Tabular 데이터에서 빈값을 찾는 정도로 넘어갔다간 엉망이 된다. 전체 자료의 시간축을 살펴봐야 한다. 이런 사소한 부분부터 시뮬레이션이나 피처 엔지니어링에 이르기까지 모델링 이전에 필요한 작업들이 일목 요연하게 정리되어 있다.


반면 이런 장점을 수용하기 위한 트레이드 오프로 단점도 상당하다. 일단 너무 폭넓은 영역의 지식을 책 한 권에 담으려다 보니 그 깊이가 얕다. 난이도의 깊이가 얇은 것은 아니지만 한정된 지면에 너무 많은 지식을 다루다보니 추상적인 관점에서 바라봐야 하는 경우가 흔하다.

하지만 통계에서 활용되는 MA, AR, ARIMA 등의 모형만 예로 들어도 깊이 있게 알기 위해선 상당량한 학습이 필요하다. 책에서는 코어 부분에 해당하는 코드만 다루고 있으며, 수학도 추상적인 수준으로 설명이 되어 있고, 이론은 상당히 축약 설명되어 있어 이해하기 어려운 영역이 많다. 아무리 뛰어난 사람도 머신러닝, 딥러닝, 통계, 상태공간 등의 정보를 모두 깊이 있게 알고 있는 사람은 드물 것이다.

취약한 부분이 있게 마련일텐데 그런 파트를 만나면 진땀 빼며 읽어야 한다는 단점이 있다. 그렇기 때문인지 번역 수준 또한 어느 파트는 매우 매끄러운데, 어느 파트는 난해하기 그지 없다.

또 하나의 단점으로는 R과 Python의 코드가 왔다갔다 한다. 이것은 저자를 탓할 문제는 아니다. 앞서 언급했듯 각 언어별 제공하는 기능이나 편의성에 차이가 현격한 부분도 존재하기 때문이다. 더불어 이를 완벽하게 정리, 파악할 수 있는 사람은 매우 드물 것이다. 사람의 수명에 한계가 있는데 어떻게 수 많은 API나 기능을 다 정리할 수 있을까? 그래서 십분 이해가는 부분이긴 하지만 독자의 입장에서는 영 불편한 것이 사실이다. 그래서 R과 Python의 연동에 관한 경험에서 우러나온 Tip도 수록되어 있었다면 어땠을까 하는 아쉬움도 있다.

코드 역시 실전 중심적이진 않다. 만약 구현 과정을 따라하며 배우고 싶은 독자는 이 책이 적합하지는 않을 것이다. 상당히 추상화 된 레벨에서 큰 그림을 그려 나가야 하는 책이기 때문이다. 연구 중심의 서적이라고나 할까? 대부분의 예제 코드는 실전 데이터 셋을 활용하기 보다는 각 이론을 설명하기 쉬운 형태의 가상 데이터를 가공하여 활용한다.

덕분에 모델을 이해하는데 도움이 상당하지만 실전에서 봉착할 수 있는 다양한 케이스에는 취약하다고 할 수 있다. 그래도 사례연구 파트에서 실전과 유사한 데이터를 활용하여 감을 잡는데 조금은 도움이 되었다.시계열분해

그럼에도 이 책을 추천하고 싶은 이유는 시계열과 관련된 메타 지식이 체계적으로 정리되어 있다는 매력을 떨치기 어렵기 때문이다. 타 도메인 혹은 기술 분야에는 어떤 해법들이 숨겨져 있는지 전체적인 시야로 조망해보고 필요할 때 쉽게 참조할 수 있다는 장점은 무시 못할 매력이라 생각한다.

각 장 말미에 굵직한 획을 그은 유용한 시계열 논문이 잘 정리되어 있는 것도 장점 중 하나이다. 기존 책들이 시계열을 어느 특정 기술의 부분집합으로 다뤘다면 이 책은 시계열을 중심으로 전반적인 기술들을 엮어 보는 횡적 관점에서 접근한다. 타 분야의 유용한 아이디어를 빠르게 살펴보고 싶다면 본 도서를 살펴보길 권유한다.


한빛미디어 “나는 리뷰어다” 활동을 위해서 책을 제공받아 작성된 서평입니다.

1210521 195215.jpg

 

 

시계열 분석을 아시나요?

쉽게 생각하면 시계열이란 시간별로 분석한다고 보면 됩니다.

 

더 설명하자면 일정한 시간 간격을 두고 관측 수집한 자료를 분석하는 방법입니다.

 

시계열 분석을 실생활에서 사용하는 곳을 아십니까?

대표적으로 기상청, 금융기관을 들 수 있습니다.

 

미래를 예측하고 대비하기 위해 사용됩 합니다.

 

시계열 분석이 무엇인지 잘 알려주는 책을 소개하고자 합니다.

 

알아볼 책은 ‘실전 시계열분석'입니다.

 

이 책을 통해 시계열분석을 알고 도움이 되면 좋겠습니다.

 

 

2210521 195237.jpg

 

 

◆ 주요 내용

주요 내용으로 시계열 데이터를 탐색하고 탐색적 시계열 데이터 분석 수행을 다룹니다.

 

시계열 데이터 시뮬레이션과 시계열 기능을 생성하고 선택하는 것도 알려줍니다.

 

기상청이 예측하지만 틀리기도 하듯이 측정오류도 발생하는데요.

머신러닝과 딥러닝을 활용해 시계열 예측 및 분류하는 것도 배웁니다.

 

예측한 데이터가 얼마나 정확한지 정확도와 성능평가도 확인 할 수 있습니다.

 

다양한 예제로 시계열 분석과 머신러닝, 딥러닝 모델을 볼 수 있습니다.

 

한 대도시의 독감 연구 사례, 혈당치 예측, 금융 애플리케이션, 대규모 시계열 데이터 탐색 등의 예제가 있습니다.

 

시간 데이터를 차트로 표현하면 꺾은선 그래프로 나오게 됩니다.

 

꺾은선 그래프는 유튜브를 예로 들면 영상을 시청하는 수를 시계열로 표현 가능합니다.

 

언제 사람들이 많이 접속했는지 알 수 있습니다.

 

쇼핑몰의 경우에도 언제 물건이 팔린 지 알 수 있듯이 시계열 데이터는 활용도가 많습니다.

 

 

3210521 195247.jpg

 

 

◆ 시계열 분석 언어

시계열 분석할 때 무슨 프로그래밍 언어를 사용하시나요?

많이들 R과 파이썬 코드를 사용하실 겁니다.

 

두 언어 중 하나만 익숙한 사람도 쉽게 이해할 수 있게 작성되었습니다.

 

회사에서 일할 때 잘 아는 언어를 사용하면 좋지만, 아닐 수 있습니다.

 

그럴 때를 대비해서 다른 사용되는 언어도 아는 게 좋습니다.

 

이 책은 한 언어를 아는 분들에게 다른 언어도 같이 공부할 수 있게 도와주는 책입니다.

 

파이썬만 알던 분들도 R을 같이 살펴보며 이해할 수 있을 것입니다.

 

끝으로 시계열 분석의 영향력은 더 커질 것입니다.

 

사물인터넷의 등장으로 헬스케어, 스마트 도시에 시계열 데이터를 활용할 수 있습니다.

 

예제코드도 있어서 (‘github.com/deep-diver/practical-time-series-analysis-korean’) 실습을 하면 이해에 도움 될 것입니다.

 

시계열 분석 대표적인 언어인 R과 파이썬을 공부해보고 싶은 분들에게 이 책을 추천합니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

오랜 기간 연구 기획 일을 하다보니 간간히 데이터 분석을 해야하는 시점이 있다.

취미삼아 다른 자체적으로 생산할 수 있는 데이터를 분석하기도 하지만, 연구 기간 중에 생산되는 데이터를 분석해야하는 경우도 있다. 

 

작년 EEG 데이터와 헬스케어 관련 여러 요소 데이터에 대한 상관관계를 분석했었는데, 우연이랄까 ... 

이 책에서는 첫 장부터 EEG 데이터를 이야기 한다. 뇌전도 데이터를 뜻하는 EEG(electoencephalography)는 1924년 처음으로 기록되었다고 한다.

 

지난 EEG 데이터를 분석한것은 전기자극 저주파가 멘탈 건강에 미치는 영향을 분석하기 위한 데이터였다. 환자와 정상인 그룹에서 저주파 치료 전후 각 단계에 따라서 심장박동률의 차이는 구하는 데이터였다. 환자/정상인간의 차이는 있었지만 각 단계에 따른 유의한 차이는 찾지 못하였다.

 

 

본 책이 흥미있던 부분은 바로 내가 EEG 데이터에 친숙했던 부분이 있었고, 기존에 분석했던 경험이 있었고, 데이터도 있었기 때문이다

 

더욱이 본 책은 필요한 소스 코드를 구글코랩에 저장되어 있다. 아주 쉽게 소스코드를 가져올 수 있었고, 지금도 계속하여 업데이트 되고 있었다.

 

뿐만 아니라 책의 공식 저장소 깃허브에 저자가 그동안 SciPy, Pycon, PyData 등에서 발표한 다양한 시계열 데이터와 소스코드를 볼 수 있어서, 이론과 실습이 아주 수월하게 진행될 수 있었다.

 


 

책 본문에 나오는 기부금 관련 데이터와 탑승객 데이터를 쥬피터 R 프로그램을 이용해서 간단하게 시계열 분석을 해보았다

시계열 기부금 데이터 분석
시계열 탑승객 데이터 분석

 

 

아쉬운 것은 뒷부분 DNN RNN 분석을 하고 싶어서 다양한 패키지를 설치하려고 했는데, 쥬피터 환경 설정과 책에 기록된 설정이 동일하지가 않아서 대부분 설치가 안되어서 분석을 못했다.

로컬에서 다시 설치를 해보면서 하나하나 분석을 해야겠다.

 

추가로 책의 장점 중 하나는 스크립트를 하나하나 설명해준 대목이다. 물론 프로그래밍을 약간이라도 할 수 있는 사람이라면 쉽게 이해할 수 있을 만한 내용인데, 책에 수록된 코드를 활용하여 다른 분석을 할때 아주 유용하게 쓰일 수 있을 것이다.

 


 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

1장은 고대 그리스부터 현대에 이르기까지 시계열 예측의 역사를 다루고 있습니다. 역사를 통해 앞으로 배울 내용을 예상할수 있고, 이책에서 말하는 전통 학문에 대해서 좀더 이해하는데 도움이 됩니다.


2~5장은 시계열 데이터의 수집, 정리, 시뮬레이션, 저장과 관련된 문제에 대해서 배우게 됩니다. 각 장은 시계열 분석을 실제로 수행하기 전에 필요한 고려 사항들로 서로 강하게 연관되어 있습니다. 실제 데이터 파이프라인과 데이터의 식별, 정리는 시계열 분석가가 수행하는 일의 대부분을 차지 하고 있습니다.


6~10장은 시계열 분석에 사용되는 다양한 모델링 기법을 다룹니다. 6장과 7장에서는 ARIMA 및 베이즈 상태 공간 모델과 같은 표준적인 통계 모델을 다루루는 것으로 시작합니다. 그다음 좀더 최근에 개발된 방법인 머신러닝과 신경망을 시계열 데이터에 적용합니다. 시계열 데이터로 의사결정 트리와 같이 시간을 고려하지 않는 모델을 학습하기 위한 데이터 처리 및 배치에 대해 다룹니다.


11~12장은 시계열 모델링을 처음으로 한 다음 해야 하는 정확성에 대한 계량적 분석과 성능상의 고려 사항에 대한 가이드를 제공합니다.


13~15장은 헬스케어, 금융, 정부 데이터의 연구 사례를 다루고 있습니다.


16~17장은 시계열에 대한 최근의 발전과 앞으로의 예측을 다루고 있습니다. 16장은 자동화된 다양한 시계열 패키지를 살펴봅니다. 여기서 다루는 패키지들은 오픈 소스 프로젝트, 학계 거대 기술 회사 등이 개발한 것입니다. 17장은 시계열 분석의 미래를 예상해보는 내용으로, 계속해서 팽창해온 빅데이터 생태계가 시계열 분석에 어떤 도움을 주었는지 그동안 알게 된 사실을 기반으로 설명합니다.


데이터 분석을 위한 코드를 작성하기 전에 각 장을 순차적으로 먼저 읽어 보는걸 추천 합니다. 각 장별로 소개하는새로운 개념을 먼저 학습한 후 실습 코드를 작성하는데 도움이 됩니다. 또한 특정 모델을 실행하는 코드 작성을 대체로 간단하고 쉽기 때문에, 개념을 정확히 이해하는 데 중점을 두고 학습 하면 됩니다. 마지막으로 시계열 데이터와 모델링의 파이프라인 전체를 실용적인 관점에서 폭넓게 배우고 싶다면 이책에서 인사이트를 얻을수 있을겁니다.



 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

IMG_0366.JPG

 

이 책은 '시계열'이라는 분야를 과거 전통적으로 사용되어온 통계적인 방법부터 최긍 딥러닝 방법까지 다루고 있습니다.

실제로 사용되는 사례 뿐만 아니라 이론적인 면까지 꼼꼼히 다루고 있습니다.

 

이 책을 선택한 이유는 우리 주변에서 볼 수 있는 대부분의 데이터는 시계열 데이터이기 때문에 반드시 공부해야할 

분야라 생각했기 때문입니다.

 

금융데이터, 고객의 구매 이력 및 의료 데이터 등 뿐만 아니라 동영상 데이터, 음성데이터 그리고 ECG나 심장 박동, 호흡 소리 등 

우리 주변에서는 시간의 흐름 혹은 다른 기준이 되는 척도에 따라 인과 관계가 있는 데이터로 가득합니다.

 

이 책은 시계열의 개요와 역사에 대해서 설명하면서 시작을 합니다. 통계적 분석의 기원, 머신러닝 시계열 분석의 기원등을 설명하면서

우리가 왜 시계열 데이터 분석을 공부 해야하는지 이유를 설명하고 있습니다.

 

그리고 시계열 데이터가 어떤 것인지, 그리고 어떻게 구해야하는지 어떤 특징이 있는지 설명을 하고 있습니다.

시계열 데이터 중에 중간에 누락된 데이터를 처리하는 방법과 각 특징에 따른 시계열 데이터의 처리 방법에 대해 설명을 하고 있습니다.

 

그리고 나서 시계열 데이터의 통계적 모델을 설명하고 있으며, 머신러닝과 딥러닝에서의 시계열 데이터 분석 방법을 설명합니다.

시계열 데이터를 학습 데이터, 검증데이터 및 시험데이터로 나눌때 주의해야할 점, 그리고 검증을 할때 주의해야할 점은

앞으로 데이터를 다룰 때 많은 도움이 될 것 같습니다.

 

이 책의 모든 내용을 한번에 이해하기는 어렵습니다. 옆에 두고 계속 참고하면서 몇번이고 다시 읽으면서 공부할 수 있는 

책입니다. 시계열에 관련된 책을 한권 본다면 이 책이 적절한 것 같습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

데이터 분석에 들어가는 데이터는 무척 많다. 일반적인 숫자나 문자도 있지만 이미지나 음성 같은 데이터를 넣어서 분석하는 경우도 있다. 하지만 가장 많이 분석하는 데이터 중 하나는 계속 기록되는 데이터일 것이다. 이렇게 시간에 따라서 계속 측정되는 데이터를 흔히 시계열 데이터라고 하는데, 여러 기업에서 이 시계열 데이터를 활용해서 고객의 수요를 예측하는데 많이 사용하고 있기에 이런 시계열 분석을 요하는 직군이 종종 많이 공고로 올라오기도 한다.

 

하지만 시계열을 일반데이터와는 다른 고유한 특성을 지니고 분석에 어려운 부분이 있거나 고려할 사항이 있기에 제대로 배울 책이 필요하다고 느껴지는데, 이 책이 그 좋은 답중 하나라고 느껴지는 것 같다.

 

이 책은 그야말로 시계열 분석의 모든 것을 다 담고 있다. 단순하게 시계열 분석시 고려해야할 전처리에 시긱화 방법, 선정할수 있는 모델 종류 등 시계열 데이터를 분석하는데 사용할 수 있는 여러 선택지들을 과정별로 하나씩 설명하고 있는 것을 볼 수 있었다.

 

제일 눈에 띄는 것은 사용하는 모델의 종류와 관련된 부분이었다. 최근 트렌드에 따라 머신러닝, 딥러닝 모델이 주가 되리라 예상했지만, 이 책은 그 두 모델 외에도 통계모델도 자세히 다루고 있는게 눈에 띄었다. 얼핏 보면 통계모델이 효과가 있을거라 생각하지만, 경우에 따라서는 시계열 모델에 적합하도록 회귀변수의 값들이 조정될수 있기에 오히려 인공지능 모델과 더 잘 나올수 있다는 것을 경험해본 적이 있기에 이렇게 통계모델에 대해서도 자세히 설명하고 있다는 것은 무척 높게 평가할 부분이라고 느껴졌다.

 

그 외에도 후반부에는 실제 데이터셋을 가지고 시계열 분석을 실행하는 것도 나오기에 시계열 데이터 분석을 하는 사람들에게는 무척 도움이 되는 책이라고 생각을 한다. 이번기회에 이 책을 통해 제대로 시계열데이터 분석을 배워서 분석 스킬을 늘려볼까 싶다.

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
실전 시계열 분석
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
실전 시계열 분석
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
실전 시계열 분석
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실