이 글은 책 '실전 시계열 분석'의 내용을 참고하여 작성되었습니다.

책링크

 

실전 시계열 분석

실전 시계열 분석: 통계와 머신러닝을 활용한 예측 기법시계열 분석의 모든 것실제 환경에 특화된 시계열 데이터 분석 및 모범 사례를 다루는 실무 지침서다. ARIMA 및 베이즈 상태 공간 같은 표

books.google.co.jp


시계열의 역사

 

시계열 데이터는 시간의 흐름을 기준으로 기록된 데이터입니다. 머신러닝에서 사용되는 많은 데이터는 시계열적인 요소를 갖고 있는 것보다 데이터 하나하나가 특징점을 갖고 있는 경우가 많습니다. 간단하게는 다층 퍼셉트론을 활용한 XOR classifier에서 MNIST classifer에 자주 쓰이는 CNN등이 있죠. 이런 데이터들은 시간의 영향을 받는 데이터들이 아닙니다. 데이터 하나하나가 독립적인 결과를 가지고 있다고 봐도 무방합니다. 하지만 사물 인터넷 (IoT), 헬스케어등의 연구 개발이 활성화되고 있습니다.

이 분야는 다량의 시계열 데이터가 수집되고 필요로 하기 때문에 자연스럽게 시계열 분석이 머신러닝 기법에서 발전하고 있습니다. 시계열 분석은 통계학적 기법들이 다양한 분야에 도입된 시점보다 다소 늦게 도입되었습니다. 이유는 시계열 데이터라는 것이 시간의 영향도 받고 그에 의해 연속적이고 종속적인 경향을 크게 갖기 때문입니다. 그리고 무엇보다 '시간'이라는 기준을 규칙적으로 기록을 해야 의미가 있는 것인 만큼 기록 관리가 어려웠기 때문입니다.

대표적인 분야는 의학, 기상, 경제에서 많이 사용되는 추세입니다. 현대에 들어서 많이 사용되는 분야는 이상치 탐색분야가 있습니다.

 


1) 의학

 

의학에서 시계열 데이터는 중요한 위치를 차지하고 있습니다.  가장 많이 사용되는 곳이 의료 기구에서 활용됩니다.

의료기구의 시계열 분석은 환자에 대한 시계열 연구가 있습니다.

환자의 시계열 분석은 1901년 심전도(ECG)가 발명된 이후로 연구가 시작되었습니다. 추가적인 연구는 1924년에 소개된 뇌전도(EEG)로 인해 진행되었습니다.

출처 : https://ko.wikipedia.org/wiki/심전도

ECG와 EEG의 시계열 분석은 환자의 갑작스러운 심장 문제와 발작을 측정할 때 매우 실용적으로 사용되고 있습니다. 

하지만 특정 질병을 가진 환자에게만 적용될 수 있다는 문제가 있습니다. 그리고 ECG나 EEG 장비는 오랜 시간에 걸쳐 기록된 시계열 데이터는 만들어내지 못합니다. 따라서 환자가 해당 질병이 나타나기 전에 미리 예측하는 경우는 드물기 때문에 이 장비들로는 한계가 존재합니다.

이제는 다양한 스마트 워치를 통해 사람들의 장기적 시계열 데이터를 수집할 수 있게 되었습니다. 이제는 '병원'이라는 시계열의 한계가 '일반적인 상황'까지 뻗어나가 특정 질병에 대한 분석만 하는 한계를 무너뜨릴 수 있게 되었습니다.

 


2) 기상

 

기상을 예측하는 것은 과거부터 매우 중요한 문제였습니다. 기상은 곧 그 해의 풍년, 흉년과 직결되는 문제였기 때문이죠. 

과거 조선에는 '감선'이라는 것이 있었습니다. 임금의 수라상에 올라가는 음식의 종류를 줄이는 행위였죠.

감선이 일어나는 대표적인 상황은 가뭄과 관련이 있습니다. 과거 조선은 임금의 덕이 부족하면 하늘이 벌을 내리고자 비를 내리지 않았다고 생각했기 때문이죠. 그래서 임금이 반성을 하고자 하는 의미로 비가 내릴 때까지 수라상의 음식 수를 줄이기도 했죠.

이는 서양에서도 다르지 않았습니다. 아리스토텔레스의 'Meteorology'에는 온통 기상 연구 내용밖에 없는 것이 이를 보여주죠.

따라서 과학자들은 대기 상태를 기록하고 수집하기 시작했습니다. 기압, 풍속, 습도 등 여러가지 데이터를 매일, 매시간 단위의 시계열로 기록하였죠. 

그러다 1850년대에 기상 기록 시설이 갖춰지고 로버트 피츠로이가 영국 기상 국장으로 부임한 이후에 처음으로 '일기예보'라는 단어가 도입되며 기상 기록의 관리가 본격적으로 시작되었습니다.

물론 기상 예측은 단순 시계열 분석만 사용되는 것은 아닙니다. 좀 더 정교하고 정확한 예측을 위해 물리적 원리, 경험적 방법들이 혼합되어 기상 예측 모델에 사용되고 있습니다.

 


3) 경제

 

경제학에서는 시계열 연구에 도움되는 흥미로운 데이터가 많이 제공되어 왔습니다. 과거 기록을 기반으로 미래를 예측하는 것은 경제학에서의 오래된 숙제와 마찬가지였죠. 

지금도 주식가격 예측은 많은 사람들의 흥미로운 연구과제인 것과 마찬가지입니다.

경제학에서 시계열은 19-20세기 미국과 유럽에서 발생한 금융 위기때문에 발전하였습니다. 경제 예측이 필요하다고 판단되었기 때문이죠.

당시 전문가들은 경제를 마치 기상과 같이 순환시스템이라고 생각했습니다. 높은 확률의 예측이 가능하다고 판단한 것이죠.

하지만 생각보다 정확도가 높진 않았고 많은 데이터를 축적하고자 여러 경제 데이터를 축적하는 정부와 민간 기관이 생겨났습니다. 

다양한 경제 지표들이 수집되고 연구되었으며 민간인에게도 공개되고 있습니다.

정부 기관이 수집한 경제 데이터가 GDP와 세금적인 측면의 연구에서 성공적인 결과를 보이자 민간 기관에서도 정부 데이터의 사본을 만들기 시작했습니다.

이제 증권 거래소의 많은 참여자가 높은 수준의 정보력을 갖고 있고 자동화된 거래 시스템 (기계적 트레이딩)을 도입하여 수익을 내고 있습니다.

 


4) 머신러닝

 

마지막으로 머신러닝에서의 시계열의 역사입니다. 머신러닝의 시계열 역사는 1969년으로 향합니다. J.M.Bates와 C.W.J. Granger의 'The combination of forecats'에서 앙상블 기법이 도입되며 시작되었습니다.

이를 시작으로 1980년대 초에 본격적으로 시계열 분석이 머신러닝에 도입되기 시작했습니다.

대표적인 경우는 아래와 같이 있습니다.

  • 유저의 행동 패턴을 분석한 이상치 탐지(anomaly detection)
  • 비디오, 오디오 데이터의 유사성 측정을 위해 '거리'계산에 사용되는 동적시간왜곡(dynamic time wraping, DTW)
  • RNN을 통한 패턴 추출

 


시계열 데이터  수집

 

시계열 데이터 분석을 공부할 때 의미가 있는 데이터의 조건은 몇가지 있습니다.

  • 학습과 실험에 맞는 데이터
  • 시간 지향적 데이터가 아닌 데이터에서 시계열 데이터 생성

실전적인 상황에서는 분석을 진행한 것이 맞는지 확신할 수 없습니다. 따라서 모델의 학습을 진행하고 알맞은 평가지표로 후에 실적 분석에 사용하는 것입니다. 따라서 학습과 실험에 맞는 데이터가 필요합니다.

그리고 타임스탬프가 존재하는 데이터에서 의미가 있는 시계열을 추출하는 것이 중요합니다. 그래서 단순 시간 지향적 데이터가 아닌 데이터가 필요합니다.

 

시계열 데이터는 아래의 사이트들에서 다운로드 받을 수 있습니다.

 

UCI Machine Learning Repository

 

UCI Machine Learning Repository

Welcome to the UC Irvine Machine Learning Repository! We currently maintain 588 data sets as a service to the machine learning community. You may view all data sets through our searchable interface. For a general overview of the Repository, please visit ou

archive.ics.uci.edu

 

UEA & UCR Time Series Classfication Repository

 

Time Series Classification Website

This is an archive of http://www.timeseriesclassification.com/ from Thursday 11, July 2019

perma.cc

 

반응형