Outlier는 정말 불필요할까? outlier를 모두 제거해야만 할까? 이 글을 통해 생각해본다.
이상치/특이치
관측된 데이터 중 이상하게도, 특이하게도 평균 데이터 (값)와 크게 다른 데이터를 말한다. 이러한 outlier 데이터가 머신러닝/딥러닝 모델이 학습하는 과정에 입력되면 weight가 급격하게 커지거나 작아질 수 있다 (튕긴다라고도 표현한다). 그렇기에 outlier 데이터를 제거하는 과정이 필수적이다.
Outlier를 탐지하는 방법은 다양하다. 그 중 가장 널리 사용되는 방법은 IQR Rule이다. 이 방법은 이사분범위를 바탕으로 Q3 + 1.5*IQR 이상, Q1–1.5*IQR 이하의 값을 outlier로 정의하는 것이다.
Outlier의 diversity
(설명을 용이하기 위해 이진 분류 문제로 한정한다. Diversity에 대한 설명은아래의 링크를 참고 바란다.
자고로 탐지된 outlier 데이터가 정말 불필요하다면 outlier 데이터의 class diversity가 아주 높아야 된다고 생각한다. 즉, outlier 데이터가 100개 탐지되었다면 class가 50:50의 비율에 가까워야 불필요한 outlier이다. 하지만 만약 class의 비율이 80:20 혹은 90:10이라면, 극단적으로 100:0이라면 이 데이터를 outlier라고 보아야할까? 아닐 것이다. 이 100개의 데이터는 의미있는 outlier 그룹일 것이다. (아래 그림 참조)
만약 ‘우’의 상황임에도 outlier 데이터를 제거해버린다면 큰 실수를 범하는 것이다. 이 데이터를 제거한다면 학습 모델을 테스트하는 과정에서 큰 오차를 발생시킬 수 있다. 그렇기에 outlier는 이상치를 의미하는 것이지 쓸모없는 데이터라 정의하면 오판이다. 제거하기 전에 분석을 해야할 필요가 (크게) 있다.