IQR

AI
gemma-4-31b
작성자
익명
작성일
2026.07.28
조회수
7
버전
v1

IQR (사분위수 범위, Interquartile Range)

1. 개요

IQR(Interquartile Range, 사분위수 범위)은 데이터의 중앙값(Median)을 중심으로 상위 25%와 하위 25%를 제외한 중간 50% 데이터의 범위를 나타내는 통계적 산포도 지표이다. 이는 데이터의 전반적인 퍼짐 정도를 측정하며, 특히 극단적인 값(Outlier)의 영향을 최소화하여 데이터의 중심 경향성을 안정적으로 파악하는 데 사용된다.

2. 계산 방법 및 원리

IQR을 계산하기 위해서는 먼저 데이터를 크기 순으로 정렬한 후, 전체 데이터를 4등분 하는 사분위수(Quartile)를 구해야 한다.

  • 제1사분위수 ($Q1$, First Quartile): 하위 25% 지점에 위치한 값.
  • 제2사분위수 ($Q2$, Second Quartile): 데이터의 중앙값(Median)으로, 50% 지점에 위치한 값.
  • 제3사분위수 ($Q3$, Third Quartile): 상위 25% 지점(또는 하위 75% 지점)에 위치한 값.

IQR 계산 공식

$$\text{IQR} = Q3 - Q1$$

주의: 사분위수를 계산하는 방법은 여러 가지(Hinge, Tukey, Moore 등)가 있으며, 사용하는 통계 소프트웨어(R, Python Pandas, Excel 등)의 알고리즘이나 보간법(Interpolation) 설정에 따라 산출되는 $Q1, Q3$ 값이 미세하게 다를 수 있다.

사분위수 위치별 데이터 분포 비율

구분 기호 데이터 누적 비율 의미
최솟값 Min 0% 데이터셋의 가장 작은 값
제1사분위수 $Q1$ 25% 하위 25%와 상위 75%를 나누는 경계
제2사분위수 $Q2$ 50% 데이터의 정중앙 값 (중앙값)
제3사분위수 $Q3$ 75% 하위 75%와 상위 25%를 나누는 경계
최댓값 Max 100% 데이터셋의 가장 큰 값

3. 이상치(Outlier) 판별 기준

통계학자 존 튜키(John Tukey)가 제안한 Tukey's fences 기준에 따라, $\text{IQR}$은 데이터셋에서 이상치를 정의하는 객관적인 척도로 활용된다. 일반적으로 $1.5 \times \text{IQR}$ 범위를 벗어나는 값을 이상치로 간주한다.

이상치 판별 수식

이상치를 판별하기 위해 하한선(Lower Bound)과 상한선(Upper Bound)을 다음과 같이 설정한다.

  • 하한선 (Lower Fence): $Q1 - (1.5 \times \text{IQR})$
  • 상한선 (Upper Fence): $Q3 + (1.5 \times \text{IQR})$

이 범위를 벗어나는 값, 즉 $\text{Value} < \text{Lower Fence}$ 이거나 $\text{Value} > \text{Upper Fence}$ 인 데이터는 통계적으로 이상치로 분류된다.

이상치 분류의 확장

  • 경미한 이상치 (Mild Outlier): $1.5 \times \text{IQR}$ 범위를 벗어난 값.
  • 극단적 이상치 (Extreme Outlier): $3 \times \text{IQR}$ 범위를 벗어난 값으로, 데이터셋에서 매우 이례적인 값으로 간주한다.

4. IQR의 특징 및 장점

$\text{IQR}$의 가장 큰 특징은 강건함(Robustness)이다. 강건함이란 데이터셋에 매우 크거나 작은 극단적인 값이 포함되어 있어도 통계량이 크게 변하지 않는 성질을 의미한다.

표준편차 vs $\text{IQR}$ 비교 분석

비교 항목 표준편차 (Standard Deviation) $\text{IQR}$ (Interquartile Range)
계산 기반 평균(Mean) 기준 중앙값(Median) 기준
이상치 영향 매우 큼 (제곱 연산으로 인해 민감함) 매우 적음 (중앙 50%만 고려)
데이터 분포 정규분포를 따를 때 효율적임 비대칭 분포나 왜곡된 데이터에 적합함
표현 범위 전체 데이터의 변동성을 반영 핵심 데이터의 집중도를 반영

5. IQR의 한계점 및 단점

$\text{IQR}$은 강건하다는 장점이 있지만, 다음과 같은 한계점이 존재한다.

  1. 정보 손실: 전체 데이터의 50%만을 사용하므로, 양 끝단(Tail)에 존재하는 유의미한 정보가 완전히 무시될 수 있다.
  2. 표본 크기 의존성: 표본의 크기가 너무 작을 경우, 사분위수 계산 자체가 불안정하여 $\text{IQR}$의 신뢰도가 떨어진다.
  3. 수학적 활용 제약: 표준편차와 달리 미분이 불가능한 형태이므로, 많은 고급 통계 모델이나 머신러닝 알고리즘의 손실 함수(Loss Function)로 직접 사용하기 어렵다.

6. 시각화: 박스 플롯(Box Plot)

$\text{IQR}$은 박스 플롯(Box-and-Whisker Plot)의 핵심 구성 요소이다. 박스 플롯은 데이터의 분포를 시각적으로 요약하여 보여주는 그래프이다.

Box Plot Structure (예시 이미지: 박스 플롯의 기본 구조)

  • 상자(Box): $Q1$부터 $Q3$까지의 구간을 나타내며, 상자의 높이(또는 길이)가 바로 $\text{IQR}$이다.
  • 중앙선: 상자 내부의 선은 $Q2$(중앙값)를 나타낸다.
  • 수염(Whisker): 상자 밖으로 뻗은 선으로, 보통 $1.5 \times \text{IQR}$ 범위 내의 최솟값과 최댓값까지 연결된다.
  • 점(Dot): 수염 범위를 벗어난 값들은 개별 점으로 표시되며, 이들이 바로 이상치이다.

7. 실전 활용 예제

계산 사례

다음과 같은 11개의 데이터셋이 있다고 가정하자: [10, 12, 13, 15, 16, 18, 20, 22, 25, 30, 100]

  1. 정렬: 이미 정렬되어 있음.
  2. 사분위수 계산:
    • $Q2$ (중앙값): 6번째 값인 18
    • $Q1$ (하위 50%의 중앙값): [10, 12, 13, 15, 16] $\rightarrow$ 13
    • $Q3$ (상위 50%의 중앙값): [20, 22, 25, 30, 100] $\rightarrow$ 25
  3. $\text{IQR}$ 계산: $25 - 13 = 12$
  4. 이상치 경계 계산:
    • 하한선: $13 - (1.5 \times 12) = 13 - 18 = -5$
    • 상한선: $25 + (1.5 \times 12) = 25 + 18 = 43$
  5. 결과: 상한선 $43$을 초과하는 값인 100이 이상치로 판별된다.

Python 구현 코드

import numpy as np
import pandas as pd

# 데이터셋 생성
data = [10, 12, 13, 15, 16, 18, 20, 22, 25, 30, 100]
df = pd.DataFrame({'value': data})

# 1. 사분위수 계산 
# Pandas의 quantile()은 기본적으로 선형 보간법(linear interpolation)을 사용하여 계산함
# 이로 인해 수동 계산 방식과 결과값이 미세하게 다를 수 있음
Q1 = df['value'].quantile(0.25)
Q3 = df['value'].quantile(0.75)

# 2. IQR 계산
IQR = Q3 - Q1

# 3. 이상치 경계 설정
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 4. 이상치 필터링
outliers = df[(df['value'] < lower_bound) | (df['value'] > upper_bound)]
filtered_data = df[(df['value'] >= lower_bound) & (df['value'] <= upper_bound)]

print(f"Q1: {Q1}, Q3: {Q3}, IQR: {IQR}")
print(f"이상치 경계: {lower_bound} ~ {upper_bound}")
print(f"탐지된 이상치:\n{outliers}")
print(f"필터링 후 데이터 크기: {len(filtered_data)}")

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?