본문 바로가기
Study/Data Science

[Data Science] 이상치(Outlier) 탐지 방법

by ngool 2024. 12. 5.

데이터를 분석하다보면 가끔 정상적인 범위에서 많이 벗어난 이상치를 발견하게 됩니다.

그런 데이터들은 분석 결과를 왜곡시킬 수 있기 때문에 반드시 처리를 해줘야 하는데요,

문제는 사람이 모든 데이터를 일일이 살펴보면서 이상치를 걸러낼 수 없다는 것이죠..

 

그렇기에 데이터를 다루는 사람이라면 반드시 이상치 탐지 방법을 알고 있어야 합니다. 

여기에는 어떤 것들이 있으며, 어떤 방식으로 이상치를 찾아내는지 한번 살펴보죠!


Z-Score

데이터의 분포가 정규 분포를 이룰 때, 데이터의 표준 편차를 이용해 이상치를 탐지하는 방법

https://detectoutliers.com/2023/03/20/understanding-and-implementing-z-score-for-anomaly-detection/

 

  • Z-Score는 해당 데이터가 평균으로부터 얼마나 표준편차 만큼 벗어나 있는지를 의미
  • 주로 Z-Score에서 3보다 크고 -3보다 작은 값을 이상치로 판별

IQR(Interquartile Range) with Box plots

데이터의 분포가 정규 분포를 이루지 않거나 한쪽으로 치우친 경우, 데이터의 IQR 값을 사용해 이상치를 탐지하는 방법

https://towardsdatascience.com/understanding-boxplots-5e2df7bcbd51

  • 박스 플롯을 통해 최소값, 최대값, 중앙값, Q1, Q3 값을 알 수 있으며, 이상치를 확인할 수 있음
  • Q1 - 1.5*IQR 미만, Q3 + 1.5*IQR 초과를 이상치로 간주

Isolation Forest

결정 트리(decision tree) 계열의 비지도 학습 알고리즘으로 고차원 데이터셋에서 이상치를 탐지할 때 효과적인 방

 

  • 데이터의 "고립"을 기반으로 작동하며 이상치는 정상 데이터보다 고립되기 쉽다는 점을 활용

https://spotintelligence.com/2024/05/21/isolation-forest/

 

※ 작동 원리

  1. 데이터를 랜덤한 방식으로 나무 구조로 분할함
  2. 이상치는 적은 횟수의 분할만으로도 고립되기 때문에, 고립되는 데 필요한 경로 길이가 짧음
  3. 여러 나무의 결과를 평균 내어 이상치 점수를 계산함

DBScan(Density Based Spatial Clustering of Applications with Noise)

밀도 기반 클러스터링 알고리즘으로, 밀도 기준으로 군집을 정의하고 밀도가 낮은 데이터를 이상치로 탐지
  • 밀집된 지역에서 데이터를 군집화한 후, 밀도가 낮아 어느 군집에도 속하지 못하는 점들을 이상치로 간주

https://ai.plainenglish.io/dbscan-density-based-clustering-aaebd76e2c8c

 

※ 주요 매개변수

  • Eps : 데이터 포인트가 이웃이라고 간주되는 거리의 반경으로, 데이터 분포에 따라 결정함
  • MinPts : 한 군집을 이루는 최소 데이터 포인트 개수로, 데이터 차원(D)에 따라 일반적으로 D+1 이상의 값으로 설정함