공든탑앱 열기

이상값과 상자그림

ADsP (데이터분석 준전문가) · R 기초와 데이터 마트 · 약 12분

쉽게 말하면

반 학생 몸무게가 대부분 50~70kg 인데 한 명만 120kg 으로 적혀 있으면 눈에 띄죠. 이렇게 다른 값들과 동떨어진 값이 이상값이에요. 상자그림은 데이터를 작은 순으로 줄 세워 가운데 절반을 상자로 그린 그림이고, 상자에서 너무 멀리 떨어진 점을 이상값으로 찍어 줘요.

시험용 정의

이상값(outlier)은 다른 관측값들과 동떨어진 값으로, 입력 실수, 측정 오류, 표본 추출 오류, 또는 실제로 드문 현상 때문에 생긴다. 데이터를 크기순으로 나눈 사분위수 중 아래 25% 지점이 Q1, 50% 지점이 중앙값(Q2), 75% 지점이 Q3 이고, 사분위수 범위 IQR = Q3 - Q1 은 가운데 50% 가 퍼진 폭이다. 상자그림(box plot)은 Q1 에서 Q3 까지를 상자로, 중앙값을 상자 안 선으로 그리고, Q1 - 1.5 × IQR 아래나 Q3 + 1.5 × IQR 위의 값을 이상값 점으로 찍는다. 정규분포를 가정할 때는 평균에서 표준편차의 3배를 넘게 벗어난 값을 이상값으로 보는 ESD 방법도 쓴다.

비유로 이해하기

마라톤 결승선이다. 참가자 대부분이 3~5시간 사이에 들어오는데 한 명이 1시간 만에 들어왔다면 기록을 다시 확인해야 한다. 차를 탔을 수도(오류) 있고 세계적인 선수일 수도(진짜 드문 값) 있다. 무조건 기록을 지우지 않고 이유를 먼저 본다.

자세히

먼저 알아 둘 말

말뜻
사분위수데이터를 크기순으로 줄 세워 네 등분하는 지점. Q1(25%), Q2(50%, 중앙값), Q3(75%)
IQR사분위수 범위. Q3 - Q1. 가운데 50% 의 폭
수염상자 밖으로 뻗은 선. 이상값이 아닌 값 중 가장 작은 값과 가장 큰 값까지
표준편차값들이 평균에서 평균적으로 얼마나 떨어져 있나

상자그림 읽기

부분뜻
상자 아래 끝Q1. 이 값보다 작은 데이터가 약 25%
상자 안 선중앙값. 이 값 이상이 적어도 절반
상자 위 끝Q3. 이 값보다 큰 데이터가 약 25%
상자 길이IQR. 이 안에 데이터의 약 50%
수염 끝이상값을 뺀 최솟값과 최댓값
바깥 점1.5 × IQR 밖의 이상값

상자그림이 알려 주지 않는 것

  • 평균은 그리지 않는다. 중앙값이 70 이라고 평균이 70 인 것은 아니다
  • 관측치 개수는 알 수 없다. 상자의 폭과 길이로 개수를 셀 수 없다
  • '정확히 몇 명이 몇 점 아래인가'도 알 수 없다. 25%, 50% 같은 대략의 비율만 안다
  • 평균이 중앙값보다 크면 오른쪽 꼬리가 긴 분포를 의심할 수 있지만 '항상 크다'는 아니다

이상값 찾는 방법

방법기준
상자그림 (사분위수)Q1 - 1.5 × IQR 미만, Q3 + 1.5 × IQR 초과
ESD평균 ± 3 × 표준편차 밖 (정규분포 가정)
그래프상자그림, 산점도, 히스토그램으로 눈으로 확인
군집·밀도 기반어느 군집에도 속하지 않는 점 (DBSCAN 의 잡음)

처리 방법

원인을 먼저 본다. 입력 오류면 고치거나 지우고, 실제 드문 값이면 남겨 둔다. 지우는 대신 평균·중앙값·회귀 예측값으로 바꾸거나, 상한·하한 값으로 눌러 두기도 한다. 이상값이 오히려 분석 목적일 때도 있다. 카드 부정 사용 탐지가 그렇다. 표본 평균의 표준오차 범위는 평균이 얼마나 정확한지를 보는 것이지 개별 값의 이상 여부 기준이 아니다.

더 깊게: 3 시그마가 놓치는 경우

R 콘솔의 w 에서 120 은 눈으로 봐도 튀지만 평균과 표준편차로 계산한 점수는 약 2.73 이라 3배 기준을 넘지 않는다. 이상값 자신이 평균을 끌어올리고 표준편차를 키워서 스스로를 가리기 때문이다. 표본이 작을 때는 중앙값과 IQR 처럼 이상값에 덜 흔들리는 기준이 더 잘 잡아낸다. 참고로 R 의 상자그림은 Q1·Q3 대신 투키의 경첩(fivenum)을 써서 summary 의 사분위수와 조금 다를 수 있다.

시험에 이렇게 나와요

확인 문제

Q1. 어떤 변수의 Q1 = 20, Q3 = 30 이다. 1.5 × IQR 기준으로 상한보다 큰 값을 이상값이라 할 때 상한은?

  1. 30
  2. 35
  3. 40
  4. 45
정답 보기

4번 45

IQR = 30 - 20 = 10. 상한 = Q3 + 1.5 × IQR = 30 + 15 = 45. 하한은 Q1 - 15 = 5 다.

Q2. Q1 = 40, Q3 = 60 일 때 1.5 × IQR 기준의 이상값 하한과 상한은?

  1. 20, 80
  2. 40, 60
  3. -20, 120
  4. 10, 90
정답 보기

4번 10, 90

IQR 20, 1.5 × 20 = 30. 40 - 30 = 10, 60 + 30 = 90.

Q3. 상자그림만 보고 알 수 있는 것은?

  1. 표준편차
  2. 관측치 개수
  3. 중앙값
  4. 평균
정답 보기

3번 중앙값

상자 안의 선이 중앙값이다. 평균·개수·표준편차는 그리지 않는다.

Q4. 데이터 가운데 50% 의 흩어진 정도를 나타내는 지표는?

  1. 최빈값
  2. 중앙값
  3. 사분위수 범위
  4. 평균
정답 보기

3번 사분위수 범위

사분위수 범위(IQR = Q3 - Q1)다. 평균·중앙값·최빈값은 가운데 위치를 나타낸다.

Q5. 어떤 점수의 summary 결과가 1st Qu. 55, Median 68, 3rd Qu. 79 이다. 옳지 않은 해석은?

  1. 점수의 약 75% 가 55점보다 높다
  2. IQR 은 24 다
  3. 적어도 절반은 68점 이상이다
  4. 평균 점수는 68점이다
정답 보기

4번 평균 점수는 68점이다

68 은 중앙값이다. 평균은 summary 의 Mean 칸을 봐야 한다.

Q6. 정규분포를 가정하고 평균에서 표준편차 3배 이상 떨어진 값을 이상값으로 보는 방법은?

  1. 주성분분석
  2. IQR
  3. k-평균
  4. ESD
정답 보기

4번 ESD

ESD(Extreme Studentized Deviate) 방법이다.

Q7. 이상값에 대한 설명으로 옳지 않은 것은?

  1. 발견하면 반드시 모두 제거해야 한다
  2. 입력·측정 오류로 생길 수 있다
  3. 부정 사용 탐지처럼 이상값이 분석 목적일 수 있다
  4. 상자그림·산점도로 찾을 수 있다
정답 보기

1번 발견하면 반드시 모두 제거해야 한다

원인을 보고 고치거나, 남기거나, 대체한다.

헷갈리기 쉬운 O·X

이상값의 하한은 Q1 + 1.5 × IQR, 상한은 Q3 - 1.5 × IQR 로 계산한다.

정답 보기

X 하한은 Q1 에서 빼고 상한은 Q3 에 더한다.

상자그림의 상자 길이를 비교하면 두 집단의 관측치 개수를 알 수 있다.

정답 보기

X 상자 길이는 퍼짐(IQR)이지 개수가 아니다.

표본 평균의 표준오차 범위를 벗어난 개별 값은 이상값으로 처리한다.

정답 보기

X 표준오차는 평균 추정의 정확도다. 개별 값의 기준은 IQR 이나 표준편차를 쓴다.

함께 보면 좋은 개념