본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

AI & Data

데이터의 위치 추정: 평균·절사평균·가중평균·중앙값

작성 2026. 10. 14.추가
목차8개 항목
출처와 참고

팔만코딩경(42Seoul 커뮤니티 위키)의 「데이터의 위치 추정 ① : 평균」을 바탕으로 재구성한 노트다.

위치 추정이란

집값, 버스 요금, 시험 점수처럼 수치 데이터는 그대로 나열하면 너무 많아 읽을 수 없다. 그래서 데이터 전체를 값 하나로 대표하는데, 이를 대푯값 또는 위치 추정(estimates of location)이라 한다. 데이터가 어디쯤 몰려 있는지, 즉 중심 경향성(central tendency) 을 나타내는 값이다. 탐색적 데이터 분석(EDA)에서 가장 먼저 구하는 값이기도 하다.

추정값계산이상치에 대한 강건성쓰는 때
산술평균합 ÷ 개수약하다분포가 대칭이고 이상치가 없을 때
절사평균양 끝 일부를 버린 뒤 평균강하다이상치가 있지만 대부분의 값은 믿을 만할 때
가중평균가중치를 곱한 합 ÷ 가중치 합가중치 설계에 따라 다르다데이터마다 중요도·표본 크기가 다를 때
중앙값정렬했을 때 가운데 값매우 강하다소득·집값처럼 한쪽으로 긴 꼬리가 있을 때

산술평균

x̄ = (x₁ + x₂ + … + xₙ) / n

가장 단순하고 계산이 쉬운 위치 추정이다. 전통 통계학은 모집단 크기를 N, 표본 크기를 n으로 구분하지만, 데이터 분석 실무에서는 둘을 엄격히 나누지 않고 쓰는 경우가 많다.

평균의 함정: 이상치

평균은 모든 값을 똑같이 반영하기 때문에, 유난히 크거나 작은 값 하나가 전체를 끌고 간다. 이런 값을 이상치(outlier)라 한다.

  • 국회의원 재산 평균이 수십억 원대였는데, 재산이 조 단위인 의원 한 명이 포함되자 평균이 100억 원을 넘었다. 다른 의원들의 재산은 그대로인데도 그렇다.
  • 평균 수명은 영유아 사망과 사고사까지 포함한다. 노화로 인한 사망 시점을 알고 싶다면 평균 대신 사망 원인별 분석이나 최빈 사망 연령을 함께 본다.

그래서 평균을 구하기 전에는 항상 이상치가 있는지부터 확인한다. 탐지에는 정규분포를 가정한 z-점수, 사분위 범위(IQR) 규칙, Isolation Forest, DBSCAN 같은 방법을 쓴다.

절사평균

데이터를 정렬하면 이상치는 양 끝에 몰린다. 양쪽에서 같은 수(p개)를 잘라 내고 남은 값으로 평균을 내면 이상치의 영향이 대부분 사라진다. 이것이 절사평균(trimmed mean)이다.

정렬된 x₁ ≤ x₂ ≤ … ≤ xₙ 에서
Tmean = (x_{p+1} + … + x_{n−p}) / (n − 2p)

절사평균을 쓴다는 것은 표본 일부를 잃는 대신 남은 값이 중심을 더 잘 대표한다고 믿는다는 뜻이다. 올림픽 다이빙 개인 종목이 대표적이다. 심판 7명의 점수 중 가장 높은 2개와 가장 낮은 2개를 버리고, 남은 3개의 합에 난이도 계수를 곱한다. 한두 심판의 치우친 판정이 결과를 좌우하지 못하게 하는 장치다. 다만 잘라 내는 비율이 너무 크면 남은 표본이 대표성을 잃으므로, 보통 양쪽 5~25% 정도를 자른다.

가중평균

데이터를 버릴 수 없지만 값마다 중요도가 다를 때는 가중평균(weighted mean)을 쓴다.

Wmean = (w₁x₁ + w₂x₂ + … + wₙxₙ) / (w₁ + w₂ + … + wₙ)

가중치 벡터와 데이터 벡터의 내적을 가중치의 합으로 나눈 값이다. 산술평균은 모든 가중치가 1인 특수한 경우라서 분모가 n이 된다.

쓰임예
변동이 크거나 근거가 약한 값의 영향 줄이기소비자물가지수는 품목마다 지출 비중을 가중치로 준다
크기가 다른 그룹을 공정하게 비교하기표본이 적게 모인 그룹에 가중치를 더 줘 모집단 비율에 맞춘다
이미 요약된 값 합치기반별 평균을 학생 수로 가중해 학년 평균을 구한다

중앙값

중앙값(median)은 데이터를 정렬했을 때 정가운데 값이다. 개수가 짝수면 가운데 두 값의 평균을 쓴다. 값의 크기가 아니라 순서만 보므로, 최댓값이 아무리 커져도 중앙값은 변하지 않는다. 소득·집값처럼 오른쪽 꼬리가 긴 분포에서 "보통 사람"을 보여 줄 때는 평균보다 중앙값이 낫다. 평균과 중앙값의 차이가 크다는 것 자체가 분포가 치우쳤다는 신호다.

파이썬으로 계산하기

import numpy as np
from scipy import stats
 
x = np.array([3, 4, 4, 5, 5, 5, 6, 6, 7, 120])   # 120은 이상치
w = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 0.1])
 
np.mean(x)                  # 16.5  ← 이상치에 끌려감
stats.trim_mean(x, 0.1)     # 5.25  ← 양쪽 10%씩 제거
np.average(x, weights=w)    # 약 6.26
np.median(x)                # 5.0

pandas에서는 df["col"].mean(), df["col"].median()을 쓰고, df.describe()로 평균·사분위수를 한 번에 본다.

정리

  • 위치 추정은 데이터의 중심을 값 하나로 요약하는 일이다.
  • 산술평균은 이상치에 약하므로, 평균을 구하기 전에 이상치부터 확인한다.
  • 절사평균은 양 끝을 잘라 강건성을 얻고, 가중평균은 값마다 다른 중요도를 반영한다.
  • 꼬리가 긴 분포에서는 중앙값을 함께 보고, 평균과 중앙값의 차이로 치우침을 읽는다.
  • 대푯값 하나만 보고 결론 내리지 말고, 어떤 대푯값을 왜 골랐는지 함께 밝힌다.

관련 노트: 파이썬 데이터 분석 프로세스, 머신 러닝 기초: 네 단계 추상화

원본 기록1

댓글

GitHub 계정으로 댓글을 남길 수 있어요.