데이터 분석 핵심: 사분위수 완벽 가이드 (Python 코드 & 상자 그림)

데이터 분포, 어떻게 파악하고 계신가요? 사분위수 분석으로 데이터의 중심 경향과 이상치를 한눈에! pandas 라이브러리 활용법과 IQR 기반 이상치 식별법까지, 지금 바로 블로그에서 확인하세요.
데이터 신's avatar
Mar 09, 2025
데이터 분석 핵심: 사분위수 완벽 가이드 (Python 코드 & 상자 그림)

데이터 분석, 사분위수로 통찰력을 높이다: 개념부터 파이썬 활용까지 📊

데이터 분석에서 사분위수는 데이터 세트를 4등분하여 데이터 분포를 심층적으로 이해하는 데 필수적인 통계적 측정값입니다. 이는 데이터의 중심 경향, 확산, 왜도를 파악하는 데 효과적인 도구로, 특히 극단값에 민감한 평균의 단점을 보완해줍니다.

사분위수의 중요성: 왜곡된 데이터 분석에 특히 유용 🤔

사분위수는 데이터 세트를 동일한 네 부분으로 나누어 데이터의 분포를 파악합니다. 평균값은 이상치에 민감하게 반응하지만, 사분위수는 극단값의 영향을 덜 받기 때문에 데이터가 왜곡되었거나 치우쳐진 경우 더욱 신뢰할 수 있는 분석 결과를 제공합니다.

사분위수, 어떻게 계산할까요? 🔢

사분위수는 Q1(25%), Q2(50%, 중앙값), Q3(75%)로 구성됩니다. 각 사분위수를 계산하는 방법은 다음과 같습니다.
  1. 데이터 정렬: 데이터를 오름차순으로 정렬합니다.
  1. Q2 (중앙값) 계산:
      • 데이터 개수가 홀수일 경우: (n+1)/2 번째 값이 중앙값입니다.
      • 데이터 개수가 짝수일 경우: n/2 번째 값과 (n/2)+1 번째 값의 평균이 중앙값입니다.
  1. Q1 계산: 중앙값을 기준으로 하위 절반의 중앙값을 찾습니다.
  1. Q3 계산: 중앙값을 기준으로 상위 절반의 중앙값을 찾습니다.

파이썬으로 사분위수 계산하기 🐍

pythonimport numpy as np def calculate_quartiles(data): """ 사분위수를 계산하는 함수입니다. Args: data: 숫자 데이터 리스트 Returns: Q1, Q2, Q3 값을 담은 튜플 """ data = np.sort(data) Q1 = np.percentile(data, 25) Q2 = np.percentile(data, 50) # 중앙값 Q3 = np.percentile(data, 75) return Q1, Q2, Q3 # 예시 데이터 data = [1, 2, 2, 2, 2, 3, 4] # 사분위수 계산 Q1, Q2, Q3 = calculate_quartiles(data) print(f"Q1: {Q1}") # Q1: 2.0 print(f"Q2 (Median): {Q2}") # Q2 (Median): 2.0 print(f"Q3: {Q3}") # Q3: 3.0
이 코드는 Numpy 라이브러리를 사용하여 데이터의 사분위수를 계산하는 간단한 파이썬 함수를 보여줍니다.
 
import pandas as pd # 예시 데이터 생성 data = pd.Series([1, 2, 2, 2, 2, 3, 4]) # 사분위수 계산 Q1 = data.quantile(0.25) Q2 = data.quantile(0.5) Q3 = data.quantile(0.75) print(f"Q1: {Q1}") # Q1: 2.0 print(f"Q2 (Median): {Q2}") # Q2 (Median): 2.0 print(f"Q3: {Q3}") # Q3: 3.0
이 코드는 Pandas 라이브러리의 quantile 메서드를 사용하여 데이터의 사분위수를 계산하는 간단한 파이썬 함수를 보여줍니다.

상자 수염 그림 (Box Plot): 데이터 시각화의 핵심 📊

상자 수염 그림은 사분위수를 시각적으로 표현하여 데이터의 분포, 중심 경향, 이상치를 효과적으로 보여줍니다.
  • 상자: Q1과 Q3 사이의 범위, 즉 IQR(Interquartile Range)을 나타냅니다.
  • 수염: 데이터의 일반적인 범위를 나타내며, 일반적으로 IQR의 1.5배까지 연장됩니다.
  • 이상치: 수염 밖에 있는 개별 점으로, 극단적인 값을 나타냅니다.
💡
IQR의 1.5배를 이상치 기준으로 사용하는 이유
데이터가 정규 분포에 가깝다고 가정할 때, 데이터의 약 99.3%가 평균으로부터 표준편차의 ±2.7배 범위 내에 존재한다는 경험적 규칙(68-95-99.7 규칙)에서 파생되었습니다. 이 범위를 벗어나는 값은 상대적으로 드물며, 잠재적인 이상치로 간주될 수 있습니다.
 
하지만 1.5 IQR 규칙이 모든 데이터 세트에 적합한 것은 아닙니다. 데이터의 분포가 정규 분포에서 크게 벗어나거나, 특정 분야의 지식에 따라 다른 기준을 사용하는 것이 더 적절할 수도 있습니다. 예를 들어, 극단값이 흔하게 나타나는 데이터 세트에서는 더 큰 배수(예: 3 IQR)를 사용하여 이상치 기준을 완화할 수 있습니다.

사분위수의 한계와 보완 전략 😥

사분위수는 강력한 분석 도구이지만, 데이터의 완전한 그림을 제공하지 못할 수 있습니다. 특히, 데이터 분포의 형태에 대한 정보가 부족하고, 왜곡된 데이터에서는 오해를 일으킬 수 있습니다. 따라서, 다음과 같은 보완 전략을 고려해야 합니다.
  • 히스토그램: 데이터의 분포 형태를 시각적으로 확인합니다.
  • 평균 및 표준 편차: 데이터의 중심 경향과 흩어진 정도를 파악합니다.
  • 다른 통계적 방법: t-test, ANOVA 등을 사용하여 그룹 간 차이를 분석합니다.

결론: 데이터 분석, 균형 잡힌 시각이 중요합니다! 💡

사분위수는 데이터 분석의 핵심 도구이지만, 만능 해결책은 아닙니다. 다른 통계 방법과 함께 사용하여 데이터에 대한 깊이 있는 통찰력을 얻고, 분석 결과에 대한 맹신을 경계해야 합니다. 데이터 분석 전문가로서, 균형 잡힌 시각을 가지고 다양한 분석 기법을 활용하여 데이터에서 의미 있는 결론을 도출하세요!
 

[참고자료]
Share article

데이터 신 | 데이터 분석가 성장 기록