Menu

표본분산은 왜 n−1로 나누는가

sample variance · bessel's correction — 시뮬레이션(①)과 항등식 증명(②)
① Bessel's correction · 표본분산

왜 n이 아니라 n−1로 나누는가

먼저 원본 데이터(모집단) 1,000개를 무작위로 만든다 — 이제 우리는 이 1,000개의 진짜 분산을 아는 "신의 시점"이다. 여기서 표본 n개를 계속 뽑아 매번 두 가지로 분산을 계산해 — 하나는 n으로, 하나는 n−1로 나눠 — 그 평균이 진짜 값에 얼마나 가까운지 지켜본다. n으로 나누면 체계적으로 작게 나오는 것이 눈에 보일 것이다.

5
옅은 회색 막대 = 모집단 1,000개의 분포 · 회색 점 = 이번 표본, 파란 선 = 표본평균, 검은 선 = 모집단 평균
진짜 모분산 σ² (모집단 1,000개)
방금 만든 원본 데이터 1,000개의 실제 분산. 목표는 이 값을 맞히는 것.
÷ n 의 누적 평균
아직 표본 없음
÷ (n−1) 의 누적 평균
아직 표본 없음
표본 0개 뽑음
누적 평균이 진짜 σ²(가로 검은 선)로 수렴하는 과정
x축 = 표본을 뽑은 횟수, y축 = 그때까지 뽑은 표본들의 분산 추정값 누적 평균. [표본 뽑기]를 반복할수록 점이 오른쪽으로 쌓이며 — 빨강(÷n)은 아래 빨간 점선(이론 기대값 (n−1)/n·σ²)에, 파랑(÷(n−1))은 검은 σ² 선에 붙는다. y축은 n에 맞춰 자동 확대된다.
÷ n 은 왜 항상 작게 나올까? 표본평균 x̄는 그 데이터들에 가장 가까운 점이다. 데이터가 우연히 한쪽으로 쏠리면 x̄도 그쪽으로 끌려가서, 데이터가 (진짜 평균 μ보다) x̄에 더 가까워 보인다. 그래서 x̄ 기준으로 잰 흩어짐은 진짜보다 항상 조금 작다. 그 과소평가율이 정확히 (n−1)/n이라, n−1로 나누면 되돌려진다. 표본이 작을수록(n=2면 절반까지!) 차이가 크고, n이 커지면 무시할 만해진다. n=1을 넣어볼 수 없는 이유도 같다 — 데이터 하나로는 흩어짐을 알 수 없으니 n−1=0으로 나누는 것은 "모른다"는 정직한 답이 된다.

② Pythagoras of variance

왜 Σ(Xᵢ−X̄)² 의 평균은 정확히 (n−1)σ² 인가

Σ(Xᵢ−μ)²  =  Σ(Xᵢ−X̄)²  +  n(X̄−μ)²

이 항등식은 모든 표본에서 예외 없이 성립한다(왼쪽=오른쪽). 그리고 오른쪽 둘째 항 n(X̄−μ)²은 제곱이라 항상 0 이상이다 — 그래서 우리가 실제로 재는 Σ(Xᵢ−X̄)²은 진짜 벗어남보다 항상 작다. 여기서도 무작위 모집단 1,000개를 만들어(μ와 σ²는 그 실제값) 표본을 뽑아 두 사실을 직접 확인해보자.

5
이번 표본에서: 파랑 + 빨강 = 회색 (항상 정확히 맞음)
세 항의 실제 값을 막대 길이로. 파란 막대와 빨간 막대를 이으면 회색 막대와 정확히 같은 길이다.
표본을 뽑아보세요
여러 번 뽑은 뒤, 각 항의 평균 → 이론값에 수렴
여기가 n−1의 근거다. 빨강(둘째 항)의 평균이 정확히 σ²이 되어, 파랑의 평균이 (n−1)σ²이 된다.
평균 Σ(Xᵢ−μ)²
이론: n·σ² =
평균 Σ(Xᵢ−X̄)²
이론: (n−1)·σ² =
평균 n(X̄−μ)²
이론: σ² =
표본 0개
둘째 항의 평균이 정확히 σ²이라는 게 핵심이다. 항등식을 평균 내면 n·σ² = (평균 Σ(Xᵢ−X̄)²) + σ² 이 되고, 정리하면 평균 Σ(Xᵢ−X̄)² = (n−1)·σ². 그래서 이 값을 (n−1)로 나눠야 σ²이 정확히 나온다. n으로 나누면 σ²보다 (n−1)/n 배 작아진다 — 그게 과소평가의 정체다.