1 도입 — 단순 무작위 표집이 부족한 경우
지금까지 (A-WOO8-1 ~ 4) 모든 공식은 단순 무작위 표집 가정. 그러나 실무에서는:
- Cluster sampling — 그룹 단위 (학교, 병원, 지역) 로 처치
- Stratified sampling — 사전 분류 후 각 층에서 추출
- Multistage sampling — 위 두 가지 결합
이 복잡 설계 의 표본 크기는 단순 공식 + 보정 계수 형태.
2 Cluster Sampling
개인이 아닌 그룹 (cluster) 단위로 처치 배정. 클러스터 내 개인은 공통 처치.
예시:
- 학교 단위 (학교 A → 새 교습법, 학교 B → 표준)
- 병원 단위 (병원 A → 새 프로토콜)
- 지역 단위 (지역 A → 정책 시행)
- A/B 테스트의 지점 단위 (가게 1 → 변형 A)
2.1 왜 Cluster 가 필요한가
- Spillover 효과 회피 (개인 단위 시 처치 사이 영향)
- 행정적 편의 (학교 단위 처치가 간편)
- 현실적 제약 (지역 단위 정책)
2.2 Design Effect (DEFF)
Cluster 설계가 단순 무작위에 비해 분산이 얼마나 증가 하는지의 비율.
\[ \text{DEFF} = 1 + (m - 1) \cdot \text{ICC} \]
여기서:
- \(m\): 클러스터 평균 크기
- ICC: Intraclass Correlation Coefficient (클러스터 내 상관)
2.3 ICC 의 의미
클러스터 내 개인의 outcome 유사성. 0 ~ 1 사이 값.
\[ \text{ICC} = \frac{\sigma_{\text{between cluster}}^2}{\sigma_{\text{between cluster}}^2 + \sigma_{\text{within cluster}}^2} \]
- ICC = 0: 클러스터 효과 없음 (단순 무작위와 동등)
- ICC = 1: 클러스터 내 완전 동일 (1 클러스터 = 1 관측)
2.4 Cluster 표본 크기
단순 표본 크기 \(n_{\text{simple}}\) 에 DEFF 곱:
\[ n_{\text{cluster}} = n_{\text{simple}} \cdot \text{DEFF} = n_{\text{simple}} \cdot [1 + (m - 1) \cdot \text{ICC}] \]
2.5 사례
학교 단위 교습법 시험. ICC = 0.10 (보통의 ICC), 학교당 평균 30 명 (\(m = 30\)). 단순 표본 \(n_{\text{simple}} = 200\) 필요.
\[ \text{DEFF} = 1 + (30 - 1) \cdot 0.10 = 1 + 2.9 = 3.9 \]
\[ n_{\text{cluster}} = 200 \cdot 3.9 = 780 \]
단순 표본 200 명 대신 780 명 필요. 4 배 가까이 큼.
학교 단위 처치에서, 같은 학교 학생들은 같은 교사, 같은 환경. 학생 점수가 서로 비슷. 따라서 30 명 학생이 사실상 30 개 독립 관측이 아님 — 유효 정보량이 적음.
ICC = 0.10 의 의미: 클러스터 내 학생들이 10 % 의 분산 을 공유. 이는 단순 무작위 표본에서 30 명이 갖는 정보를 훨씬 적은 정보로 만든다.
A/B 테스트 비유: 한 사용자의 여러 노출 사건 을 독립 관측으로 처리하면, ICC > 0 이라 분산 추정이 부정확. 따라서 사용자 단위 집계 후 분석이 표준.
2.6 ICC 의 추정
ICC 는 이전 자료 또는 Pilot study 에서 추정. 일반적인 값:
| 분야 | 일반적 ICC |
|---|---|
| 학교 (학업 성취) | 0.10 ~ 0.20 |
| 병원 (의료 결과) | 0.05 ~ 0.15 |
| 지역 (행동) | 0.01 ~ 0.10 |
| 의원 (혈압) | 0.03 ~ 0.07 |
큰 ICC 는 더 큰 DEFF. 따라서 cluster 설계의 비효율성 정량화.
3 Stratified Sampling
모집단을 동질적 층 (strata) 으로 나누고, 각 층에서 무작위 표본 추출.
예시:
- 연령 층 (20~30, 30~40, 40+)
- 성별 층 (남/여)
- 지역 층 (도시/농촌)
3.1 효율성
Cluster 와 반대로, stratified 는 단순 무작위보다 효율적 (분산 감소).
분산 감소 정도:
\[ \sigma^2_{\text{stratified}} = \sum_h W_h \sigma_h^2 \leq \sigma^2_{\text{simple}} \]
여기서 \(W_h\) 는 층 \(h\) 의 비율, \(\sigma_h\) 는 층 \(h\) 내 분산.
3.2 Stratified 표본 크기
단순 표본보다 적은 표본 으로 같은 검정력 달성. 일반적으로 5~30 % 절감.
3.3 사용 시점
- 모집단이 명확히 구분된 층 으로 나뉨
- 층 사이 차이 가 층 내 차이 보다 큼
- A/B 테스트의 세그먼트별 균등 배정
A/B 테스트 사례: 신규 사용자 vs 기존 사용자가 매우 다른 outcome. 무작위 배정이 우연히 신규 비율 차이 를 만들 수 있음.
Stratified 배정: 신규 50 %·기존 50 % 로 각 그룹에서 균등하게 배정. 이렇게 하면 baseline 차이 가 처리 효과와 혼동되지 않음.
검정 시 stratified 분산 추정 사용 → 단순 t 검정보다 작은 분산 → 같은 효과 검출에 적은 표본 필요.
이것이 layered randomization 또는 blocked design 의 통계적 정당성.
4 Multistage Sampling
여러 단계로 표집:
1 단계: 지역 무작위 추출 (cluster)
2 단계: 각 지역 내 학교 추출
3 단계: 각 학교 내 학급 추출
4 단계: 각 학급 내 학생 추출
각 단계의 DEFF 누적. 표본 크기 산정 매우 복잡, 시뮬레이션 권장.
5 A/B 테스트의 Cluster 매핑
| 임상 클러스터 | A/B 테스트 클러스터 |
|---|---|
| 학교 | 지점·매장 |
| 병원 | 부서·팀 |
| 지역 | 도시·국가 |
| 환자 (반복 측정) | 사용자 (반복 노출) |
A/B 테스트의 반복 노출 사용자 자료는 cluster 의 한 형태. 사용자 단위 집계 또는 cluster-robust SE 사용.
6 Woodward Ch.8.9 — 결론
6.1 표본 크기 산정의 종합 권고
- 사전 산정 필수 — Sample Size Samba 회피
- 4 요소 모두 명시 — α, power, effect size, 분산
- 자료 구조 고려 — 단순 vs cluster vs stratified
- Sensitivity analysis — 가정 변화에 따른 \(n\)
- 사후 검정력 분석 회피 — 무용함
- CI 우선 보고 — 효과 크기 + CI 동시 보고
- CONSORT 또는 STROBE 보고 표준 준수
6.2 흔한 실수
| 실수 | 회피 |
|---|---|
| 사후 산정 (Samba) | 사전 등록 |
| 한 측 검정으로 표본 절감 | 양측 또는 한 측 0.025 |
| Pilot 효과를 main 효과로 | 별도 입력 |
| Cluster 무시 | DEFF 적용 |
| 중도 탈락 무시 | 10~20 % 추가 모집 |
7 코드 예시 — 종합
import numpy as np
from scipy.stats import norm
# 단순 표본 크기 (참고용)
def n_simple(p1, p2, alpha=0.05, power=0.80):
z_a = norm.ppf(1 - alpha/2)
z_b = norm.ppf(power)
num = (z_a + z_b)**2 * (p1*(1-p1) + p2*(1-p2))
return num / (p1 - p2)**2
# Cluster 보정
def deff(icc, m):
"""Design Effect"""
return 1 + (m - 1) * icc
def n_cluster(n_simp, icc, m_per_cluster):
"""Cluster 표본 크기"""
de = deff(icc, m_per_cluster)
return n_simp * de
# 사례 — 새 교습법
p1, p2 = 0.40, 0.30 # 학습 성공률
n_s = n_simple(p1, p2)
print(f"단순 표본: n_per = {np.ceil(n_s):.0f}")
# 학교 단위 cluster
print("\n학교 단위 cluster:")
for m in [20, 30, 50, 100]:
for icc in [0.05, 0.10, 0.20]:
de = deff(icc, m)
n_c = n_cluster(n_s, icc, m)
n_clusters = np.ceil(n_c / m)
print(f" 학교 크기 {m}, ICC {icc:.2f}: DEFF={de:.2f}, n_total={np.ceil(n_c):.0f}, n_clusters={n_clusters:.0f}")
# Drop-out 보정
def n_with_dropout(n_target, dropout_rate):
return n_target / (1 - dropout_rate)
print("\nDrop-out 보정:")
for d in [0.05, 0.10, 0.20, 0.30]:
n_d = n_with_dropout(682, d)
print(f" Drop-out {d:.2f}: 모집 필요 = {np.ceil(n_d):.0f}")8 표본 크기 산정 — 최종 체크리스트
□ 연구 설계 결정 (cohort, case-control, RCT, A/B test)
□ Outcome 유형 (연속, 이진, 시간-사건)
□ Effect size 결정 (MCID, 비즈니스 의미)
□ α 와 power 결정 (관습 또는 분야)
□ 분산 또는 비율 추정 (이전 자료, pilot)
□ 적절한 공식 선택
□ 자료 구조 보정 (DEFF if cluster, stratified if applicable)
□ Drop-out 보정 (모집 표본 = n / (1 - dropout))
□ Sensitivity analysis
□ 사전 등록 (프로토콜 + 분석 계획)
이 체크리스트가 Woodward Ch.8 의 종합 권고.
9 Cluster Randomization 의 자세한 변형
9.1 Stepped Wedge Design
모든 클러스터가 시간에 따라 순차적 으로 처치 받음. 각 클러스터가 자신의 대조 역할.
시점: 1 2 3 4 5
Cluster A: C T T T T
Cluster B: C C T T T
Cluster C: C C C T T
Cluster D: C C C C T
장점: - 모든 클러스터가 결국 처치 받음 (윤리적) - 클러스터 내 비교 + 간 비교
9.2 Cluster Randomized Crossover
각 클러스터가 시간에 따라 두 처치 모두 경험. 카리오버 효과 주의.
9.3 표본 크기 산정의 변형
- CV (Coefficient of Variation) 사용: ICC 대신 클러스터 간 CV
- Variance Inflation Factor (VIF): DEFF 의 일반화
10 Stratified 와 Block Randomization
10.1 Block Randomization
작은 블록 (예: 4 명) 내에서 균형 보장. 시점 효과 통제.
블록 1: T C T C
블록 2: C T C T
...
각 블록이 균등 비율 → 시간에 따른 imbalance 회피.
10.2 Permuted Block
블록 크기를 무작위 변동. 예측 어려움 (해독 위험 감소).
10.3 Stratified Block
층 + 블록 결합. 각 층 내에서 블록 무작위 배정.
11 Adaptive Randomization
처치 효과에 따라 배정 비율 동적 변경. 효과 좋은 그룹에 더 많이 배정.
장점: - 윤리적 (효과 우수 처치를 더 많이 환자에게) - Multi-arm 시험에 적합
단점: - 통계 복잡 (α 보정 필요) - 사전 등록 필수
이 절차가 MAB (Multi-Armed Bandit) 의 임상 응용. Phase I 시리즈 참조.
12 Survey Weighting
조사 자료에서 각 응답자에 가중치 부여 (모집단 대표성).
가중치 종류: - Sampling weight: 표집 확률의 역수 - Non-response weight: 무응답 보정 - Post-stratification weight: 모집단 비율 일치
표본 크기 산정의 영향:
\[ n_{\text{effective}} = \frac{(\sum w_i)^2}{\sum w_i^2} \]
가중치 변동이 유효 표본 크기 감소.
13 Mixed Designs
A/B 테스트 + 사용자 segment + 시간:
설계: A/B 테스트 (variant)
× Segment (신규/기존)
× Time (요일)
이 3 차원 분석에서 표본 크기는 최소 셀의 크기 가 결정.
14 CONSORT-Cluster 권고
CONSORT extension for cluster trials:
- 클러스터 단위 명시
- ICC 사전 추정 + 사후 보고
- 클러스터 수 + 클러스터당 평균 크기
- Stepped wedge 등 변형 명시
- Cluster-level vs individual-level 분석
15 표본 크기 산정 - 권장 도구
| 도구 | 강점 | 가격 |
|---|---|---|
| G*Power | 광범위, 무료 | Free |
| PASS | 가장 포괄적 | 유료 |
| nQuery | 임상시험 특화 | 유료 |
R pwr 패키지 |
단순, 학술 표준 | Free |
R clusterPower |
Cluster 특화 | Free |
Python statsmodels |
자동화, 시뮬레이션 | Free |
| Optimizely Calculator | A/B 테스트 특화 | Free (UI) |
각 도구의 적합 시나리오 가 다름.
16 Phase A 의 다음 — Bootstrap
WOO Ch.8 시리즈가 고전적 모수 표본 크기를 다뤘다. 다음 시리즈 (A-BUI7-, A-WOO14-) 는 부트스트랩 과 순열 검정 같은 컴퓨터 집약 방법 을 다룬다. 분포 가정 약화로 가정 위반에 강건.
17 WOO Ch.8 마무리
역학 표본 크기 결정의 핵심 원칙:
- 사전 산정 — 모든 연구의 의무
- 4 요소 — α, power, effect, 분산
- 자료 구조 — cluster, stratified 보정
- Sensitivity — 가정 변화 영향
- CI 우선 보고 — 효과 크기 + CI
이 원칙이 임상시험·역학·A/B 테스트 모두에 일관되게 적용.
18 관련 주제
선행 지식
후속 주제 (Phase A)
- A-BUI7-* (Bootstrap)
- A-WOO14-* (Computer-intensive methods)
다른 카테고리 연결
- 표본 크기 계산
- Mixed model — Cluster 분석
- LDA 분석 — Cluster 자료