ML

Anomaly detection - 3-Sigma rule& box plot

30303 2024. 3. 25. 09:56
728x90

이상치 (Outlier) vs 이상(Abnormal)

 

이상치 (Outlier)Data Noise (O)

 관측된 데이터의 범위에서 많이 벗어난 아주 작은 값이나, 큰 값

분석하고자 하는 데이터에서 적은 확률로 나타나는 데이터

 분석 결과 해석 시 오해를 발생시킬 수 있기 때문에 사전 제거 필요

분석 Domain에 따라 다르지만 대부분 분석 대상이 아님

 

 

이상(Abnormal) → Data Noise (X)

문제 해결의 관점으로 바라볼 수 있음

 현업의 Domain의 관점에서 보았을 때, 문제 발생 가능성이 높은 데이터

 정상적인 범주에 데이터라도 이상으로 정의할 수 있음

 일반적으로 자주 발생하지 않는 패턴이 이상일 확률이 높음

따라서, 데이터에 대해 Thresh Hold가 존재함

 


 

Anomaly Detection은 이상이라고 정의한 사건 및 패턴을 탐지하는 분야

 

이상 탐지 목적

 

① [제조] 심각한 고장 발생 전 이상 탐지를 통해 효율에 대한 심각한 Risk 사전 방지

② [금융] 비정상적 거래 및 사기 거래 방지를 통해 소비자 사후 보호 실행

③ [게임] 버그 유저 및 비정상 유저 탐지를 통해 게임 정상 운영

 

 

Anomaly Detection 종류

 

 Data 유형에 따른 이상 탐지의 종류

 

Point Anomaly Detection

 

축적된 시간 동안 정적인 점 분포에 초점

특정 Point의 이상치를 감지

 일반적으로 말하는 Data 내 Outlier

 

② Contextual Anomaly Detection

 

 시계열과 같은 동적인 특성에 초점 (※ 과거에 데이터가 현재의 값에 영향을 미칠 때, Sequential)

 연속적인 변화 패턴을 읽어 이상치 감지, 맥락을 고려해서 예상 변화와 동떨어진 결과를 탐지

 민감하면 정상상황에서도 이상탐지가 되고, 둔감하게 만들면 비정상 상황에서 이상 탐지를 놓칠 수 있음

 

③ Collective Anomaly Detection

 

Contextual Anomaly Detection와 다르게 Global 상황에서 변칙적인 이상치가 아닌, Local한 이상치

 개별 데이터가 아닌 집합 데이터 비교를 통해 이상을 확인

 

④ Online Anomaly Detection

 

 실시간 데이터 수집 체계가 구축되어 있는 환경에서 탐지

: 실시간은 몇 분 혹은 몇 초 마다 데이터가 수집되어야 실시간이라고 볼 수 있는가?

→ Domain에 따라 다름

 실시간 데이터를 어떻게 빠르게 처리하고 이상을 탐지할지 설계하는 것이 매우 중요함

 

⑤ Distributed Anomaly Detection

 

 관측치의 정상 분포에서 벗어나는 이상 데이터를 탐지

 


 

Anomaly Detection 종류- Label

 

 현재 보유하고 있는 데이터의 성격에 따라 이상 탐지의 종류 및 해결 방법론이 결정

 

① Supervised Anomaly Detection

 

 모든 관측치에 대해서 이상(abnormal)과 정상(normal) 라벨이 붙어있는 경우,

자주 발생하지 않는 이벤트인 이상(abnormal)에 대해서 정의할 수 있는 상황이며,

충분히 학습할 만한 이상(abnormal) 데이터가 확보되어 있는 상황

 

-일반적인 이진분류(Binary Classification) 문제로 해결할 수 있음

(※ 이상(abnormal)의 종류가 다양하다면 Multi-Classification 문제로 해결)

 

 이상(abnormal) 데이터 확보가 가능하나 적은 수의 데이터가 존재할 확률이 있으므로,

소수 클래스 문제, 불균형 문제를 해결해야 하는 상황을 고려할 수 있음

 

 성능평가 시 ACC(Accuracy) 관점이 아닌, Recall 관점에서의 성능평가도 고려해야

 

장점 : 양/불 판정 정확도가 높다

단점 : Class-Imbalance 문제

 

② Semi-Supervised Anomaly Detection

 

이상(abnormal)에 대한 라벨이 없으며, 정상(normal) 데이터만 보유하고 있는 상황,

충분히 학습할 만한 이상(abnormal) 데이터가 없을 시 정상(normal) 데이터만을 사용하여 이상(abnormal)을 탐지

 

정상(normal) 데이터의 패턴을 학습하여

이상(abnormal) 데이터가 들어올 시 정상(normal) 데이터와 차이점을 파악하여,

이상(abnormal) 데이터를 탐지

 

 정상 데이터를 둘러싸고 있는 discriminative boundary(구분선)를 설정하고,

이 boundary를 최대한좁혀 밖에 있는 데이터들을 이상(abnormal)로 간주하는 것

 

 대표적인 방법으로는 One-Class SVM이 존재

 

장점 : 연구가 활발하게 이뤄지고 있고, 정상(normal) 데이터만 있어도 학습이 가능

단점 : Supervised Anomaly Detection 방법론 대비 양/불 판정 정확도가 떨어짐

 

 

③ Unsupervised Anomaly Detection

 

 정상(normal)과 이상(abnormal)에 대한 라벨이 모두 존재하지 않는 경우

-모든 데이터를 활용하여 학습

 일반적으로 딥러닝 알고리즘을 사용하여 정상 패턴을 학습하고,

학습된 모델을 통해 이상(abnormal) 데이터를 탐지함

Threshhold를 가지고.

 

장점: 라벨링 과정이 필요 없음

단점 : 양/불 판정 정확도가 높지 않고 hyper parameter에 매우 민감함

 


 

3-Sigma Rule

 

SPC(Statistical Process Control, 통계적 공정 관리), 경험적 규칙(Empirical Rule)

 표준편차의 3배인 3-Sigma (б)의 범위가 전체 Data의 99.73%를 포함

Data 전체의 산포를 파악하는 개념으로 많이 활용 됨

 

 UCL (Upper Control Limit) / LCL (Lower Control Limit)

- 6 б 수준- 불량률 & 불량 개수 : 0.00034% & 100만개 중 3.4개

- 3 б 수준- 불량률 & 불량 개수 : 6.7% & 100만개 중 66,807개

 

 

3-Sigma Rule 장단점

[장점]

 매우 구현하기 쉬움

명확한 기준을 설정할 수 있기 때문에, 방법론에 재학습이 필요 없음

[단점]

정규분포가 가정되어야 함, 분포에 따라 б 의 크기 수준이 달라 짐

다차원 데이터에 적용하기 어려움

단변량 데이터에 적용할 수 있으며, Feature간 상호관계를 파악하기 어려움

 

 

Box Plot

 

많은 데이터를 눈으로 확인하기 어려울 때 그림을 이용해 데이터 집합의 범위와 중앙 값을 빠르게 확인할 수 있음

데이터가 많은 경우 분포를 그리기 매우 힘들 수 있기 때문

Box plot은 최소 정상 값(min), 1사분위수(Q1), 중앙값, 3사분위수(Q3), 최대 정상 값(max)를 나타내는 시각화 방법

 

Box Plot 장단점

[장점]

 데이터를 눈으로 확인하기 어려울 때, 그림을 이용해 데이터의 범위를 빠르게 파악

통계적으로 이상치(Outlier)가 있는지 확인 가능

 다양한 정보를 손쉽게 표현할 수 있음

[단점]

 위치정보에 기반하고 있기 때문에 분포를 확인하기는 어려움

가운데 선은 평균이 아니다. 오해 소지가 있음