데이터 한 그릇

6)시계열 특징의 생성 및 선택 본문

시계열 분석/Practical TIme Series Analysis

6)시계열 특징의 생성 및 선택

장사이언스 2022. 10. 26. 18:36

이번 장은 시계열 분석을 머신러닝에 적용하는 다음 장의 내용에 대한 대비로 볼 수 있다

시계열을 위한 feature 생성 및 선택에 대해 다룬다

특징 생성이란 시계열 데이터의 가장 중요한 특성을 정량화하여 수치 및 범주형 레이블로 압축하는 방법을 찾는 과정이다

시계열을 묘사할 수 있는 특징들의 집합을 짧게 표현하여 원시 시계열로 압축하곤 한다

 

특징 생성의 목적은 전체 시계열에 대해 가능한 한 많은 정보를 적은 수의 지표로 압축하는 것

또한 압축된 지표로 시계열의 가장 중요한 정보를 식별하고 그 외의 나머지는 제거할 수도 있다

이 기법은 비시계열을 위해서 개발됏지만 시계열에서도 좋은 결과를 낼 수 있는 머신러닝 기법에 중요하다

 

만일 특징을 생성했다면 그 특징이 정말로 유용한지 명확히 판단해야 한다

 

전통적인 머신러닝 모델은 시계열을 염두에 두고 개발된 것이 아니다

따라서 시계열에 머신러닝 모델을 적용한다고 해서 자동으로 무언가를 해결할 수는 없다

이러한 모델(머신러닝)이 시계열 데이터에 대해 동작하는 데 필요한 것이 바로 특징 생성이다 (머신러닝 모델들은 시계열을 염두하고 만든 모델이 아니다)

예시로 아래를 살펴보면,

 

과거 한 주의 온도

 

시간 온도
월요일 아침 35
월요일 점심 52
월요일 저녁 15
화요일 아침 37
화요일 점심 52
화요일 저녁 15
수요일 아침 37
수요일 점심 54
수요일 저녁 16
목요일 아침 39
목요일 점심 51
목요일 저녁 12
금요일 아침  41
금요일 점심 55
금요일 저녁 20
토요일 아침 43
토요일 점심 58
토요일 저녁 22
일요일 아침 46
일요일 점심 61
일요일 저녁 35

 

 

집약할 수 있는데 다음 세 가지 방식으로 가능하다

 

  • 일일/주기성
  • 증가하는 추세, 경사를 계산하면 보다 정량화 가능
  • 각각 아침, 점심, 저녁의 평균값

 

위의 방식을 사용하면 데이터 21개로 표현된 시계열을 2~5개의 정보로 요약함과 동시에 많은 내용을 유실하지 않은 채 데이터를 압축할 수 있다

생성된 특징 중에서 그 의미의 타당성을 입증할 수 없거나 표현력이 좋지 않은 모든 특징을 골라내는 특징 선택의 작업을 수행한다

특징 계산시 고려 사항

시계열 특징을 생성할 때 유념해야 하는 몇 가지 고려 사항

시계열의 특성

정상성

시계열의 여러 특징은 정상성을 가정한다

데이터가 정상이 아니거나 적어도 에르고딕(ergodic)이 아니면 쓸모 없다고 가정하는 경우가 많다

예를 들어 시계열의 평균을 특징으로 사용하는 것은 시계열이 정상일때만 타당하다

평균이라는 개념이 정상 상태에서만 의미를 가지기 때문

비정상 시계열에 대한 평균,추세,계절주기 등은 뒤엉킨 과정을 표현하기 때문에 거의 우연의 결과이며 무의미하다고 볼 수 있다

 

에르고딕 시계열은 모든 부표본이 동등하게 계열을 대표하는 시계열이다
에르고딕 시계열은 부표본들의 평균과 분산이 같아야 하는 정상성보다는 약한 개념이다
에르고딕성은 시계열에 관한 동일한 정보를 포함하는 것을 요구하지만 통계 측정(평균과 분산)까지 같아야 한다는 것을 의미하지 않는다

시계열의 길이

 

특징 생성에 대한 또 다른 고려 사항은 시계열의 길이(length of time series) 이다

일부 특징은 정상 시계열에 적합할 수도 있지만 시계열의 최댓값이나 최솟값과 같은 특징은 시계열의 길이가 늘어남에 따라 불안정해진다

 

도메인 지식 및 외적 고려사항 등등

그런게 있다고 한다... 이 책 괜히 샀나 .. ㅅㅂ...

 

특징의 발견에 영감을 주는 장소 목록

간단하면서도 자주 사용되는 요약 통계 특징은 다음과 같다

  • 평균과 분산
  • 최댓값과 최솟값
  • 시작과 마지막 값의 다른 정도

계산이 복잡해도 일반적으로 유용한 특징을 시각적으로 식별할 수도 있다 (다른 유용한 특징)

  • 국소적 최소와 최대의 개수
  • 시계열의 평활 정도
  • 시계열의 주기성과 자기상관

시계열 특징 생성의 오픈 소스 라이브러리

설명은 생략하고 나열할 예정 (실습을 하면 라이브러리는 이해가 되는거라,,,,)

 

  • 파이썬 tsfresh
  • 시계열 분석 플랫폼: Cesium 이러는 것도 있대요..
  • R, tsfeatures

특정 도메인에 특화된 특징의 예

다양한 시계열을 위해 개발된 도메인별 특징이 있다

 

주식시장의 기술지표

- 상대강도지수

- 이동평균 수렴발산

- 체이킨 머니 플로

 

헬스케어 시계열도 있다고 한다

생성된 특징들 중 일부를 선택하는 방법

 

자동화된 특징 선택(selection) 을 자동화된 특징 생성(generation)과 함께 사용하면 도움이 될 것 (관련 패키지가 존재)

 

다음 절은 드디어 머신러닝.... 

Comments