CH 08 통계학 기본 · Part 2 표집분포와 추정
구간추정 — '95%'를 직접 세어 본다
7장의 점추정은 값 하나를 내놓고 끝났다. 이 장은 거기에 폭을 붙인다. 그리고 그 폭에 붙은 '95%'라는 라벨이 진짜인지 10,000번 만들어 세어 확인한다. 정규 모집단 n=3 에서 z 를 쓴 구간의 포함률은 0.8134, t 를 쓰면 0.9490 이었다. 비율에서는 더 심하다 — n=50, p=0.02 의 Wald 구간은 포함률 0.6286. 스무 번 중 한 번이 아니라 일곱 번 놓친다.
- 01 직관
- 02 수식 읽는 법
- 03 손으로 풀기
- 04 코드
- 05 시각화
약어 및 기호 정의
- 신뢰구간 CI (confidence interval)
- 표본에서 계산한 두 개의 수. 참값을 담고 있기를 기대하는 범위다. 표본이 바뀌면 이 두 수도 바뀐다
- 신뢰수준 (confidence level)
- 구간을 만드는 절차에 붙는 라벨. "이 절차를 무한히 반복하면 95%의 구간이 참값을 담는다"는 약속이다. 구간 하나에 붙는 확률이 아니다
- 포함률 (coverage)
- 실제로 반복해서 세어 본 비율. 명목 신뢰수준(0.95)과 다를 수 있다 — 이 장의 주제 전부가 이 차이다
- 임계값 z*, t*
- 표준정규 또는 t 분포에서 양쪽 꼬리 2.5%씩을 잘라 내는 값. 95%면 z* = 1.9600, t*(15) = 2.1314
- t 분포 (Student's t)
- σ 대신 s 를 썼을 때 (x̄−μ)/(s/√n) 가 따르는 분포. 자유도 n−1. 정규분포보다 꼬리가 두껍다
- Wald 구간
- 비율의 가장 흔한 구간 p̂ ± z*√(p̂(1−p̂)/n). 교과서에 제일 먼저 나오고 제일 자주 틀린다
- Wilson 점수 구간
- p̂ 대신 중심을 (p̂ + z²/2n)/(1+z²/n) 로 옮긴 구간. 작은 p 에서도 무너지지 않는다
- Clopper–Pearson
- 이항분포를 뒤집어 정확히 푼 구간. 포함률이 절대 0.95 아래로 내려가지 않는 대신 과보수적(넓다)
- 왜도 (skewness)
- 분포가 한쪽으로 늘어진 정도. 0이면 좌우대칭. engel 소득 데이터는 2.781 로 오른쪽 꼬리가 길다
직관: 움직이는 것은 참값이 아니라 구간이다
7장에서 MLE 로 μ̂ = 52.0 을 얻었다고 하자. 이것을 그대로 보고하면 읽는 사람은 이 숫자가 얼마나 미더운지 알 길이 없다. 1장에서 이미 봤듯 n=10 표본평균이 참값의 1cm 안에 들어올 확률은 40.9% 밖에 되지 않았다.
그래서 점 대신 자(尺) 를 놓는다. [47.7, 56.3] 처럼 폭을 가진 것을 보고하면 "이 정도까지는 참값일 수 있다"는 정보가 함께 전달된다. 이것이 구간추정이다.
여기서 오해가 시작된다
"95% 신뢰구간 [47.7, 56.3]" 을 보고 대부분은 이렇게 읽는다 — "참값이 이 구간 안에 있을 확률이 95%다."
이 문장은 틀렸다. 참값 μ 는 고정된 상수다. 확률변수가 아니다. 47.7 과 56.3 사이에 있거나 없거나 둘 중 하나이고, 그 답은 이미 정해져 있다. 확률이 붙을 자리가 없다.
확률변수인 것은 구간 쪽이다. 표본을 다시 뽑으면 47.7 도 56.3 도 다른 값이 된다. 95% 라는 라벨은 이 움직이는 자가 고정된 참값을 몇 번이나 걸치는지에 붙은 숫자다.

그렇다면 진짜 질문은 하나다. 95% 라고 이름 붙인 절차가 실제로 95%를 담는가? 이것은 철학이 아니라 세어 보면 되는 문제다. 참값을 아는 세계를 만들고 구간을 1만 개 만들어 몇 개가 참값을 담았는지 세면 된다. 실험 1과 2가 그 계수 작업이고, 결과는 "때때로 지키지 못한다"이다.
수식 읽는 법: 세 조각과, 왜 t 인가
x̄ ± t*(n−1) × s/√n σ 를 알면 t* 대신 z* = 1.96
T = (x̄ − μ) / (s/√n) ~ t(n−1)
n 이 커지면 s 가 σ 에 붙으므로 t* 는 z* 로 수렴한다. t*(15)=2.1314 는 1.96보다 8.7% 크고, n=100 쯤 되면 차이가 실험 1의 평균폭 3.1281 vs 3.1668 정도로 줄어든다.

p̂ ± z*√(p̂(1−p̂)/n) Wald — 이 장의 문제아
이 실패는 "표본이 작아서"가 아니라 공식이 스스로를 갉아먹는 구조 때문이다. Wilson 구간은 중심을 p̂ 에서 (p̂+z²/2n)/(1+z²/n) 로 옮겨 이 자기참조를 끊는다. 대략 성공 2개·실패 2개를 미리 얹어 놓고 계산하는 것과 같다.
손으로 풀기
손풀이 A — z 와 t 로 각각 구간을 만든다
표본 n = 16, x̄ = 52.0, s = 8.0. 95% 구간을 만든다.
먼저 눈금: SE = s/√n = 8/√16 = 8/4 = 2.0000.
σ 를 안다고 가정하면 z* = 1.9600 이므로
52 ± 1.9600 × 2.0 = [48.0801, 55.9199], 폭 7.8399.
σ 를 모르고 s 로 추정했으면 t*(15) = 2.1314 이므로
52 ± 2.1314 × 2.0 = [47.7371, 56.2629], 폭 8.5258.
두 폭의 비는 2.1314/1.9600 = 1.087 — 8.7% 넓다. 이 8.7%가 "σ 를 모른다"는 사실의 가격이다. 현실에서 σ 를 진짜로 아는 경우는 거의 없으므로 실무의 기본값은 아래쪽(t)이다.

손풀이 B — 50명 검사에서 양성 0명
어떤 병의 유병률을 알아보려고 50명을 검사했더니 양성이 0 명이었다. p̂ = 0/50 = 0.
Wald 를 그대로 적용하면 0 ± 1.96 × √(0 × 1 / 50) = 0 ± 0 = [0, 0].
결론은 "유병률은 정확히 0%이며 오차는 없다"가 된다. 50명으로 그런 말을 할 수는 없다. 참 유병률이 2%여도 50명 중 0명이 나올 확률은 0.98⁵⁰ = 36.4% 나 된다.
Wilson 을 쓰면 중심이 (0 + 1.96²/100)/(1 + 1.96²/50) = 0.0384/1.0768 = 0.0357 로 0이 아니고, 폭도 0이 아니다. 구간이 0을 포함하되 위쪽으로 열려 있는 형태가 된다.
실험 2가 이 상황을 10,000번 반복한 것이다. p=0.02 에서 Wald 포함률은 0.6286, Wilson 은 0.9158 이었다.

손풀이 C — 폭을 절반으로 줄이려면 표본이 몇 배 필요한가
폭은 2 × t* × s/√n 이므로 n 에 대해 1/√n 로 줄어든다.
실험 1의 t 평균폭을 보면 n=25 근처가 없으니 n=30 과 n=100 을 쓴다: 5.9307 → 3.1668. n 을 3.33배 키웠는데 폭은 1.87배 만 줄었다. √3.33 = 1.83 과 거의 같다.
즉 폭을 절반으로 줄이려면 표본이 4배 필요하다. 1장에서 SE 에 대해 했던 이야기가 그대로 구간 폭에 옮겨 온 것이다. 13장 표본크기 설계는 이 식을 n 에 대해 푸는 일이다.
코드: 구간을 1만 개 만들어 세어 본다
신뢰구간이 정직한지 확인하는 방법은 하나뿐이다. 참값을 아는 세계에서 구간을 아주 많이 만들고, 참값을 담은 것을 센다. 그 비율이 0.95 에 가까우면 그 절차는 이름값을 하는 것이고, 아니면 못 하는 것이다.
for n in (3,5,10,30,100):
def one(r):
s_ = r.normal(50,8,n); m, sd = s_.mean(), s_.std(ddof=1)
se_ = sd/np.sqrt(n); t_ = ss.t.ppf(.975, n-1)
return (abs(m-50)<=1.959964*se_, abs(m-50)<=t_*se_,
2*1.959964*se_, 2*t_*se_)
R = D.rep(one, 10000, seed=n)
abs(m-50) <= t_*se_ 한 줄이 "이 구간이 참값 50 을 담았는가"의 전부다. 구간의 양 끝을 만들어 비교할 필요 없이, 중심에서 참값까지의 거리가 반폭보다 짧으면 담은 것이다.
4-1. 결과 읽기
z 를 쓰면 '95%'가 거짓말이 된다
실험 1 에서 n=3 일 때 z 구간의 포함률은 0.8134 였다. 95%라고 이름 붙인 절차가 실제로는 81%만 담는다. n=5 에서 0.8825, n=10 에서 0.9258 — n=100 이 되어서야 0.9506 으로 명목에 닿는다.
원인은 s 가 σ 를 과소평가하는 경우가 흔하다는 데 있다. 작은 표본에서 우연히 값들이 몰려 나오면 s 가 작아지고, 그러면 구간이 좁아지고, 좁은 구간은 참값을 놓친다. z 는 이 위험을 전혀 보상하지 않는다.
t 는 지키지만 공짜가 아니다
같은 표에서 t 구간은 n=3 에서도 0.9490 으로 명목을 지킨다. 대가는 폭이다 — 15.9473 → 35.0086, 2.2배 넓다.
n=100 에서는 폭 차이가 3.1281 vs 3.1668 로 1.2% 밖에 안 되고 포함률도 0.9506 vs 0.9528 로 사실상 같다. t 는 작은 표본에만 드는 보험이고, 큰 표본에서는 보험료가 거의 0이다. 그러니 굳이 z 를 쓸 이유가 없다.
Wald 는 명목수준을 지키지 못한다 — 그것도 크게
실험 2 의 첫 줄이 이 장에서 가장 놀라운 숫자다. p=0.02, n=50 에서 Wald 포함률 0.6286. 20번 중 1번 틀린다고 광고한 절차가 20번 중 7번 틀린다.
같은 줄의 평균폭을 보면 이유가 보인다. Wald 0.0595, Wilson 0.0980 — Wald 가 더 좁다. 좁으면서 자주 놓친다는 것은 그 좁음이 정보에서 나온 것이 아니라 공식의 결함에서 나왔다는 뜻이다. k=0 인 표본이 36.4% 나 되고 그때마다 폭 0 짜리 구간이 나온다.
주목할 것은 이것이 p 에 대해 단조롭지 않다는 점이다. 0.05 에서 0.9188 로 올랐다가 0.10 에서 0.8825 로 다시 떨어진다. k 가 정수라서 생기는 톱니(이산성) 때문이다. "n 이 얼마 이상이면 안전하다"는 식의 단순한 기준이 잘 안 통하는 이유가 여기 있다.
Clopper–Pearson 은 반대 방향으로 틀린다
p=0.02 에서 0.9800, p=0.05 에서 0.9892. 명목 0.95 를 넘겨서 지킨다. 안전해 보이지만 그만큼 구간이 넓다는 뜻이고, 넓은 구간은 "아무 말도 하지 않는" 쪽으로 기운다.
규제 심사처럼 절대 미달하면 안 되는 자리에서는 이 과보수성이 미덕이다. 일반적인 보고에서는 Wilson 이 0.9158~0.9729 로 명목 근처를 오가며 폭도 합리적이라 균형이 낫다.
실데이터: 평균이면 t 로 충분하고, 중앙값이면 방법이 없다
실험 4 의 engel 소득은 n=235, 왜도 2.781 로 정규와 거리가 멀다. 그런데 평균의 t CI [915.7422, 1049.2039] 와 부트스트랩 CI [920.0748, 1051.6552] 가 거의 겹친다. 폭도 133.4617 vs 131.5804 로 1.4% 차이다. 5장의 CLT 가 여기서 일을 한 것이다 — 원자료가 비뚤어도 n=235 의 표본평균은 이미 충분히 정규에 가깝다.
문제는 통계량을 바꿀 때 생긴다. 중앙값 883.9849 의 구간은 [830.4353, 933.9193] 인데, 이것은 부트스트랩으로만 얻은 것이다. 중앙값에는 s/√n 같은 손쉬운 공식이 없다. 6장에서 "정규 모집단이면 중앙값의 SE 는 평균의 1.2533배"라는 식을 봤지만 그것도 정규일 때만이고, 왜도 2.781 짜리 데이터에는 쓸 수 없다.
즉 공식 기반 구간추정은 평균 근처에서만 편하다. 9장 부트스트랩은 이 제약을 통째로 걷어내는 방법이다.
시각화





이것만 기억하자
- 신뢰수준은 절차에 붙는 라벨이지 구간 하나의 확률이 아니다. 참값은 고정이고 구간이 움직인다. 실험 3의 100개 중 96개가 담았고, 다시 뽑으면 그 개수도 달라진다.
- σ 를 모르면 t 를 쓴다. n=3 에서 z 는 0.8134 로 미달하고 t 는 0.9490 으로 지킨다. n=100 이면 두 방법의 폭 차이가 1.2% 뿐이므로 t 를 기본으로 두면 잃을 것이 없다.
- 비율에는 Wald 를 쓰지 않는다. p=0.02, n=50 에서 포함률 0.6286 이다. Wilson(0.9158)을 기본으로, 미달이 절대 허용되지 않으면 Clopper–Pearson(0.9800)을 쓴다.
흔한 오해
- "참값이 이 구간에 있을 확률이 95%다" — 참값은 확률변수가 아니다. 실험 3의 34번 구간 [40.81, 49.96] 은 참값 50 을 담지 않았고, 그것은 확률이 아니라 사실이다. 95%는 100개를 만들었을 때의 성질이다.
- "구간이 좁으면 좋은 추정이다" — 실험 2의 p=0.02 에서 Wald 는 Wilson 보다 좁으면서(0.0595 vs 0.0980) 포함률이 0.6286 로 훨씬 나쁘다. 폭은 포함률을 지킨 뒤에야 비교할 값이다.
- "n 이 크면 어떤 공식을 써도 된다" — 평균에는 대체로 맞다(n=100 에서 z 와 t 가 같아진다). 비율은 다르다. n=50 이어도 p 가 작으면 np = 1 밖에 안 되고, 결정적인 것은 n 이 아니라 np 와 n(1−p) 다.
- "포함률이 명목보다 높으면 안전하다" — Clopper–Pearson 의 0.9800·0.9892 는 그만큼 구간이 넓다는 뜻이다. 과보수적인 구간은 실제 차이를 감지하지 못하게 만든다. 13장 검정력에서 이 손해를 정면으로 잰다.
'통계학 기본' 카테고리의 다른 글
| [통계학 기본 10] 편향과 분산 — 틀린 추정량이 이기는 순간 (0) | 2026.09.01 |
|---|---|
| [통계학 기본 09] 부트스트랩 — 공식이 없어도 흔들림을 잴 수 있다 (0) | 2026.09.01 |
| [통계학 기본 07] 점추정: 적률법과 MLE — n−1 의 정체를 실측한다 (0) | 2026.09.01 |
| [통계학 기본 06] 표집분포 — 통계량마다 다른 흔들림의 모양 (0) | 2026.09.01 |
| [통계학 기본 05] 큰 수의 법칙과 CLT, 그리고 코시라는 예외 (0) | 2026.09.01 |
댓글