X̄의 표본분포 (Uniform)¶
개요¶
평평한 분포에서 뽑았는데 봉우리가 생긴다. 이 쪽에서 볼 것은 그 한 장면이다.
\([0, 1]\) 위의 균등분포에서는 어느 값이나 똑같이 나온다. 0.03도 0.51도 0.97도 나올 확률이 같으므로 히스토그램을 그리면 평평한 직사각형이다. 그런데 여기서 다섯 개를 뽑아 평균을 내는 일을 되풀이하면, 그 평균들은 평평하게 흩어지지 않는다. 0.5 근처에 몰리고 양 끝으로 갈수록 드물어지는 종 모양이 된다.
더 눈여겨볼 것은 그 일이 얼마나 빨리 일어나는가다. 균등분포는 좌우 대칭이라 치우침이 없고, 그래서 중심극한정리가 거의 곧바로 듣는다. \(n = 2\)에서 이미 삼각형이 되고 \(n = 5\)면 눈으로는 정규와 구별하기 어렵다. 이것이 당연한 일이 아니라는 사실은 다음 쪽 지수분포와 견주어 보면 알게 된다.
모집단 모형¶
모집단이 구간 \([0, 1]\) 위의 연속 균등분포를 따른다고 하자.
이때 모평균과 모분산은 각각 다음과 같다. 유도는 연습문제 1에서 적분으로 직접 해 본다.
평평한 모집단에서 종 모양이 나온다¶
이 모집단에서 독립으로 뽑은 확률표본 \(X_1, X_2, \ldots, X_n\)의 산술평균이 표본평균이다.
독립 확률변수의 기댓값과 분산의 성질을 그대로 쓰면 이 분포의 중심과 폭이 곧바로 나온다.
두 값에는 근사가 없다. \(n\)이 2든 200이든 정확히 성립하며 중심극한정리를 부를 필요조차 없다. 근사가 들어오는 자리는 모양뿐이고, 거기서 중심극한정리가 \(n\)이 크면 다음을 보장한다.
여기서 "\(n\)이 크면"이라는 단서가 균등분포에서는 아주 너그럽게 읽힌다. 까닭은 연습문제 10에서 적률로 따지지만 직관은 단순하다. 표본평균의 분포를 정규에서 벗어나게 만드는 가장 큰 원인이 모집단의 치우침인데, 균등분포는 대칭이라 치우침이 아예 0이다. 고칠 것이 별로 없으니 금방 도착한다.
모의실험¶
세 가지를 한 화면에 놓고 보면 사정이 분명해진다. 맨 위는 모집단, 가운데는 거기서 뽑은 표본 하나, 맨 아래는 그런 표본을 1만 번 뽑아 얻은 표본평균들의 분포다. 세 패널의 가로 눈금을 같게 묶어 두었으므로 퍼짐을 눈으로 직접 견줄 수 있다.
보기 1. 균등 모집단에서 표본평균의 표집분포. \(\text{Uniform}(0,1)\)에서 뽑아 만든 모집단 1만 개에서 \(n = 5\)씩 비복원으로 뽑아 표본평균을 계산하는 일을 1만 번 되풀이한다.
(1) \(\bar X\)의 평균, 표준편차, 왜도, 초과첨도를 이론으로 적으시오.
(2) 모의실험으로 (1)을 확인하고, 맨 아래 칸이 "종 모양에 가깝다"는 것이 얼마나 가까운 것인지 수로 말하시오.
풀이
(1) 이론값. \(\text{Uniform}(0,1)\)은 \(\mu = 1/2\), \(\sigma^2 = 1/12\)이므로 중심과 폭은 모집단의 모양을 보지 않고 곧바로 나온다.
모양은 적률로 잰다. 독립인 합에서 3차·4차 중심적률이 더해지므로 \(\bar X\)의 왜도는 \(\gamma_1/\sqrt{n}\), 초과첨도는 \((\beta_2 - 3)/n\)이다. 균등분포는 \(\gamma_1 = 0\), \(\beta_2 = 1.8\)이므로
왜도는 처음부터 맞아 있고 틀린 것은 꼬리의 두께뿐이다. 음수라는 것은 정규보다 꼬리가 짧다는 뜻이며, 당연하다. \(\bar X\)는 \([0,1]\) 밖으로 나갈 수 없는데 정규분포는 나갈 수 있다.
더 나아가 \(n = 5\)에서는 정확한 분포도 안다. \(\sum_{i=1}^5 X_i\)가 어윈-홀 분포를 따르므로 그 누적분포함수는 조각별 5차 다항식이다.
따라서 "정규근사가 얼마나 어긋나는가"를 어림하지 않고 정확히 잴 수 있다. 아래에서 그렇게 한다.
(2) 모의실험.
import matplotlib.pyplot as plt
import numpy as np
from math import comb, factorial
from scipy import stats
np.random.seed(1)
sample_size = 5
n_samples = 10_000
n_population = 10_000
# Uniform(0,1)에서 큰 모집단을 만든다.
population = np.random.uniform(size=(n_population,))
# 표본을 딱 하나 뽑는다. 현실에서 우리가 실제로 갖게 되는 것이 이것뿐이다.
# 아래 가운데 패널에 점 몇 개로 그려진다.
single_sample = np.random.choice(population, size=sample_size, replace=False)
# 표본을 되풀이해 뽑으며 표본평균을 기록한다. 이 값들의 분포가 표집분포다.
sample_means = [
np.mean(np.random.choice(population, size=sample_size, replace=False))
for _ in range(n_samples)
]
sample_means = np.asarray(sample_means)
# 중심과 폭: 이론값과 모의값을 나란히 둔다.
mu_pop, sd_pop = population.mean(), population.std()
se = sd_pop / np.sqrt(sample_size)
print(f"Uniform(0,1) 이론 평균 = 0.5000, sigma/sqrt(n) = {1 / np.sqrt(12 * sample_size):.4f}")
print(f"실현 모집단 1만 개 평균 = {mu_pop:.4f}, s/sqrt(n) = {se:.4f}")
print(f"모의 1만 회 평균 = {sample_means.mean():.4f}, 표준편차 = {sample_means.std(ddof=1):.4f}")
# 모양: 균등의 X-bar 는 왜도 0, 초과첨도 (1.8-3)/n = -0.24 여야 한다.
print(f"모의 왜도 = {stats.skew(sample_means):+.4f} (이론 {0.0:+.4f}, 표준오차 {np.sqrt(6 / n_samples):.4f})")
print(f"모의 초과첨도 = {stats.kurtosis(sample_means):+.4f} (이론 {(1.8 - 3) / sample_size:+.4f}, 표준오차 {np.sqrt(24 / n_samples):.4f})")
# 정규근사가 얼마나 어긋나는가. n=5 에서 X-bar 의 정확한 분포는
# 어윈-홀 분포를 5 로 나눈 것이므로 누적분포를 닫힌 꼴로 적을 수 있다.
def cdf_irwin_hall(x, n):
"""Irwin-Hall(n) 의 누적분포함수. X_1+...+X_n, X_i ~ Uniform(0,1)."""
x = np.asarray(x, dtype=float)
total = np.zeros_like(x)
for k in range(n + 1):
total += (-1) ** k * comb(n, k) * np.clip(x - k, 0, None) ** n
return np.clip(total / factorial(n), 0, 1)
grid = np.linspace(0, 1, 200_001)
gap = np.abs(cdf_irwin_hall(sample_size * grid, sample_size)
- stats.norm.cdf(grid, loc=0.5, scale=1 / np.sqrt(12 * sample_size)))
print(f"정확분포 대 정규근사 최대 누적분포 차 = {gap.max():.5f} (x = {grid[gap.argmax()]:.4f})")
p_exact = 1 - cdf_irwin_hall(sample_size * 0.7, sample_size)
p_normal = 1 - stats.norm.cdf(0.7, loc=0.5, scale=1 / np.sqrt(12 * sample_size))
print(f"P(X-bar > 0.7) 정확 = {p_exact:.6f}, 정규근사 = {p_normal:.6f}, 모의 = {(sample_means > 0.7).mean():.6f}")
# 모집단과 표집분포를 나란히 그린다.
# 세 패널을 sharex=True 로 묶는 것이 이 그림의 핵심 장치다.
# 가로 눈금이 같아야 세 분포의 **퍼짐**을 직접 견줄 수 있다.
# 위 모집단 : 가장 넓다
# 가운데 표본 하나 : 모집단에서 뽑은 점 몇 개
# 아래 표집분포 : 눈에 띄게 좁다. 이 좁아짐이 sigma/sqrt(n) 이다.
fig, (ax0, ax1, ax2) = plt.subplots(3, 1, figsize=(12, 8), sharex=True)
ax0.hist(population, bins=np.linspace(0, 1, 100))
ax0.set_title("Population Distribution")
ax1.scatter(single_sample, np.zeros_like(single_sample), s=100)
ax1.set_title(f"Sample Distribution (n = {sample_size})")
ax2.hist(sample_means, bins=np.linspace(0, 1, 100))
ax2.set_title("Sampling Distribution of X-bar")
plt.tight_layout()
plt.show()
출력:
Uniform(0,1) 이론 평균 = 0.5000, sigma/sqrt(n) = 0.1291
실현 모집단 1만 개 평균 = 0.4980, s/sqrt(n) = 0.1287
모의 1만 회 평균 = 0.4993, 표준편차 = 0.1268
모의 왜도 = +0.0071 (이론 +0.0000, 표준오차 0.0245)
모의 초과첨도 = -0.2495 (이론 -0.2400, 표준오차 0.0490)
정확분포 대 정규근사 최대 누적분포 차 = 0.00571 (x = 0.4019)
P(X-bar > 0.7) 정확 = 0.061979, 정규근사 = 0.060668, 모의 = 0.056600

중심과 폭. 비복원으로 뽑으므로 \(\bar X\)가 실제로 겨냥하는 것은 \(\text{Uniform}(0,1)\)이 아니라 실현된 1만 개의 평균 \(0.4980\)이다. 모의 평균 \(0.4993\)이 거기서 몬테카를로 오차 \(0.1287/\sqrt{10000} = 0.0013\)의 \(1\)배만큼 떨어져 있어 잘 맞는다. 모의 표준편차 \(0.1268\)은 겨냥값 \(0.1287\)보다 \(1.4\%\) 작고, 표준편차의 몬테카를로 오차 \(0.1287/\sqrt{2 \times 10^4} = 0.0009\)의 두 배쯤이다.
모양이 이 쪽의 본론이다. 왜도 \(+0.0071\)은 표준오차 \(0.0245\)의 \(0.3\)배로 \(0\)과 구별되지 않는다. 예측대로 맞아 있다. 초과첨도 \(-0.2495\)는 이론값 \(-0.24\)에서 표준오차 \(0.0490\)의 \(0.2\)배만큼 떨어져 있어 역시 맞는다. \(-0.24\)는 \(0\)이 아니다. 아래 칸은 종 모양으로 보이지만 정규분포가 아니고, 꼬리가 조금 짧은 종이다.
"얼마나 가까운가"에 대한 정직한 답은 마지막 두 줄이다. 어윈-홀로 계산한 정확한 누적분포와 정규근사의 차는 어디서나 \(0.0057\)을 넘지 않는다. 확률을 소수 둘째 자리까지만 쓸 생각이라면 \(n = 5\)에서 이미 정규로 바꿔 써도 된다는 뜻이다. 다만 꼬리에서는 상대오차가 커진다. \(P(\bar X > 0.7)\)은 정확히 \(0.061979\)인데 정규근사는 \(0.060668\)을 주어 \(2.1\%\) 낮다. 꼬리가 짧은 분포이니 정규가 꼬리를 과대평가할 것 같지만 이 지점에서는 반대다. 까닭은 에지워스 전개의 첨도 항이 설명한다. 대칭분포에서
인데 \(z^3 - 3z\)의 부호가 \(z = \sqrt{3} = 1.732\)에서 바뀐다. \(x = 0.7\)은 \(z = 1.5492\)여서 아직 \(\sqrt{3}\) 안쪽이고 \(z^3 - 3z = -0.9295\)가 음수이므로, \(\gamma_2 = -0.24\)와 곱해져 보정이 양이 된다. 실제로 \(0.060668 + 0.001117 = 0.061785\)로 정확값 \(0.061979\)에 소수 셋째 자리까지 맞아, 남은 어긋남 \(0.0002\)는 정규근사의 \(0.0013\)에서 \(6\)분의 \(1\)로 줄었다. \(x = 0.75\)(\(z = 1.9365\))로 더 나가면 부호가 뒤집혀 정규근사가 \(0.026404\)로 정확값 \(0.025391\)을 넘어선다. 짧은 꼬리라는 성질이 꼬리 확률에 어떻게 나타나는지는 어디를 보는가에 달려 있다.
모의값 \(0.0566\)은 정확값보다 더 낮다. 두 가지가 겹쳐 있다. 첫째, 실현 모집단의 평균이 \(0.4980\)으로 \(0.5\)보다 작아 겨냥값 자체가 \(0.0595\)로 내려가 있다(같은 모집단에서 100만 번 다시 뽑아 확인했다). 둘째, 남은 차이 \(0.0029\)는 비율의 몬테카를로 오차 \(\sqrt{0.06 \times 0.94 / 10^4} = 0.0024\)의 \(1.2\)배다. 세 수가 어긋나는 순서가 정확 → 겨냥 → 모의이고, 각 단계의 까닭이 다르다.
해석¶
맨 위의 모집단 분포는 \([0, 1]\)에서 평평하다. 균등분포이니 당연하다. 가운데의 표본 하나는 흩어진 점 다섯 개일 뿐이고, 그것만 보아서는 모집단이 평평한지 종 모양인지 알 길이 없다. 현실에서 우리 손에 들어오는 것이 이 점 몇 개뿐이라는 사실을 기억해 둘 만하다.
맨 아래가 이 쪽의 요점이다. 모집단이 종 모양이 아닌데도 표본평균의 분포는 \(\mu = 0.5\)를 중심으로 한 종 모양이다. 중심극한정리가 작동하는 모습이며, \(n = 5\)라는 아주 작은 표본에서 이미 그렇다.
퍼짐도 눈에 띄게 다르다. 표본분포의 폭은 모집단의 \(1/\sqrt{n}\) 배로 줄어들며, \(n = 5\)에서 그 값은 다음과 같다.
\(n\)이 커질수록 이 표준오차가 줄어들고 표본분포는 \(\mu\) 주위로 더 촘촘하게 모인다. 연습문제 4에서 같은 모의실험을 \(n = 50\)으로 다시 돌려 폭이 0.0408까지 좁아지는 것을 확인한다.
연습문제¶
연습문제 1. \(X \sim \text{Uniform}(0, 1)\)에 대해 적분을 사용하여 정의로부터 \(E[X]\)와 \(\text{Var}(X)\)를 유도하라.
풀이
\(X \sim \text{Uniform}(0, 1)\)의 pdf는 \(x \in [0, 1]\)에서 \(f(x) = 1\)이다.
\(\square\)
연습문제 2. 관측값이 독립이라는 가정 아래, 평균이 \(\mu\)이고 분산이 \(\sigma^2\)인 임의의 모집단에 대해 \(E[\bar{X}] = \mu\)이고 \(\text{Var}(\bar{X}) = \sigma^2 / n\)임을 증명하라.
풀이
\(X_1, \ldots, X_n\)을 \(E[X_i] = \mu\), \(\text{Var}(X_i) = \sigma^2\)인 i.i.d. 확률변수라 하자.
독립성에 의해:
\(\square\)
연습문제 3. 표본크기를 \(n = 5\)에서 \(n = 20\)으로 늘리면 \(\bar{X}\)의 표준오차는 몇 배로 줄어드는가? \(n = 5\)일 때에 비해 표준오차를 절반으로 줄이려면 표본크기가 얼마여야 하는가?
풀이
표준오차는 \(\text{SE} = \sigma / \sqrt{n}\)이다.
표준오차의 비는:
따라서 \(n = 5\)에서 \(n = 20\)으로 갈 때 표준오차가 2배로 줄어든다.
\(n = 5\) 대비 표준오차를 절반으로 줄이려면:
\(\square\)
연습문제 4. 모의실험을 \(n = 5\) 대신 \(n = 50\)으로 수정하라. 이론적 표준오차를 계산하고 모의실험으로 얻은 10,000개 평균의 표본표준편차와 비교하라.
풀이
\(n = 50\)에서의 이론적 표준오차는:
코드로는:
import numpy as np
np.random.seed(1)
population = np.random.uniform(size=10_000)
sample_means = [
np.mean(np.random.choice(population, size=50, replace=False))
for _ in range(10_000)
]
empirical_se = np.std(sample_means)
print(f"Theoretical SE: {1 / np.sqrt(600):.4f}")
print(f"Empirical SE: {empirical_se:.4f}")
출력:
Theoretical SE: 0.0408
Empirical SE: 0.0407
경험적 표준오차가 0.0408에 가깝게 나와 이론적 공식을 확인해 준다. \(\square\)
연습문제 5. Irwin–Hall 분포는 \(X_i \sim \text{Uniform}(0,1)\)이 독립일 때 합 \(S_n = X_1 + X_2 + \cdots + X_n\)의 분포이다. \(\bar{X} = S_n / n\)임을 보이고, \(n = 2\)에 대한 Irwin–Hall pdf를 사용하여 \(n = 2\)일 때 \(\bar{X}\)의 정확한 pdf를 구하라.
풀이
정의에 의해 \(\bar{X} = S_n / n\)이다. \(n = 2\)일 때 \(S_2 = X_1 + X_2\)의 Irwin–Hall pdf는 삼각분포이다:
\(\bar{X} = S_2 / 2\)이므로 변수변환 공식을 적용한다. \(y = s/2\)로 두면 \(s = 2y\)이고 \(ds = 2\,dy\)이므로:
이는 \(y = 1/2\)에서 정점을 이루는 \([0, 1]\) 위의 대칭 삼각분포이다. \(n = 2\)에서도 이미 \(\bar{X}\)의 표본분포가 (아직 정규는 아니지만) 단봉이고 대칭임을 확인해 준다. \(\square\)
연습문제 6. \(\text{Uniform}(0,1)\) 난수 12개를 더하고 6을 뺀 값이 표준정규분포의 좋은 근사가 되는 이유를 적률로 설명하라. 이 방법의 한계는 무엇인가?
풀이
\(U_i \sim \text{Uniform}(0,1)\)이면 \(E[U_i] = 1/2\), \(\operatorname{Var}(U_i) = 1/12\)이므로
이다. 12를 고른 이유가 바로 분산을 1로 맞추기 위해서다. 제곱근을 취할 필요가 없어 계산이 빠르다.
적률을 더 보면 근사가 왜 좋은지 알 수 있다.
- 왜도: 균등분포가 대칭이라 \(\gamma_1 = 0\)이고 합의 왜도도 정확히 0이다.
- 초과첨도: 균등분포의 초과첨도가 \(-1.2\)이고 합에서는 \(-1.2/12 = -0.1\)로 줄어든다. 정규분포의 0에 꽤 가깝다.
처음 네 적률이 거의 맞으니 중앙 부근에서 잘 맞을 수밖에 없다.
한계.
- 지지집합이 유계다. \(Z \in [-6, 6]\)이므로 \(|z| > 6\)인 값이 절대 나오지 않는다. 정규분포에서 그 확률은 \(2\times10^{-9}\)로 작지만, 극단 사건을 다루는 모의실험에서는 치명적이다.
- 꼬리가 실제로 얇다. \(|z| > 3\) 부근에서 이미 참 정규분포보다 확률이 작다. 위에서 본 음의 초과첨도가 그 신호다.
- 비효율적이다. 정규난수 하나에 균등난수 12개를 쓴다. 박스-뮐러는 2개로 2개를 만든다.
그래서 이 방법은 요즘 쓰이지 않는다. 다만 중심극한정리가 얼마나 빨리 듣는지를 보여 주는 교육적 예로는 훌륭하다. 완전히 평평한 분포 12개만 더해도 종 모양이 된다.
연습문제 7. \(\text{Uniform}(0,\theta)\)에서 중심 \(\theta/2\)를 추정하는 두 방법 — 표본평균 \(\bar X\)와 중간범위 \((X_{(1)}+X_{(n)})/2\) — 의 분산을 구해 비교하라. \(\theta=1\), \(n=5, 20, 100\)에서 계산하라.
풀이
\(\theta=1\)로 두어도 일반성을 잃지 않는다.
표본평균. \(\operatorname{Var}(X) = 1/12\)이므로
중간범위. \(X_{(1)}\sim\text{Beta}(1,n)\), \(X_{(n)}\sim\text{Beta}(n,1)\)이고 \(\operatorname{Var}(X_{(1)}) = \operatorname{Var}(X_{(n)}) = \frac{n}{(n+1)^2(n+2)}\), \(\operatorname{Cov}(X_{(1)},X_{(n)}) = \frac{1}{(n+1)^2(n+2)}\)이므로
비교.
| \(n\) | \(\operatorname{Var}(\bar X)\) | \(\operatorname{Var}(\text{중간범위})\) | 비 |
|---|---|---|---|
| 5 | 0.01667 | 0.01190 | 1.40 |
| 20 | 0.004167 | 0.001082 | 3.85 |
| 100 | 0.000833 | 0.0000485 | 17.2 |
중간범위가 압도적으로 낫고, 격차가 \(n\)과 함께 벌어진다. 표본평균의 분산은 \(O(1/n)\)인데 중간범위는 \(O(1/n^2)\)이기 때문이다.
왜 그런가. 균등분포는 지지집합의 양 끝이 뚜렷하고, 최솟값과 최댓값이 그 끝을 \(1/n\) 속도로 죄어 온다. 중간에 있는 관측값들은 끝점에 대해 거의 정보를 주지 않으므로 평균을 내는 것은 정보를 낭비하는 셈이다. 실제로 \((X_{(1)}, X_{(n)})\)이 충분통계량이다.
일반화하지 말 것. 이 결과는 지지집합이 유계이고 밀도가 끝에서 0으로 떨어지지 않는 분포에서만 성립한다. 정규분포에서 중간범위를 쓰면 표본평균보다 훨씬 나쁘고, 코시분포에서는 아예 발산한다. 최적 추정량은 분포에 따라 달라진다는 점을 보여 주는 좋은 예다.
연습문제 8. \(\text{Uniform}(0,1)\)에서 \(n=5\)일 때 \(\bar X\)의 지지집합은 \([0,1]\)이다. 정규근사가 예측하는 \(P(\bar X > 1.2)\)는 얼마이고 참값은 얼마인가? 이 차이가 실무에서 어떤 문제를 일으키는가?
풀이
\(\operatorname{SE}(\bar X) = \sqrt{1/(12\times5)} = 0.1291\)이므로 정규근사는
을 준다. 참값은 정확히 0이다. 모든 \(X_i \le 1\)이므로 \(\bar X \le 1\)이다.
이 자체는 큰 문제가 아니다. \(3\times10^{-8}\)이든 0이든 실무에서 차이가 없다.
실제 문제는 다른 곳에 있다. 근사가 지지집합을 존중하지 않는다는 사실이 신뢰구간에서 드러난다. \(n=5\)에서 \(\bar x = 0.9\)가 나왔다면 \(\mu\)의 95% 정규 신뢰구간이
으로 불가능한 영역을 포함한다. \(\text{Uniform}(0,1)\)이라면 \(\mu = 0.5\)여야 하고, 미지의 \(\theta\)에 대한 \(\text{Uniform}(0,\theta)\)라 해도 구간의 형태가 이렇게 나오지 않아야 한다.
같은 문제가 곳곳에서 나타난다. 비율의 왈드 구간이 \([0,1]\)을 벗어나고, 분산의 정규 구간이 음수를 담으며, 계수 자료의 구간이 음수로 내려간다. 경계가 있는 모수에 대칭 정규 구간을 씌우면 언제나 이런 일이 생긴다.
대처법은 세 가지다. 경계가 없는 척도로 변환한 뒤(로짓, 로그) 구간을 만들고 되돌리거나, 정확한 추축량을 쓰거나, 지지집합을 존중하는 방법(윌슨 구간, 프로파일 가능도, 베이즈 신용구간)을 쓴다.
연습문제 9. 어윈-홀 분포의 밀도가
임을 \(n=1,2\)에서 확인하고, 이 식이 어디서 오는지 설명하라.
풀이
\(n=1\). \(\lfloor s\rfloor = 0\)(\(0\le s<1\))이므로
로 \(\text{Uniform}(0,1)\)의 밀도다. ✓
\(n=2\). \(0\le s\le 1\)이면 \(\lfloor s\rfloor = 0\)이므로
\(1 < s \le 2\)이면 \(\lfloor s\rfloor = 1\)이므로
삼각분포와 일치한다. ✓
어디서 오는가. 두 가지 방식으로 볼 수 있다.
(방식 1) 포함배제. \(P(S_n \le s)\)는 \(\{(u_1,\dots,u_n) \in [0,1]^n : \sum u_i \le s\}\)의 부피다. 제약 \(u_i \le 1\)을 잠시 잊으면 그 부피가 단순히 \(s^n/n!\)(단체의 부피)인데, \(u_i > 1\)인 경우를 빼야 한다. \(u_i > 1\)인 영역의 부피는 \(u_i' = u_i-1\)로 옮기면 다시 \((s-1)^n/n!\)이고 그런 \(i\)가 \(n\)개 있다. 두 변수가 동시에 1을 넘는 경우를 다시 더하고… 이 포함배제가 교대부호 \((-1)^k\binom nk\)를 낳는다. 미분하면 위 밀도가 된다.
(방식 2) 합성곱. \(f_{S_n} = f_{S_{n-1}} * f_U\)를 되풀이하면 구간마다 \(n-1\)차 다항식으로 이어 붙인 함수(스플라인)가 나온다. 실제로 어윈-홀 밀도는 균등 B-스플라인의 한 형태다.
실용적 주의. 이 식은 \(n\)이 조금만 커도 수치적으로 쓸 수 없다. 교대부호 항들이 엄청나게 커졌다가 상쇄되면서 유효숫자가 모두 날아간다. \(n=20\)쯤이면 배정밀도로는 계산이 무의미해진다. 정확한 공식이 있다고 해서 그것으로 계산할 수 있는 것은 아니다. 실무에서는 정규근사나 에지워스 전개를 쓰는 편이 오히려 정확하다.
연습문제 10. 같은 \(n=5\)에서 균등 모집단과 지수 모집단의 표본평균 분포를 견주어라. 어느 쪽이 정규분포에 더 가깝고 그 이유는 무엇인가?
풀이
두 모집단의 모양 지표를 비교한다.
| \(\text{Uniform}(0,1)\) | \(\text{Exp}(1)\) | |
|---|---|---|
| 왜도 \(\gamma_1\) | 0 | 2 |
| 초과첨도 \(\gamma_2\) | \(-1.2\) | 6 |
| \(\bar X_5\)의 왜도 | 0 | \(2/\sqrt5 = 0.894\) |
| \(\bar X_5\)의 초과첨도 | \(-1.2/5 = -0.24\) | \(6/5 = 1.2\) |
균등 쪽이 훨씬 정규에 가깝다.
이유. 중심극한정리의 수렴 속도를 지배하는 것은 왜도다. 에지워스 전개의 첫 보정항이
로 왜도에 비례하고 \(n^{-1/2}\) 차수인 반면, 첨도가 들어오는 항은 \(n^{-1}\) 차수다.
균등분포는 대칭이라 왜도가 0이므로 \(n^{-1/2}\) 항이 통째로 사라진다. 남은 것은 \(n^{-1}\) 차수의 첨도 보정뿐이고, 그나마 균등분포의 초과첨도 \(-1.2\)는 지수분포의 6보다 훨씬 작다. 그래서 \(n=5\)에서도 이미 종 모양이 뚜렷하다.
지수분포는 왜도 2가 그대로 남아 \(n=5\)에서 \(\bar X\)의 왜도가 0.894나 된다. 오른쪽 꼬리가 눈에 띄게 길고, 다음 쪽 지수분포의 연습문제에서 보듯 \(P(\bar X>2)\) 같은 꼬리 확률이 정규근사와 두 배 넘게 어긋난다.
실무의 교훈. "\(n\)이 얼마나 커야 하는가"에 보편적인 답은 없다. 대칭인 모집단이면 아주 작은 \(n\)으로도 충분하고, 치우친 모집단이면 훨씬 커야 한다. 자료의 표본왜도를 먼저 보는 것이 30이라는 숫자를 외우는 것보다 훨씬 유용하다.
정리하며¶
평평한 모집단에서 출발해도 표본평균은 봉우리 하나짜리 종 모양으로 모인다. 이유는 단순하다. 다섯 수의 합이 중간쯤 되는 경우의 수가 양 끝이 되는 경우의 수보다 압도적으로 많기 때문이다. 평균이 0.9가 되려면 다섯 개가 하나도 빠짐없이 0.5를 넘고 그중 대부분이 1에 바짝 붙어야 하지만, 평균이 0.5가 되는 조합은 헤아릴 수 없이 많다.
\(X\sim\text{Uniform}(0,1)\)이면 \(\mu=1/2\), \(\sigma^2=1/12\)이므로 \(\mathbb{E}[\bar X]=1/2\)이고 \(\mathrm{Var}(\bar X)=1/(12n)\)이다. 이 두 값은 표본크기와 무관하게 정확하며 중심극한정리가 필요 없다. 근사인 것은 모양뿐이고, \(n\)이 커질수록 정규에 가까워지는 것도 모양뿐이다. 중심과 폭은 처음부터 정확했다.
이 쪽에서 가져갈 것은 그 근사가 매우 빨리 좋아진다는 사실이다. 균등분포는 대칭이고 꼬리가 유계라 왜도가 0이다. \(n=2\)에서 이미 삼각형이 되고 \(n\approx5\)면 눈으로는 정규와 구별하기 어려우며, 3장에서 재어 본 바로는 필요한 \(n\)이 한 자릿수다.
다음 쪽 지수분포는 반대쪽 극단이다. 심하게 치우친 모집단에서 같은 실험을 하면 수렴이 훨씬 느리다는 것을 보게 된다.