신뢰구간
**신뢰구간(Confidence Interval)**의 개념부터, 평균의 신뢰구간과 비율의 신뢰구간을 구하는 방법까지 단계적으로 정리한 내용입니다.
1. 신뢰구간(Confidence Interval) 개념
1.1 정의
- 신뢰구간이란, 모수(예: 모집단의 평균, 비율 등)가 존재할 것으로 추정되는 범위를 일정 수준의 **신뢰도(confidence level)**로 제시한 구간입니다.
- 예를 들어, 95% 신뢰구간이라면, “이 실험(표본추출) 과정을 여러 번 반복했을 때, 만들어지는 신뢰구간 중 약 95% 정도가 참된 모수를 포함하게 될 것”이라는 의미입니다.
1.2 일반적 표현
- 일반적으로 (추정치 ± 오차한계) 형태로 표현합니다.
- 추정치: 표본평균() 또는 표본비율() 등 xˉ\bar{x} p^\hat{p}
- 오차한계(Margin of Error): 통계적으로 산출된 표준오차 × 임계값(신뢰수준에 따른 Z값, t값 등)
1.3 신뢰수준과 임계값
- 보통 사용하는 신뢰수준: 90%, 95%, 99% 등
- 해당 신뢰수준에서의 임계값(Critical Value)은 정규분포(Z 분포) 또는 t 분포 표에서 구함.
- 예: 95% 신뢰수준 → 양쪽 각 2.5% 꼬리 → Z0.975≈1.96Z_{0.975}\approx 1.96
2. 평균의 신뢰구간
평균에 대한 신뢰구간은 모집단 표준편차(σ\sigma)의 정보와 표본 크기(n)에 따라 달라집니다.
2.1 모집단 표준편차(σ\sigma)를 알고 있을 때 (Z-Interval)
- 표본평균: Xˉ\bar{X}
- 신뢰구간 공식(Z-Interval) Xˉ ± Zα/2×σn\bar{X} ;\pm; Z_{\alpha/2} \times \frac{\sigma}{\sqrt{n}}
- Zα/2Z_{\alpha/2}: 신뢰수준에 따른 표준정규분포(Z 분포) 임계값
- 예: 95% → Z0.025≈1.96Z_{0.025}\approx 1.96
- σ\sigma: 모집단 표준편차 (알려져 있다는 전제)
- nn: 표본 크기
실제로는 모집단 표준편차를 정확히 아는 경우가 드물어, 주로 표본 표준편차를 사용하는 T-Interval이 더 흔합니다.
2.2 모집단 표준편차(σ\sigma)를 모를 때 (T-Interval)
- 표본평균: , 표본 표준편차: Xˉ\bar{X} ss
- 신뢰구간 공식(T-Interval) Xˉ ± tα/2, df×sn\bar{X} ;\pm; t_{\alpha/2,, df} \times \frac{s}{\sqrt{n}}
- tα/2, dft_{\alpha/2,, df}: 자유도(df = )를 가진 t 분포에서 임계값 n−1n-1
- ss: 표본 표준편차
- nn: 표본 크기
표본 크기가 클수록 tt 분포는 정규분포(Z 분포)에 가까워집니다.nn이 충분히 크면(예: 30 이상), Z 분포로 근사하여도 크게 문제되지 않는 경우가 많습니다.
2.3 예시 수치 (95% 신뢰수준)
- Z-Interval (모집단 표준편차 기지):
- 95% 수준 → Z0.025≈1.96Z_{0.025} \approx 1.96
- T-Interval (모집단 표준편차 미지, df = ):
n−1n-1
- 95% 수준 → df가 10이면 , df가 30이면 , … t0.025,10≈2.228t_{0.025, 10} \approx 2.228 ≈2.042\approx 2.042
- df가 커질수록 1.96에 가까워짐
3. 비율의 신뢰구간
모집단에서 “특정 특성을 가진 비율”(예: 지지율, 제품 불량률 등)을 추정할 때 사용합니다.
3.1 전통적(고전적) 비율 신뢰구간 (Wald CI)
- 표본비율: p^=특성 가진 표본 수n\hat{p} = \frac{\text{특성 가진 표본 수}}{n}
- Wald 신뢰구간 공식 p^ ± Zα/2p^(1−p^)n\hat{p} ;\pm; Z_{\alpha/2} \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
- 예: 표본 크기 에서 특성을 가진 관측치(성공 수) 가 관측됨 → . nn XX p^=X/n\hat{p} = X/n
- 95% 신뢰구간: p^±1.96p^(1−p^)n\hat{p} \pm 1.96 \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
주의사항
- 표본비율 가 0이나 1에 매우 근접할 때(또는 이 작을 때), 이 Wald 방식은 부정확해질 수 있습니다(구간이 0~1 범위를 벗어날 수도 있음). p^\hat{p} nn
- 이런 상황에서는 Wilson interval, Clopper-Pearson interval 등 대안적 방법을 고려하기도 합니다.
3.2 Wilson CI, Clopper-Pearson CI (추가 언급)
- Wilson CI: 비율 추정이 0~1 근처일 때 좀 더 안정적인 근사
- Clopper-Pearson CI: 정확(Exact)한 이항분포 기반 기법, 표본 크기가 작거나 극단적 비율(0 근처, 1 근처)에 유리
실무에서 표본 크기가 충분히 크고 p^\hat{p}가 극단적이지 않으면, 전통적인 Wald CI로도 무리가 없는 경우가 많습니다.
4. Python 예시
아래는 Python에서 간단히 평균의 신뢰구간과 비율의 신뢰구간을 구하는 예시입니다.
4.1 평균의 신뢰구간 (T-Interval)
import numpy as np
import scipy.stats as stats
# 예: 모집단 표준편차 모름 -> T 분포 사용
np.random.seed(42)
# 가상의 데이터(정규분포에서 추출)
sample = np.random.normal(loc=50, scale=5, size=25) # n=25
alpha = 0.05
n = len(sample)
df = n - 1
x_bar = np.mean(sample)
s = np.std(sample, ddof=1) # 표본 표준편차
# t 임계값 (95% 신뢰수준 -> alpha=0.05 -> alpha/2=0.025)
t_crit = stats.t.ppf(1 - alpha/2, df)
# 신뢰구간 계산
margin_of_error = t_crit * (s / np.sqrt(n))
ci_lower = x_bar - margin_of_error
ci_upper = x_bar + margin_of_error
print("[Mean T-Interval]")
print(f"Sample mean = {x_bar:.2f}")
print(f"{(1-alpha)*100:.0f}% CI = ({ci_lower:.2f}, {ci_upper:.2f})")
4.2 비율의 신뢰구간 (Wald CI)
import math
# 예: n=100명 표본 조사, 그 중 25명이 "특정 특성" 있음 -> p_hat=0.25
n = 100
X = 25
p_hat = X / n
alpha = 0.05
z_crit = stats.norm.ppf(1 - alpha/2) # 95% CI -> 1.96 근사
# Wald CI
wald_margin = z_crit * math.sqrt(p_hat * (1 - p_hat) / n)
wald_lower = p_hat - wald_margin
wald_upper = p_hat + wald_margin
print("\n[Proportion Wald CI]")
print(f"Sample proportion (p_hat) = {p_hat:.2f}")
print(f"95% CI = ({wald_lower:.3f}, {wald_upper:.3f})")
- 만약 비율이 0.0 또는 1.0에 가까우면, Wilson 혹은 Clopper-Pearson 방식을 고려
5. 해석과 주의사항
- 구간 해석
- “모평균(또는 모비율)이 신뢰구간 내에 존재할 것으로 (1-α\alpha)100% 확신한다.”
- 반복 표본추출 시, 생성되는 구간 중 약 (1-α\alpha)%가 참 모수를 포함한다.
- 신뢰수준과 구간 폭
- 신뢰수준이 높을수록(예: 99% vs 95%), 구간 폭(오차범위)이 커진다.
- 이는 확실성을 높이는 대가로 더 넓은 구간을 제시한다는 의미.
- 표본 크기
- 표본이 클수록( 증가) 표준오차가 감소 → 구간이 좁아짐(정밀도 향상). nn
- 정규성 가정(평균 CI 시)
- 표본 크기가 충분히 크면(중심극한정리), 원래 분포와 무관하게 는 근사적으로 정규분포를 따름. Xˉ\bar{X}
- 표본이 매우 작다면(특히 n<30), 정규성 가정이 크게 틀리지 않는지 확인하거나, T 분포 적용에 주의.
- 0~1 범위(비율 CI 시)
- Wald CI가 0 미만 or 1 초과로 계산되는 상황이 발생할 수 있음(표본 비율이 극단적이면). 이 경우 Wilson, Clopper-Pearson 등 대안 고려.
6. 요약
- 신뢰구간(Confidence Interval)
- 모수를 한 점(추정치) 대신 구간으로 제시해, 불확실성을 반영.
- “(추정치 ± 오차한계)” 형태.
- 평균의 신뢰구간
- 모집단 표준편차가 알려져 있으면 Z-Interval, 모르거나 표본 크기가 작으면 T-Interval.
- xˉ±zα/2σn\bar{x} \pm z_{\alpha/2}\frac{\sigma}{\sqrt{n}} (또는 ). tα/2,dfsnt_{\alpha/2, df}\frac{s}{\sqrt{n}}
- 비율의 신뢰구간
- 전통적 Wald CI: p^±zα/2p^(1−p^)n\hat{p} \pm z_{\alpha/2} \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
- 극단적 비율/작은 표본 → Wilson, Clopper-Pearson 등 더 정확한 방법 고려.
- 해석
- (1-)100% 신뢰수준 → 표본추출을 여러 번 반복하면, 이들 구간 중 약 (1-)%가 참 모수를 포함. α\alpha α\alpha
- 신뢰수준↑ → 구간 넓어짐. 표본 크기↑ → 구간 좁아짐.
- 주의:
- 신뢰구간은 “모수가 이 구간에 반드시 있다”는 절대적 선언이 아님.
- 인과관계, 모집단 분포 가정 등에 대해서는 별도 검토가 필요.
참고 문헌
- Montgomery, D. C., & Runger, G. C. (2010). Applied Statistics and Probability for Engineers. John Wiley & Sons.
- Casella, G., & Berger, R. L. (2002). Statistical Inference (2nd ed.). Cengage Learning.
- Agresti, A. (2018). An Introduction to Categorical Data Analysis. John Wiley & Sons.
- Brown, L. D., Cai, T. T., & DasGupta, A. (2001). Interval Estimation for a Binomial Proportion. Statistical Science, 16(2), 101-133. (Wald, Wilson, Clopper-Pearson 비교) 이상으로 신뢰구간 전반, 특히 평균의 신뢰구간과 비율의 신뢰구간을 살펴보았습니다. 실제 분석에서는 표본 크기, 모집단 분포, 신뢰수준 등을 종합 고려하여 적절한 기법을 선택하고, 구간 해석에 주의를 기울이는 것이 중요합니다.
- 요약
신뢰구간(Confidence Interval) 교안
1. 신뢰구간의 개념
1.1 정의
신뢰구간은 모수(parameter)의 참값이 일정한 확률로 포함될 것으로 기대되는 구간입니다.
1.2 해석
- 95% 신뢰구간의 의미: 동일한 방법으로 표본을 100번 추출하여 구간을 계산할 때, 약 95번은 모수가 그 구간에 포함된다.
- 신뢰수준(confidence level): 구간이 모수를 포함할 확률
2. 신뢰구간의 구성요소
2.1 기본 구조
신뢰구간 = 추정량 ± (임계값 × 표준오차)
2.2 주요 요소
- 점추정량
- 표본평균 ()
- 표본비율 ()
- 표준오차
- 평균의 표준오차:
- 비율의 표준오차:
- 임계값
- z-score (정규분포)
- t-value (t 분포)
3. 주요 신뢰구간 공식
3.1 모평균 신뢰구간
- 모표준편차를 알 때 (Z 분포)
- 모표준편차를 모를 때 (t 분포)
3.2 모비율 신뢰구간
3.3 모분산 신뢰구간
4. 표본크기 결정
4.1 모평균 신뢰구간을 위한 표본크기
여기서 E는 허용오차
4.2 모비율 신뢰구간을 위한 표본크기
5. Python 구현
5.1 모평균 신뢰구간
import scipy.stats as stats
import numpy as np
def mean_confidence_interval(data, confidence=0.95):
n = len(data)
mean = np.mean(data)
std_err = stats.sem(data)
t_value = stats.t.ppf((1 + confidence) / 2, n - 1)
margin_error = t_value * std_err
return mean - margin_error, mean + margin_error
# 예시
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
lower, upper = mean_confidence_interval(data)
print(f"95% 신뢰구간: ({lower:.2f}, {upper:.2f})")
5.2 모비율 신뢰구간
def proportion_confidence_interval(success, n, confidence=0.95):
p_hat = success / n
z_value = stats.norm.ppf((1 + confidence) / 2)
std_err = np.sqrt(p_hat * (1 - p_hat) / n)
margin_error = z_value * std_err
return p_hat - margin_error, p_hat + margin_error
# 예시
success = 45 # 성공 횟수
n = 100 # 전체 시행 횟수
lower, upper = proportion_confidence_interval(success, n)
print(f"95% 신뢰구간: ({lower:.2f}, {upper:.2f})")
6. 실무 적용 시 고려사항
6.1 신뢰수준 선택
- 90%: z = 1.645
- 95%: z = 1.96
- 99%: z = 2.576
6.2 표본크기의 영향
- 표본크기가 클수록 신뢰구간 폭이 좁아짐
- 정밀도와 비용의 trade-off 고려
6.3 가정 확인
- 정규성 검정
- 독립성 확인
- 무작위 표본 추출
7. 시각화
7.1 신뢰구간 plot
import matplotlib.pyplot as plt
import seaborn as sns
def plot_confidence_interval(mean, ci_lower, ci_upper, label):
plt.figure(figsize=(10, 4))
plt.vlines(x=mean, ymin=0, ymax=1, color='blue', label='Mean')
plt.hlines(y=0.5, xmin=ci_lower, xmax=ci_upper, color='red',
label='95% CI')
plt.title(f'{label} with 95% Confidence Interval')
plt.legend()
plt.show()
7.2 부트스트랩 신뢰구간
from scipy import stats
def bootstrap_ci(data, n_bootstrap=10000, confidence=0.95):
means = []
for _ in range(n_bootstrap):
sample = np.random.choice(data, size=len(data), replace=True)
means.append(np.mean(sample))
return np.percentile(means, [(1-confidence)*100/2, (1+confidence)*100/2])
8. 연습문제
8.1 기초 문제
다음 데이터의 95% 신뢰구간을 구하시오:
data = [23, 25, 21, 24, 22, 26, 24, 23, 25, 24]
8.2 응용 문제
- 투표 의향 조사에서 400명 중 240명이 찬성했다. 모비율의 95% 신뢰구간을 구하시오.
- 표본오차 ±3%로 모비율을 추정하려면 필요한 표본크기는?
9. 해석 가이드
9.1 올바른 해석
- “모수가 이 구간에 포함될 확률이 95%이다” (X)
- “이러한 방법으로 구간을 계산할 때, 95%는 모수를 포함한다” (O)
9.2 주의사항
- 신뢰구간은 추정의 정밀도를 나타냄
- 신뢰수준이 높을수록 구간이 넓어짐
- 표본크기가 클수록 구간이 좁아짐
참고문헌
- Neyman, J. (1937). Outline of a theory of statistical estimation based on the classical theory of probability. Philosophical Transactions of the Royal Society A, 236, 333-380.
- Efron, B. (1979). Bootstrap methods: Another look at the jackknife. The Annals of Statistics, 7(1), 1-26.