Medium Post Review

Time Series Anomaly Detection Algorithms

jeongpil 2021. 9. 23. 23:46

이번에 진행하는 전압 안정화 시스템 개발 프로젝트를 위해 시계열 데이터의 이상치 탐지 방법을 찾던 도중 Medium에서 이와 관련된 좋은 Post를 읽고 정리해 봤습니다.

 

 

1. 이상치의 종류

2. 시계열 데이터 이상치 탐지 알고리즘 종류

  2-1. STL Decomposition

  2-2. Classification and Regression Trees

  2-3. ARIMA

 

 

1. 이상치의 종류

 

  • additive outliers

 

짧은 기간에 급등하면 생기는 뾰족한 부분. 예를 들면, website에서 사용자의 수가 짧은 기간에 엄청 증가한 경우 같은 종류의 이상치

 

 

  • temporal changes

 

website가 다운돼서 사용자의 수가 0에 가까워진 것과 같은 종류의 이상치

 

 

  • level shifts or seasonal level shifts

 

몇몇 conversion funnel을 다루다 보면 변화가 생겨, 구매 전환율(conversion rate)이 떨어지는 경우와 같은 이상치

 

※ conversion funnel : e-commerce에서 쓰이는 용어로, 소비자가 광고와 검색을 통해 website로 향하고 결과적으로 구매를 하는 과정을 일컫는 용어이다.

 

 

 

본 Post에서 설명하는 이상치 종류는 위와 같이 3 종류가 있습니다.

 

이제, 시계열 데이터에서 이상치를 찾는 다양한 알고리즘 종류에 대해 알아보겠습니다.

 

 

2. 시계열 데이터 이상치 탐지 알고리즘 종류

 

2-1. STL Decomposition

 

STL은 Loess에 기반한 Seasonal-trend decomposition 과정을 뜻합니다.

 

Loess는 국소회귀를 의미하며 간단히 말하면, 대표하는 포인트 별로 회귀를 적합시킨 후 모델을 생성하는 비선형 회귀 알고리즘입니다.

 

이 기법을 통해 time series signal을 seasonal, trend, residue로 3개의 part로 분해할 수 있습니다.

 

 

 

 

그림의 위부터 original time series, seasonal, trend, residue을 나타낸 그래프입니다. 

 

맨 위의 origianl time series를 아래의 3 개의 그래프로 분해한 것입니다.

 

이 기법은 가장 popular case인 seasonal time series에 적합합니다.

 

 

  • 장점

 

간단하고 robust 하다.

 

많은 다른 상황에 적용 가능하고 모든 이상치들은 직관적으로 해석 가능하다.

 

additive outliers를 탐지하는데 특히 좋다.

 

  • 단점

 

signal의 특성이 급격히 변할 때 잘 작동하지 않는다. 

 

예를 들면, website를 public에게 공개하지 않았다가 public에게 공개를 했을 경우에는 공개 범위를 변경하기 이전과 이후를 나눠서 이상치를 찾아야 한다.

 

 

※ STL Decomposition 관련 논문 : http://www.wessa.net/download/stl.pdf

 

 

 

2-2. Classification and Regression Trees

 

Classification과 Regression Tree는 머신 러닝 기법 중 가장 robust 하고 효과적인 기법 중 하나입니다.

 

이를 이상치 탐지 문제에 여러 방향으로 적용시킬 수 있습니다.

 

 

① supervised learning

 

지도 학습을 이용하여 tree가 이상치와 아닌 것을 분류하도록 학습시킬 수 있습니다.

 

이를 위해, labeling 된 이상치 데이터 point가 필요합니다.

 

 

② unsupervised learning

 

비지도 학습을 이용하여 다음 data point를 예측하고 신뢰구간과 prediction error를 구하기 위해 CART를 학습시킬 수 있습니다.

 

 

 

아래 그림의 파란색 predictoin 선은 CART를 이용해 예측한 것이고 실제 데이터 그래프와 예측 그래프의 편차가 큰 부분이 이상치로 탐지된 것을 확인할 수 있습니다.

 

 

 

 

  • 장점

 

이 기법의 강점은 signal의 어떠한 구조에도 묶여있지 않다는 것입니다. 

 

많은 feauture parameter들을 학습에 이용해서 더욱 정교한 모델을 얻을 수 있습니다.

 

  • 단점

 

feature의 수가 너무 많아지면 computational performance에 영향을 끼칠 수 있습니다. 

 

 

 

2-3. ARIMA

 

이 기법은 과거의 point들을 통해, 다음 point의 예측에 white noise라고 불리는 random variable을 더해서 예측을 생성하는 방식으로 작동합니다.

 

이렇게 예측된 point들은 다시 다음 point의 예측에 auto-regressive 하게 이용됩니다.

 

ARIMA를 이용한 이상치 탐지는 아래 그림과 같이 signal의 adjusted series를 만들어 origianl series와의 비교를 통해 이상치를 탐지할 수 있습니다.

 

 

 

 

  • 장점

 

ARIMA는 매우 단순한 방식이고 signal을 예측하고 이상치를 찾는데 매우 강력합니다.

 

  • 단점

 

이 방식의 적용할 때, difference(차분)의 수, autoregression의 수, forecaset error coefficient를 선택해야 합니다. 새로운 signal을 다룰 때마다, 새로운 ARIMA 모델을 생성해야 합니다.

 

signal이 차분 후에도 정상정을 유지해야 합니다. 이는, signal이 시간에 의존해서는 안된다는 말과 같습니다. 

 

 

 

이렇게 Medium의 Post를 통해 시계열 데이터의 이상치 탐지 알고리즘의 종류에 대해 알아봤습니다.

 

알게 된 알고리즘에 대해 더욱 자세히 공부해서 이를 이번 전압 안정화 시스템 개발 프로젝트에 적용시킬 수 있는 기회가 있으면 좋겠습니다 : )

 

 

 

 

Reference

 

Medium Post

https://blog.statsbot.co/time-series-anomaly-detection-algorithms-1cef5519aef2

Loess

https://blog.naver.com/dataschool/221148399669