본문 바로가기
Data Science/TimeSeries

시계열 클러스터링의 방법들

by hyelog 2023. 12. 24.

시계열 데이터 클러스터링이란

데이터 클러스터링은 다음과 같은 이유로 사용한다.

  • 유사한 패턴을 가진 데이터를 그룹화하여 인사이트를 얻을 수 있다.
  • 데이터의 구조와 특성을 이해하고 시계열 데이터의 특정 패턴을 발견할 수 있다.
  • 데이터를 세분화하여 세부적인 분석과 예측을 수행할 수 있다.
이런 클러스터링을 시계열 데이터에 접목해보면 어떻게 될까

 

시계열 데이터 클러스터링에서 가장 중요한 포인트는 시퀀스 데이터를 사용한다는 점이다.

시간에 따라 변화하는 데이터 포인트들을 분석하여 유사한 패턴, 트렌드, 또는 주기적인 변화를 보이는 데이터 시퀀스를 그룹화하는 것이다.

그룹화를 진행할 때, 시간 종속성과 계절성 같은 시계열 고유 특성을 고려해야 한다.

시계열 클러스터링 예시

이러한 그룹화는 다양한 분야에 접목시킬 수 있다.

예를 들면,

  • 금융) 주식 시장의 변동 패턴을 분석하여 유사한 투자 프로필을 가진 주식을 클러스터링
  • 헬스) 환자의 건강 기록 시계열 데이터를 클러스터링하여 유사한 진행 경로를 가진 질병을 식별
  • 기후) 특정 지역의 날씨 데이터의 패턴을 클러스터링하여 날씨 변화를 예측

이러한 방식으로, 시계열 클러스터링은 패턴 인식, 의사 결정 지원, 예측 분석 등에 있어 중요한 역할을 할 수 있다.

 

시계열 데이터를 클러스터링을 하기 위해 이론적인 준비부터 해보자.

오늘은 시계열 클러스터링의 method에 대해 알아볼 예정이다.

이제부터 이 방법을 클러스터링의 method라고 칭한다.


시계열 클러스터링의 method에는 크게 4가지 방법이 있다.

  1. Raw Series를 그대로 클러스터링 하는 방법 (Temporal- Proximity based clustering)
  2. Simplified 된 Series를 클러스터링 하는 방법(representation based clustering)
  3. Model based
  4. feature extraction(characteristic-based clustering)

각각의 방법론에 대해 알아보자!

1. Raw Series를 그대로 클러스터링 하는 방법 (Temporal- Proximity based clustering)

첫 번째, Raw Series를 그대로 사용하는 방법은 시간 접근성에 기반한 클러스터링 method라고 할 수 있다.

클러스팅에 사용할 유사성(similarity)의 정의가 무엇 인지가 가장 중요하다.

해당 정의에 따라 거리 혹은 유사성을 측정할 지표를 선택한다.
주로 Euclidean, DTW, LCSS를 선택한다.

2. Simplified 된 Series를 클러스터링 하는 방법(representation based clustering)

두 번째, Raw Series를 단순화시킨 데이터를 사용하는 method이다.

복잡한 Raw Series 데이터는 많은 메모리, 연산을 요구한다. 그러다 보니 자연히 속도 또한 느려진다.

데이터를 단순화함으로서 메모리와 연산을 줄여 속도를 높이는 방식을 선택한다.

 

하지만, 두 번째 method는 필연적으로 질과 속도의 trade-off를 수반한다.

이를 실현하기 위한 방안으로는

  • 데이터를 resampling하여 시계열 데이터의 point 수 자체를 줄이는 방법
  • 상관없는 component들을 제거하는 방법
  • 특정 케이스) 처음 Series size 자체를 줄이는 방법 → 이 방법의 예시는 잘 모르겠다.

등이 있다.

 

가장 대표적인 예시는 Fourier Transform이 있는데,

X(t)=k=1n[akcos(ωkt)+bksin(ωkt)]

시계열 시리즈(ω)를 설명할 가장 중요한 coef만 남겨 frequency를 줄이고, 트렌드와 사이클만 반영한 정보로 만드는 방식이다.

간단한 예시로는 비지니스 룰을 적용시켜 도메인 정보를 기반으로 반복되는 패턴을 압축하거나, 특정 데이터를 무시하는 방식을 사용할 수도 있다.

 

3. Model based 

세 번째, 모델 기반 method이다.

시계열 모델(ARMA, ARIMA) 피팅을 통해 데이터를 추출하는 방식이다.

하지만, 이 방법의 문제는 확장성에 있다.

비슷한 cluster(그렇지만 다른)에서는 성능 저하가 발생할 수 있기 때문이다.

 

4. Feature Selection

마지막으로, feature selection 방식이다.

Raw Series 데이터을 설명하는(정량화할 수 있는) 변수들을 생성하는 방법이다.

정량화할 수 있는 변수들의 예시에는

trend, seasonality, autocorrelation, kurtosis, skewness, non-linearity 등이 있다.

해당 변수들을 feature selection 진행해서 차원 축소를 진행할 수도 있다.

 

다음 포스팅에서는 유사도 측정 지표에 대해 다룰 예정이다.

오늘 예시로 나왔던 다양한 방식들에 대한 설명을 자세히 해볼 예정이다.