티스토리 뷰

Hobby/Book

[Book] 실전 시계열 분석

생각많은 소심남 2021. 5. 23. 14:47

(해당 포스트에서 소개하고 있는 "실전 시계열 분석" 책은 한빛미디어로부터 제공받았음을 알려드립니다.)

 

실전 시계열 분석

실제 환경에 특화된 시계열 데이터 분석 및 모범 사례를 다루는 실무 지침서다. ARIMA 및 베이즈 상태 공간 같은 표준적인 통계 모델과 계층형 모델을 폭넓게 다루고, 시계열 데이터 모델링의 현

www.hanbit.co.kr

인공지능을 많이 활용하는 대표적인 분야를 딱 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

시계열 분석 관련 서적
딥러닝으로 걷는 시계열 예측
윤영선 저
실전 시계열 분석
에일린 닐슨 저/박찬성 역
예스24 | 애드온2
댓글