Outlier의 처리에 대하여
Outlier란?
이상치라고 불리는 Outlier를 간단하게 정의하면, 주어진 data에서 일반적인 pointer들이 가지고 있는 특성과 다르게 '튀는' 점들을 의미한다.
예를 들어, [-3, -2, 1, 2, 3, 999, 4, 7] 이런 관측값들이 모였다면 999가 Outlier라고 명백하게 생각할 수 있을 것이다.
왜 처리해야 하는가?
이러한 Outlier는 예측에 큰 영향을 주게 된다. 선형 회귀의 경우에 대해서만 고려해도, 직선의 fit 결과에 크게 영향을 주게 되며, 그보다 앞서서 단편적인 통계량에도 큰 변화를 주게된다. 따라서 Outlier에 대한 인지는 매우 중요하다는 것을 알 수 있다.
어떤 방법론들이 존재하는가?
Outlier를 찾아내는 방법들은 다양하게 존재하는데 대표적인 방법론들은 다음과 같다.
- 사분위수범위를 활용하는 방법
- 표준화를 이용하는 방법
- 기하평균을 이용하는 방법
- Isolation Tree의 이용
- One Class SVM
- DBSCAN을 통한 Outlier 검출 : Outlier의 경우는 Clustering이 되지 않을 것이다.
Isolation Tree, One Class SVM은 자세한 원리를 학습하기로 하고, 이번 글에서는 간단한 방법만 정리하기로 한다.
(1) 사분위수를 활용하는 방법
먼저, 사분위수의 활용을 위해 Boxplot을 통해 그려볼 수 있을 것이다.
- Q1 : 하위 25% 데이터 값
- Q2 : 중위수
- Q3 : 하위 75%, 즉 상위 25%의 데이터의 값
- IQR : 사분위수 범위로 Q3 - Q1로 주어진다.
해당 방법론에서는 Q3 + 1.5*IQR 보다 큰 값, Q1 - 1.5*IQR보다 작은 값을 범위를 '현격하게'벗어났다 라고 가정하고, 이들을 이상치로 잡게 된다.
(2) 표준화를 활용하는 방법
다른 방법으로는 표준화를 이용할 수 있다. 주어진 데이터의 Z score이용하게 된다.
여기서 Z score가 특정값 미만/초과 (3으로 하는 경우가 많다고 하는거 같다.)일 경우 이상치로 분류하게 된다.
(3) 기하 평균을 이용하는 방법
기하 평균을 이용하는 방법도 존재한다.
기하평균-2.5 * 표준편차를 하한 값으로, 기하평균 + 2.5 * 표준편차를 상한값으로 이용한다.
* (2), (3) 방법의 경우 이상치 자체가 섞인 상황에서 쓰면 이미 이상치의 영향을 받을 것인데, 이런 방법을 써도 되는지가 의문스럽다.
나머지 방법론에 대해서는 자세한 알고리즘 / 수학 원리와 함께 한 편의 글로 별도로 올리려 한다.
'Archive > 데이터 분석 관련' 카테고리의 다른 글
[Data] 데이터 분석 용어 - 이용자 및 매출에 대한 지표 요약 (0) | 2021.12.10 |
---|---|
[Data] 범주형 변수의 Clustering (0) | 2021.10.28 |
[Data] 연관규칙분석이란? (0) | 2021.10.14 |
[Data] Feature Importance 정리하기 (0) | 2021.09.30 |
[Data] Data Clustering 정리 (0) | 2021.09.30 |