IQR(Interquartile Range, 사분위 범위)

IQR(Interquartile Range, 사분위 범위)는 데이터에서 이상치를 탐지하고 변동성을 측정하는 데 사용되는 통계적 지표입니다.

📌 IQR의 정의

IQR은 데이터의 1사분위수(Q1)와 3사분위수(Q3)의 차이를 의미합니다.

  • Q1 (1st Quartile, 25%): 데이터의 하위 25% 지점
  • Q3 (3rd Quartile, 75%): 데이터의 상위 25% 지점
  • IQR 계산식: IQR=Q3−Q1IQR = Q3 – Q1IQR=Q3−Q1

📌 IQR의 활용

  1. 이상치(Outlier) 탐지
    • 이상치는 일반적으로 다음 범위를 벗어난 값으로 정의됩니다. Lower Bound=Q1−1.5×IQR\text{Lower Bound} = Q1 – 1.5 \times IQRLower Bound=Q1−1.5×IQR Upper Bound=Q3+1.5×IQR\text{Upper Bound} = Q3 + 1.5 \times IQRUpper Bound=Q3+1.5×IQR
    • 이 범위를 벗어난 값들은 이상치로 간주될 수 있습니다.
  2. 데이터 변동성 분석
    • IQR이 크면 데이터가 넓게 분포되어 있으며, 작으면 데이터가 좁게 분포되어 있다고 해석할 수 있습니다.
  3. 데이터 정제 및 전처리
    • 이상치를 제거하거나 적절한 값으로 대체할 때 유용합니다.

📌 IQR을 활용한 예시 (Python)

python복사편집import numpy as np

# 예제 데이터
data = [10, 12, 14, 15, 18, 21, 24, 30, 35, 40]

# Q1, Q3 계산
Q1 = np.percentile(data, 25)
Q3 = np.percentile(data, 75)

# IQR 계산
IQR = Q3 - Q1

# 이상치 범위 계산
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

print(f"Q1: {Q1}, Q3: {Q3}, IQR: {IQR}")
print(f"이상치 기준: {lower_bound} ~ {upper_bound}")

👉 IQR을 사용하면 데이터에서 이상치를 효율적으로 제거할 수 있습니다!

Leave a Comment