평균의 장점은 숫자들이 가진 값 자체를 반영한다는 것입니다. 3 값은 평균인 8에서 5 단위만큼 아래에 있습니다. 중앙값은 순서 정보를 위해 값 사이의 거리를 추상화합니다. 3 값은 중앙값 8보다 밑에 있다고 말입니다. 평균을 사용할 때는 극단치(outlier)로 문제가 발생할 수 있습니다. 극단치는 우리가 가진 데이터의 양 끝 꼬리 부근에 위치한 아주 희귀한 이벤트입니다. 평균 계산에는 개별 값이 모두 반영되기 때문에 극단치는 평균 계산을 심각하게 왜곡할 수 있습니다.
예를 들어 우리가 가진 값 중 하나를 ‘크게’ 이동시키고 다시 평균과 중앙값을 계산해 볼까요?
In [5]:
values = np.array([1, 3, 5, 8, 11, 13, 15]) print("no outlier") print(np.mean(values), np.median(values)) values_with_outlier = np.array([1, 3, 5, 8, 11, 13, 40]) print("with outlier") print("%5.2f" % np.mean(values_with_outlier), np.median(values_with_outlier))
no outlier 8.0 8.0 with outlier 11.57 8.0