이상치 탐지 솔루션은 공정, 금융 등의 분야에서 비교적 흔하게 사용되고 있는 기술이다. 예컨대, 공정에서 공기청정기를 생산한다고 할 때, 이상치 탐지 기술을 이용하면 (그 안에 들어가는) 모터에서 발생하는 소음의 "이상" 여부를 분석하여 해당 부품의 불량 여부를 체크할 수 있고, 금융권의 경우, 은행에서 특정 사용자의 계좌에서 평소와 다른 "이상" 패턴이 탐지된다면 그 사용자의 계좌에 대해 동결 조치를 취할 수 있다.

이러한 이상치 탐지 기술은 통계적인 접근과 머신러닝 접근으로 구분될 수 있는데, 전자는 오래 전부터 사용된 고전적인 방법인 반면 후자는 비교적 최근 들어 더 인기를 얻게 되었다. 이번 포스팅에서는 이 둘에 대한 대표적인 방법을 소개한다. 통계적 접근은 개발이 쉽고 결과 해석이 용이하다는 이점에 있고, 머신러닝 접근은 탐지 성능 측면에서 더 우수할 수 있다는 이점이 있어 보인다.
1. 통계 기반 이상치 탐지 방법론
1.1 Shewhart Control Charts
통계적인 접근의 이상치 탐지 방법은 Walter A. Shewhart (1891 - 1967)에 의해 처음으로 제안되었다. 이 방법은 관리도(Control Chart)라고 불리는데, 이것은 시간에 따라 변화하는 데이터의 변동을 추적 관찰(Monitoring)하면서 해당 데이터가 특정 시점에 이상이 발생하는지 여부를 모니터링하는 그래프이다. 이 관리도는 관리 통계량(Control statistics, points)과 관리 한계선(Control limits, lines)으로 구성된다. 여기서 관리 통계량이란 관리도가 추적 관찰하는 대상의 통계량 (평균, 표준편차 등)을 일컫는다. 이것은 이상 여부의 임계치 역할을 하는 관리 한계선을 벗어나는지를 추적 관찰하기 위한 대상이다.

관리도에서 관리 한계선을 찾을 때에는 정상 데이터만으로 구성된 데이터세트의 통계량으로부터 계산되어야 한다. 더욱이, 이 과정은 Phase1에서만 진행되어야 한다. 예를 들어, 그림2와 같이 15 시점을 기준으로 과거 기간인 phase1 동안에 관리 한계선이 생성되면, 15 이후의 기간인 phase2에 이 생성된 관리 한계선이 이상 여부를 탐지하기 위해 사용된다.

1.1.1 X bar Chart
먼저, 대표적인 관리도 방법인 X bar Chart에 대해 알아보자. 이것은 연속적인 데이터의 이상 여부를 판별할 때 적합한 방법론이다. 이것은 변수가 하나인 단변량 데이터를 다루는 데 적합하다. 여기서 X bar (

위 [그림3]의

X bar chart에서 관리 한계선은 다음 [그림5] 같이 구한다. 여기서

수학적인 접근으로 UCL에 대해 더 자세히 이해해보자.
이제, 이 (3)이 (4)
하지만 unbiased estimator를 만족하기 위한 조건이 있다. 이것은 "만약
이제 (6)을 (1)에 대입하면, (9)
1.2 Time-Weighted Control Charts
전술한 Shewhart control 방법은 사실 오직 최근 정보만을 고려하여 관리 한계선을 생성한다는 한계가 있다. 이 경우, 모니터링 시스템은 관리 통계량의 작업 변화를 포착하지 못할 수 있다. 예컨대, Shewhart control 방법에 따라 개발된 시스템은 t 시점까지의 평균이 20이고 그 이후부터 평균이 22인데 t 이후의 모든 시점에서의 통계량이 UCL, LCL을 넘지 않는다면 이상anomaly에 대한 알람이 울리지 않을 것이다. 이러한 한계를 극복하기 위해, 이번 섹션에서는 과거의 정보도 고려하여 관리 한계선을 생성하는 대표적인 방법인 Exponentially Weighted Moving Average (EWMA)에 대해 알아본다.
1.2.1 EMWA
먼저, EWMA statistics는 (10)
세 개의 시점만을 고려한다고 가정할 때, 아래 [그림6]같이

나아가, 위 식에 따르면,
이제, EWMA의 Control Limit을 알아보자. UCL의 일반식은
가정:

표준편차의 제곱인 분산

위에서 구한

위 [그림9]의 UCL, LCL에서 볼 수 있는 특이한 점은 특정 시점을 나타내는 인덱스

마지막으로 강조할 점은Time-Weighted Control Charts에서는 Shewhart Control Charts에서와 같이 Phase1에서 정상 데이터만을 사용하지 않는다는 것이다. 즉, EWMA 방법에서는 여기서는 정상/이상 데이터 모두 사용하여 관리 한계선을 생성한다. 또한, 현업에서는 일반적으로
2. 머신러닝 기반 이상치 탐지 방법론
지금까지 고전적인 통계 기반의 이상치 탐지 방법에 대해 알아보았다. 이번 장에서는 최근 들어 활발히 연구되고 있는 머신러닝 기반의 이상치 탐지 방법에 대해 알아보자. 그 중에서도 딥러닝 접근을 이용한 직관적으로 이해하기 쉬운 구조를 가진 DeepAnT [7]에 대해 간략히 살펴본다.
먼저, 머신러닝 기반의 이상치 탐지 태스크에 대해 정의해보자.
• Dataset: 시계열 세트
• Task: 길이가
그전에 먼저 이상치 탐지에서 다루고 있는 "이상"(anomaly)에 대해 정의할 필요가 있다. 일반적으로 이상은 아래 [그림11] 같이 4 가지로 분류될 수 있다. 우리가 다루는 종류의 anomaly는 1에 해당하는 Point-wise outlier이다.
1. 연속적인 시계열 안의 특정한 outlier 포인트가 있다.
2. 특정 기간 내 파형이 다른 기간 내 파형과 다른 Shapelet outlier가 있다.
3. 특정 기간 내 파동이 다른 기간 내 파동보다 파장이 긴 Seasonal outlier가 있다.
4. 특정 시점에 진폭의 변화가 큰 Trend outlier가 있다.
머신러닝 기반의 시계열 이상치 탐지(ADTS)의 방법 또한 여러가지이다. 아래 [그림12]에서 볼 수 있듯이 이것은 5 가지로 분류될 수 있다. 먼저, 클러스터링 방법이 있다. 이것은 다변량 시계열 데이터의 피처 공간

신경망 접근을 활용할 때 가장 인기있는 두 가지 방법은 재구축(Reconstruction) 기반 접근과 예측(forecasting) 기반 접근일 것이다. 이들 중 재구축 방법은 주어진 원본 데이터와 오토인코더 등을 통해 재구축된 시계열 간의 차이가 특정 임계치보다 큰 경우 이상으로 판정한다. 이와 유사하게, 예측 기반 방법도 임의의 시점
일종의 예측 기반 방법론인 DeepAnT [7]를 간략히 살펴보자. 이것은 주어진 과거 시점의 시계열 데이터를 기반으로 미래 시점의 값을 예측하는 Time Series Predictor와 예측값과 실제값의 차이를 계산하여 해당 시점의 실제값(그림의 기댓값X)이 이상인지 여부를 판정하는 Anomaly Detector로 구성된다. 여기서 전자는 1D-CNN과 Max pooling 레이어를 이용하여 시계열을 학습한다. 이 예측기는 MAE를 목적 함수로 학습된다.

학습된 DeepAnT를 이용하여 시계열의 이상치를 검출해보면 아래 [그림14] 같이 Predictor의 예측값과 실제값 간의 차이가 비교적 큰 경우 Anomaly Detector에서 예측값

참고 문헌
[1] 산업공학과 김성범 교수님의 수업 참고
[2] 그림1 https://cdn1.byjus.com/wp-content/uploads/2018/11/maths/2016/06/03072323/Control-Charts.jpg
[5] 그림 4 https://www.spcforexcel.com/files/images/xbarbowlgif.gif
[6] 그림 10 https://analyse-it.com/docs/user-guide/process-control/images/ewmachart.png
[7] Munir, Mohsin, et al. "DeepAnT: A deep learning approach for unsupervised anomaly detection in time series." Ieee Access 7 (2018): 1991-2005.
[8] Mejri, Nesryne, et al. "Unsupervised Anomaly Detection in Time-series: An Extensive Evaluation and Analysis of State-of-the-art Methods." arXiv preprint arXiv:2212.03637 (2022).
'머신러닝과 인공지능' 카테고리의 다른 글
언제 MSE, MAE, RMSE를 사용하는가 (0) | 2022.12.12 |
---|---|
머신러닝을 이용한 블록체인 상에서의 부정거래 탐지 (3) | 2022.12.12 |