Medical Statistics

Outlier에 대해서 알아보자

sokki 2021. 10. 25. 17:05

통계에서는 outlier라는 개념이 있다. 한국말로는 데이터의 분포에서 굉장히 다르게 나타나는 값을 뜻한다.

outlier가 중요한 이유는 집계 통계에 있어서 심한 왜곡을 가해줄 수 있기 때문이다. 

예를 들어 우리가 가진 데이터가 다음과 같다고 해보자.

id
1 160
2 162
3 170
4 180
5 175
6 340

위의 표를 보면 사람들의 키를 나타내는 표에서 평균이 197.8333 이 나오는 것을 볼 수 있다. 그러나 만일 6번 사람이 제외 된다면 평균은 169.4로 바뀐다. 이처럼 변수의 값들 중에서 특이한 값들을 일컬어 outlier라고 부른다. 지금까지는 컨셉에 대해서 알아보았고, 그렇다면 어떻게 구체적으로 이것을 정의할 수 있을까?

보통은 IQR에서 Q3로부터 ±1.5IQR 벗어나면 outlier라고 본다. 하지만 이것도 정의하기 나름이다. 그렇다면 여기서는 어떨까? **참고로, IQR이란 1분위수(Q1)와 3분위수(Q3)의 차를 말한다.(IQR = q3 - q1)

import numpy as np

height = np.array([160,162,170,180,175,340])
q1 = np.percentile(height, 25)
q3 = np.percentile(height, 75)

IQR = q3 - q1 
outlier_step = 1.5*IQR

maximum_number4outlier = q3 + outlier_step

우리는 maximum number를 200.875가 나오므로 340은 outlier라고 간주하게 된다. 

그렇지만 꼭 outlier라고 해서 버리는 것이 맞는지는 어떤 데이터냐에 따라 달라질 수도 있는 것이니, 그것은 domain knowledge를 활용해야 하는 부분이라 하겠다.

그렇다면 오늘은 여기까지다!