Skip to Content

신뢰구간

**신뢰구간(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)

  1. 표본평균: Xˉ\bar{X}
  2. 신뢰구간 공식(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)

  1. 표본평균: , 표본 표준편차: Xˉ\bar{X} ss
  2. 신뢰구간 공식(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)

  1. 표본비율: p^=특성 가진 표본 수n\hat{p} = \frac{\text{특성 가진 표본 수}}{n}
  2. 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 (추가 언급)

  1. Wilson CI: 비율 추정이 0~1 근처일 때 좀 더 안정적인 근사
  2. 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. 구간 해석
  • “모평균(또는 모비율)이 신뢰구간 내에 존재할 것으로 (1-α\alpha)100% 확신한다.”
  • 반복 표본추출 시, 생성되는 구간 중 약 (1-α\alpha)%가 참 모수를 포함한다.
  1. 신뢰수준과 구간 폭
  • 신뢰수준이 높을수록(예: 99% vs 95%), 구간 폭(오차범위)이 커진다.
  • 이는 확실성을 높이는 대가로 더 넓은 구간을 제시한다는 의미.
  1. 표본 크기
  • 표본이 클수록( 증가) 표준오차가 감소 → 구간이 좁아짐(정밀도 향상). nn
  1. 정규성 가정(평균 CI 시)
  • 표본 크기가 충분히 크면(중심극한정리), 원래 분포와 무관하게 는 근사적으로 정규분포를 따름. Xˉ\bar{X}
  • 표본이 매우 작다면(특히 n<30), 정규성 가정이 크게 틀리지 않는지 확인하거나, T 분포 적용에 주의.
  1. 0~1 범위(비율 CI 시)
  • Wald CI가 0 미만 or 1 초과로 계산되는 상황이 발생할 수 있음(표본 비율이 극단적이면). 이 경우 Wilson, Clopper-Pearson 등 대안 고려.

6. 요약

  1. 신뢰구간(Confidence Interval)
  • 모수를 한 점(추정치) 대신 구간으로 제시해, 불확실성을 반영.
  • “(추정치 ± 오차한계)” 형태.
  1. 평균의 신뢰구간
  • 모집단 표준편차가 알려져 있으면 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}}
  1. 비율의 신뢰구간
  • 전통적 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. 해석
  • (1-)100% 신뢰수준 → 표본추출을 여러 번 반복하면, 이들 구간 중 약 (1-)%가 참 모수를 포함. α\alpha α\alpha
  • 신뢰수준↑ → 구간 넓어짐. 표본 크기↑ → 구간 좁아짐.
  1. 주의:
  • 신뢰구간은 “모수가 이 구간에 반드시 있다”는 절대적 선언이 아님.
  • 인과관계, 모집단 분포 가정 등에 대해서는 별도 검토가 필요.

참고 문헌

  1. Montgomery, D. C., & Runger, G. C. (2010). Applied Statistics and Probability for Engineers. John Wiley & Sons.
  2. Casella, G., & Berger, R. L. (2002). Statistical Inference (2nd ed.). Cengage Learning.
  3. Agresti, A. (2018). An Introduction to Categorical Data Analysis. John Wiley & Sons.
  4. 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 주요 요소

  1. 점추정량
  • 표본평균 (Xˉ\bar{X})
  • 표본비율 (p^\hat{p})
  1. 표준오차
  • 평균의 표준오차: SE(Xˉ)=snSE(\bar{X}) = \frac{s}{\sqrt{n}}
  • 비율의 표준오차: SE(p^)=p^(1p^)nSE(\hat{p}) = \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
  1. 임계값
  • z-score (정규분포)
  • t-value (t 분포)

3. 주요 신뢰구간 공식

3.1 모평균 신뢰구간

  1. 모표준편차를 알 때 (Z 분포) Xˉ±zα/2σn\bar{X} \pm z_{\alpha/2}\frac{\sigma}{\sqrt{n}}
  2. 모표준편차를 모를 때 (t 분포) Xˉ±tα/2sn\bar{X} \pm t_{\alpha/2}\frac{s}{\sqrt{n}}

3.2 모비율 신뢰구간

p^±zα/2p^(1p^)n\hat{p} \pm z_{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}

3.3 모분산 신뢰구간

[(n1)s2χα/22,(n1)s2χ1α/22][\frac{(n-1)s^2}{\chi^2_{\alpha/2}}, \frac{(n-1)s^2}{\chi^2_{1-\alpha/2}}]

4. 표본크기 결정

4.1 모평균 신뢰구간을 위한 표본크기

n=(zα/2σE)2n = (\frac{z_{\alpha/2}\sigma}{E})^2 여기서 E는 허용오차

4.2 모비율 신뢰구간을 위한 표본크기

n=zα/22p^(1p^)E2n = \frac{z_{\alpha/2}^2\hat{p}(1-\hat{p})}{E^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 가정 확인

  1. 정규성 검정
  2. 독립성 확인
  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 응용 문제

  1. 투표 의향 조사에서 400명 중 240명이 찬성했다. 모비율의 95% 신뢰구간을 구하시오.
  2. 표본오차 ±3%로 모비율을 추정하려면 필요한 표본크기는?

9. 해석 가이드

9.1 올바른 해석

  • “모수가 이 구간에 포함될 확률이 95%이다” (X)
  • “이러한 방법으로 구간을 계산할 때, 95%는 모수를 포함한다” (O)

9.2 주의사항

  1. 신뢰구간은 추정의 정밀도를 나타냄
  2. 신뢰수준이 높을수록 구간이 넓어짐
  3. 표본크기가 클수록 구간이 좁아짐

참고문헌

  1. 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.
  2. Efron, B. (1979). Bootstrap methods: Another look at the jackknife. The Annals of Statistics, 7(1), 1-26.