표본 크기 도입과 검정력의 정의

Woodward 8.1+8.2 — Power calculation 의 일반 원리와 콜레스테롤 사례

Woodward Ch.8.1 (도입) 과 8.2 (Power) 를 정리한다. 표본 크기 결정의 중요성, 너무 크거나 작은 \(n\) 의 위험, Power 의 정의와 계산, 콜레스테롤 사례 (Ex 8.1) 의 구체적 도출을 다룬다.

Experimentation
Fundamentals
저자

Kwangmin Kim

공개

2026년 05월 08일

1 도입 — 왜 표본 크기 결정이 중요한가

Woodward 의 시작 메시지:

“역학 연구를 계획할 때 항상 등장하는 질문: 몇 명을 포함할 것인가. 너무 많으면 자원 낭비, 너무 적으면 결정적 결과 검출 실패.” (Woodward 2014, Ch.8.1)

이 글은 (a) 표본 크기 결정의 중요성, (b) Power 의 정의와 계산, (c) 콜레스테롤 사례의 구체적 도출을 정리한다.

2 너무 큰 \(n\) 의 위험

표본이 과대 한 경우:

  • 통계적 유의임상적 무의미 — 매우 작은 RR (예: 1.05) 도 유의해짐
  • 자원 낭비 — 시간, 비용, 참가자 부담
  • 윤리적 우려 — 불필요한 실험 노출

A-SCH11-2 에서 다룬 Schulz 의 비판과 같은 맥락. 0.05 이하 라도 효과 크기가 임상적으로 무의미 하면 의미 없음.

3 너무 작은 \(n\) 의 위험

표본이 과소 한 경우:

  • 진정한 효과 검출 실패 (Type II error 증가)
  • 결과 미확정 — “효과 없음” 결론을 “효과 있을 수도” 와 구분 못함
  • 연구 무용 — 결정적 자료 생산 못함

3.1 Frieman et al. 1978 의 발견

Woodward 가 인용:

“71 개 부정적 개입 시험 (효과 미발견) 분석. 약 2/3 가 50 % 진정한 개선 을 검출할 검정력 70 % 미만. 50 % 개선이 의학적으로 무의미 한 경우는 거의 없으므로, 이 시험들은 중요한 정보를 놓칠 위험이 큼.”

이 발견이 Schulz Ch.11 의 Chalmers 1978 와 같은 맥락. underpowered trials 의 광범위한 문제.

4 정확한 표본 크기 — Trade-off

n 결정의 원리:
  연구 가설 → 검출하고 싶은 효과 크기 결정
        ↓
  α, power 결정 (관습 또는 분야별)
        ↓
  분산 또는 비율 추정 (이전 자료에서)
        ↓
  공식 적용 → 최소 n 산정
        ↓
  실현 가능성 점검 → 진행 또는 재검토

이 절차의 주관성효과 크기 결정 에 집중. 다른 입력은 비교적 객관적.

5 Power 의 공식 정의

정의: Power

귀무가설이 실제로 거짓일 때 그것을 기각할 확률.

\[ \text{Power} = \Pr(\text{기각} \mid H_1 \text{ 참}) = 1 - \beta \]

확률 또는 백분율 모두 사용. 일반적으로:

  • Power \(= 0.80\) → 80 %
  • Power \(= 0.90\) → 90 %
  • Power \(= 0.99\) → 99 %

5.1 Power 의 4 결정 요인

A-WOO8-0 에서 다뤘지만 다시:

  1. 표본 크기 \(n\) — 클수록 power 큼
  2. 효과 크기 — 클수록 power 큼
  3. 분산 (또는 비율의 분산) — 작을수록 power 큼
  4. 유의 수준 \(\alpha\) — 클수록 power 큼

이 4 가지가 서로 trade-off. 한 가지를 고정하면 나머지 결정 가능.

6 Power 계산 — 단일 평균 사례

6.1 설정

귀무가설:

\[ H_0: \mu = \mu_0 \]

대립가설 (한 측):

\[ H_1: \mu > \mu_0 \]

검정 통계량 (표본 평균):

\[ T = \frac{\bar{X} - \mu_0}{\sigma / \sqrt{n}} \]

(분산 \(\sigma\) 가 알려져 있다고 가정. 모르면 \(s\) 로 대체하고 t 분포 사용.)

6.2 기각 영역

\(\alpha = 0.05\) 한 측에서 \(H_0\) 기각: \(T > z_{1 - \alpha} = 1.6449\).

6.3 Power 의 도출

\(H_1\) 이 참인 경우 (\(\mu = \mu_1\) 가정):

\[ \text{Power} = \Pr(T > 1.6449 \mid \mu = \mu_1) \]

표본 평균은 \(H_1\) 하에서 \(\mu_1\) 중심:

\[ T = \frac{\bar{X} - \mu_0}{\sigma / \sqrt{n}}, \quad \bar{X} \sim N(\mu_1, \sigma^2 / n) \]

이를 \(Z\) 분포로 표준화:

\[ T \sim N\left(\frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}}, 1\right) \]

따라서:

\[ \Pr(T > 1.6449) = \Pr\left(Z > 1.6449 - \frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}}\right) \]

대칭성으로:

\[ \boxed{\text{Power} = \Pr\left(Z < \frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}} - z_{1 - \alpha}\right)} \tag{8.1} \]

이 식이 Power 계산의 기본 공식.

직관 — Power 식의 시각화

식 (8.1) 의 우변을 풀어 본다.

  • \(\frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}}\)표준화된 효과 크기 (effect size in SE units)
  • \(z_{1 - \alpha}\)임계값 (significance threshold)

차이 \(\left(\frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}} - z_{1 - \alpha}\right)\)얼마나 효과가 임계값보다 멀리 있는가.

이 차이가 클수록 power 큼. 차이를 키우는 4 가지 방법:

  1. \(n\) 크게 → \(\sqrt{n}\) 분모 작아짐 → 효과의 표준화 값 큼
  2. \(\sigma\) 작게 → 효과의 표준화 값 큼 (자료가 정밀)
  3. \(\mu_1 - \mu_0\) 크게 → 자명
  4. \(\alpha\) 크게 → 임계값 \(z_{1-\alpha}\) 작음 → 차이 큼

이 4 가지 trade-off 가 power calculation 의 직관.

7 Woodward Ex 8.1 — 콜레스테롤 사례

7.1 문제

“한 발전도상국 남성의 평균 혈청 총 콜레스테롤이 10 년 전 5.5 mmol/L. 최근 서구 식품 수입 증가로 상승했을 가능성. 50 명 표본 조사 계획. 의학적으로 의미 있는 상승은 6.0 mmol/L (즉 0.5 증가). 표준편차 1.4 가정. 6.0 으로 상승 시 검출 확률 은?”

7.2 입력

  • \(\mu_0 = 5.5\) mmol/L (귀무가설)
  • \(\mu_1 = 6.0\) mmol/L (대립가설, 검출하고 싶음)
  • \(\sigma = 1.4\) mmol/L
  • \(n = 50\)
  • \(\alpha = 0.05\) (한 측)
  • \(z_{1 - 0.05} = 1.6449\)

7.3 계산

식 (8.1) 에 대입:

\[ \text{Power} = \Pr\left(Z < \frac{6.0 - 5.5}{1.4 / \sqrt{50}} - 1.6449\right) \]

\[ = \Pr\left(Z < \frac{0.5}{0.198} - 1.6449\right) = \Pr(Z < 2.5254 - 1.6449) \]

\[ = \Pr(Z < 0.8805) \approx 0.8107 \]

따라서 약 81 % 검정력. 6.0 으로 상승했을 때 검출 확률 81 %.

7.4 시각화

표준 정규 곡선 두 개:

H_0 분포: 평균 0, 임계값 = 1.6449 (오른쪽 꼬리 5 %)
H_1 분포: 평균 2.5254, 임계값 = 1.6449

Power = H_1 분포에서 임계값 이상의 면적
      = Φ(2.5254 - 1.6449) = Φ(0.8805) ≈ 0.81

이 시각화가 power 의 본질을 보여준다.

8 \(n\) 의 영향 — 콜레스테롤 사례 변형

같은 효과 크기에서 \(n\) 이 변할 때:

\(n\) \(\frac{\mu_1 - \mu_0}{\sigma/\sqrt{n}}\) Power
25 1.786 \(\Pr(Z < 0.141) \approx 0.56\)
50 2.525 \(\approx 0.81\)
100 3.571 \(\approx 0.97\)
200 5.051 \(\approx 1.00\)

\(n\) 을 두 배로 하면 power 가 극단적으로 증가. 그러나 수확체감\(n = 200\) 에서는 power 이미 ~ 1.

9 \(\alpha\) 의 영향

같은 \(n = 50\), 같은 효과에서 \(\alpha\) 변화:

\(\alpha\) \(z_{1-\alpha}\) Power
0.10 1.282 \(\Pr(Z < 1.243) \approx 0.89\)
0.05 1.645 \(\approx 0.81\)
0.01 2.326 \(\Pr(Z < 0.199) \approx 0.58\)

\(\alpha\) 를 줄이면 power 도 줄어듦. trade-off 명확.

10 표본 크기 산정 — Power 의 역산

Power \(= 1 - \beta\)고정 하고 \(n\) 을 풀면:

식 (8.1) 에서 \(z_{1-\beta}\)power 분위수 로 두면:

\[ z_{1-\beta} = \frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}} - z_{1-\alpha} \]

\(n\) 에 대해 풀면:

\[ \boxed{n = \left(\frac{(z_{1-\alpha} + z_{1-\beta}) \sigma}{\mu_1 - \mu_0}\right)^2} \]

이 공식이 단일 평균 표본 크기 결정 (사례 1).

10.1 콜레스테롤 사례 — Power 0.90 을 위한 \(n\)

\(z_{1 - 0.05} = 1.6449\), \(z_{1 - 0.10} = 1.2816\). (Power 0.90 → \(1 - \beta = 0.90\), \(z_{0.90} = 1.2816\)).

\[ n = \left(\frac{(1.6449 + 1.2816) \cdot 1.4}{0.5}\right)^2 = \left(\frac{2.9265 \cdot 1.4}{0.5}\right)^2 = (8.194)^2 \approx 67 \]

50 명에서 67 명으로 늘려야 power 0.90 달성.

11 양측 vs 한 측 검정

11.1 양측 (\(H_1: \mu \neq \mu_0\))

\(z_{1-\alpha/2}\) 사용 (예: 0.05 양측 → 1.96).

\[ n = \left(\frac{(z_{1-\alpha/2} + z_{1-\beta}) \sigma}{\mu_1 - \mu_0}\right)^2 \]

11.2 한 측 (\(H_1: \mu > \mu_0\) 또는 \(\mu < \mu_0\))

\(z_{1-\alpha}\) 사용 (예: 0.05 한 측 → 1.6449).

11.3 Schulz 의 권고

A-SCH11-2 에서 다룬 Schulz: 한 측 검정으로 표본 절감은 evidence 표준 약화. 권장: 양측 0.05.

12 사후 검정력 — 다시 무용성

연구 종료 후 관측 효과 로 power 재계산:

관측 결과:
  관측 효과 = 0.4 (예상 0.5 보다 작음)
  결과: p = 0.07 (미유의)

사후 power 계산:
  관측 효과 0.4 사용 → power ≈ 0.65

결론?
  "Power 부족이라 효과 못 잡음" — *순환 논리*

A-SCH11-2 와 동일한 비판. 사후 power 는 p 값과 함수. 새 정보 X.

대안: 관측 효과의 95 % CI 보고.

13 코드 예시 — Power 와 \(n\) 산정

import numpy as np
from scipy.stats import norm

# Woodward Ex 8.1 자료
mu0, mu1, sigma = 5.5, 6.0, 1.4
n, alpha = 50, 0.05

# Power 계산 (한 측)
z_alpha = norm.ppf(1 - alpha)
effect_z = (mu1 - mu0) / (sigma / np.sqrt(n))
power = norm.cdf(effect_z - z_alpha)
print(f"Ex 8.1: μ0={mu0}, μ1={mu1}, σ={sigma}, n={n}")
print(f"Power = Φ({effect_z:.4f} - {z_alpha:.4f}) = {power:.4f}")

# n 에 따른 power 곡선
print("\nn 에 따른 power:")
for n in [25, 50, 75, 100, 150, 200]:
    eff_z = (mu1 - mu0) / (sigma / np.sqrt(n))
    p = norm.cdf(eff_z - z_alpha)
    print(f"  n = {n:3d}: power = {p:.4f}")

# Power 0.80 또는 0.90 을 위한 n 산정
def n_for_power(target_power, mu0, mu1, sigma, alpha=0.05, two_sided=False):
    z_a = norm.ppf(1 - alpha/2 if two_sided else 1 - alpha)
    z_b = norm.ppf(target_power)
    return ((z_a + z_b) * sigma / abs(mu1 - mu0))**2

n_80 = n_for_power(0.80, mu0, mu1, sigma)
n_90 = n_for_power(0.90, mu0, mu1, sigma)
n_99 = n_for_power(0.99, mu0, mu1, sigma)
print(f"\nPower 별 필요 n (한 측 α=0.05):")
print(f"  Power 0.80: n = {np.ceil(n_80):.0f}")
print(f"  Power 0.90: n = {np.ceil(n_90):.0f}")
print(f"  Power 0.99: n = {np.ceil(n_99):.0f}")

14 Power Curve 의 시각적 분석

직관 — Power 가 효과 크기의 함수

Power \(1 - \beta\) 와 효과 크기의 관계:

Power
1.0 ┤            __________________
    │         /
0.8 ┤- - - / - - - - - - - - - - -
    │    /
0.5 ┤  /
    │ /
0.0 ┤_/____________________________
       0   δ_min   δ_target   δ

S 곡선 의 의미:

  • \(\delta = 0\): Power = \(\alpha\) (Type I error 만)
  • \(\delta\) 증가: Power 가 \(\alpha\) 에서 1 로 증가
  • \(\delta_{\text{min}}\): Power 0.50 (절반 검출)
  • \(\delta_{\text{target}}\): Power 0.80 (표준)

이 곡선이 MCID 결정의 시각 도구. “이 \(n\) 으로 어떤 효과까지 검출 가능?” 의 답.

14.1 Power Curve 그리기

import numpy as np
from scipy.stats import norm

mu0 = 5.5
sigma = 1.4
n = 50
alpha = 0.05
z_alpha = norm.ppf(1 - alpha)

# 효과 크기 범위
deltas = np.linspace(0, 1.5, 100)
powers = []
for delta in deltas:
    eff_z = delta / (sigma / np.sqrt(n))
    power = norm.cdf(eff_z - z_alpha)
    powers.append(power)

# 출력
print(f"Power Curve (n={n}, σ={sigma}):")
for delta, power in zip(deltas[::20], powers[::20]):
    print(f"  δ={delta:.2f}: power = {power:.3f}")

15 Effect Size 결정의 어려움

15.1 Cohen 의 관습 vs 분야 표준

Cohen 1988 의 관습:

Cohen’s \(d\) 효과
0.2 small
0.5 medium
0.8 large

분야 적용:

  • 심리학: 정확
  • 임상: 작은 효과 (d = 0.2) 도 임상적 의미
  • A/B 테스트: d < 0.05 도 의미 (큰 표본 가정)
  • 교육학: 보통 d > 0.4 가 의미

각 분야의 MCID 가 Cohen 관습과 다를 수 있음.

15.2 Pilot Study 의 효과 추정 함정

직관 — Pilot 효과의 변동

Pilot study (n=30) 효과 추정의 95 % CI 가 매우 넓음.

예: 진짜 효과 d = 0.3 일 때:

  • Pilot 관측 효과: -0.2 ~ +0.8 사이 (변동성 큼)
  • 극단값 인 0.7 을 main effect 가정 시 → main study 부족 검정력

해법: - Pilot 효과의 상한 사용 보수적 - 또는 문헌 효과 우선

16 Sequential Power Analysis

연구 진행 중 적응적 로 검정력 평가.

16.1 Conditional Power

interim 까지 자료 + 가정 효과로 최종 검정력.

def conditional_power(z_obs, info_fraction, target_alpha=0.05):
    """interim 의 conditional power"""
    z_alpha = norm.ppf(1 - target_alpha/2)
    info_remaining = 1 - info_fraction

    # 가정 효과로 최종 z
    z_final_under_h1 = z_obs * np.sqrt(1/info_fraction)  # 정보 비율 보정
    cp = norm.cdf(z_final_under_h1 - z_alpha * np.sqrt(1/info_fraction))
    return cp

16.2 사용 시점

  • Interim 미유의 + low CP → 시험 중단 (무용성)
  • Interim 미유의 + high CP → 진행 (효능 likely)

이 절차가 adaptive 시험 의 핵심 도구.

17 A/B 테스트의 Power Analysis 자동화

import numpy as np
from scipy.stats import norm

def ab_test_sample_size(baseline, mde_relative, alpha=0.05, power=0.80):
    """A/B 테스트 표본 크기 (관계식)"""
    z_a = norm.ppf(1 - alpha/2)
    z_b = norm.ppf(power)

    p_c = baseline
    p_t = baseline * (1 + mde_relative)

    num = (z_a + z_b)**2 * (p_c*(1-p_c) + p_t*(1-p_t))
    n_per = num / (p_t - p_c)**2
    return int(np.ceil(n_per))

# A/B 테스트 시나리오
scenarios = [
    {'baseline': 0.05, 'mde_relative': 0.10},  # 5 % → 5.5 %
    {'baseline': 0.05, 'mde_relative': 0.05},  # 5 % → 5.25 %
    {'baseline': 0.05, 'mde_relative': 0.02},  # 5 % → 5.1 %
    {'baseline': 0.10, 'mde_relative': 0.10},  # 10 % → 11 %
    {'baseline': 0.30, 'mde_relative': 0.05},  # 30 % → 31.5 %
]

for s in scenarios:
    n = ab_test_sample_size(**s)
    print(f"Baseline {s['baseline']*100:.1f} %, "
          f"MDE +{s['mde_relative']*100:.1f} %: n = {n} / 그룹")

이 코드가 A/B 테스트 표본 크기 계산기 의 핵심.

18 후속 — 두 그룹 평균 차이

다음 글 A-WOO8-2 는 두 그룹 평균 차이 의 표본 크기 (사례 2) 를 다룬다. 이는 임상시험·A/B 테스트의 연속 메트릭 비교 에 직접 적용.

19 관련 주제

선행 지식

후속 주제 (Phase A)

  • A-WOO8-2 평균과 평균 차이
  • A-WOO8-3 비율과 상대위험

다른 카테고리 연결

Subscribe

Enjoy this blog? Get notified of new posts by email: