1 도입 — 자료의 한계와 컴퓨팅의 역할
Woodward Ch.14 의 도입 메시지:
“역학 연구의 결과는 가용 자료 와 수학적 접근의 존재 에 의해 한계 지어진다. 이 마지막 장에서 우리는 관측 자료를 사용해 비슷한 조건에서 발견될 수 있었던 자료 를 구성하는 3 가지 접근을 본다. 이 접근은 고전 통계의 수학적 제약에서 자유 롭게 하며, 추론의 범위를 확장 한다.” (Woodward 2014, Ch.14.1)
이 글은 Woodward Ch.14 의 13 sub-section 흐름을 8 편으로 분할한 overview 이다.
2 컴퓨터 집약적 방법의 3 도구
현대 컴퓨팅 능력을 활용해 분포 가정 없이 또는 복잡한 자료 구조 를 다루는 통계 방법.
3 가지 핵심 도구:
- Bootstrap — 추정 에 강한 도구. CI, SE 의 비모수 계산.
- Permutation tests — 가설 검정 에 강한 도구. 분포 가정 없는 p 값.
- Multiple imputation — 결측 자료 처리에 강한 도구.
이 세 도구는 서로 다른 문제 를 해결한다.
2.1 Bootstrap — 추정 (Sections 14.2~14.7)
A-BUI7-* 시리즈에서 다룬 부트스트랩의 역학 시각 정리.
- 어떤 통계량의 CI 도 계산 가능
- 분포 가정 X
- 작은 표본·이상치 에 강건
2.2 Permutation Tests — 가설 검정 (Section 14.8)
- A-MAX2-1 의 randomization 검정의 일반화
- 두 그룹 비교, 회귀 계수, 상관 계수 모두 적용
- 분포 가정 X
2.3 Multiple Imputation — 결측 (Sections 14.9~14.12)
- 결측 자료의 체계적 처리
- 단순 대체 (평균 대체, LOCF) 의 한계 극복
- 결측 메커니즘 (MCAR, MAR, MNAR) 인식 + 적절 처리
3 8 편 분할
A-WOO14-0 (이 글) Overview
A-WOO14-1 Rationale + Bootstrap (Section 14.1, 14.2)
A-WOO14-2 Bootstrap CI 4 유형 (14.3)
A-WOO14-3 실무 이슈 + 추가 사례 (14.4, 14.5)
A-WOO14-4 Bootstrap 가설 검정 + 한계 (14.6, 14.7)
A-WOO14-5 Permutation Tests (14.8)
A-WOO14-6 Missing Values + Naive Imputation (14.9, 14.10)
A-WOO14-7 Multiple Imputation (14.11, 14.12, 14.13)
4 왜 컴퓨터 집약적 방법인가
4.1 전통 방법의 3 한계
- 분포 가정의 한계
전통 t·F 검정과 정규 CI 는 모집단 정규성 또는 표본 평균의 정규 근사 가정. CLT 가 작동하면 안전하지만, 작은 표본 또는 극단적 비대칭 에서 약함.
- 닫힌 공식의 한계
평균, 분산 같은 단순 통계량은 닫힌 SE 공식 존재. 그러나 중앙값, 두 평균의 비율, 두 비대칭 변수의 차이 같은 통계량은 수학적 SE 공식이 복잡하거나 없음.
- 결측의 한계
결측 자료를 제외 하거나 평균 대체 하는 단순 방법이 편향 을 만들 수 있음.
4.2 컴퓨터의 등장
1980 년대 이후 컴퓨팅 발전이 이 한계를 시뮬레이션 으로 우회 가능하게 만들었다.
- Bootstrap: Efron (1979) 가 도입
- Permutation tests: Fisher (1935) 가 개념, 컴퓨팅으로 실용화
- Multiple imputation: Rubin (1987) 이 정식화
이 세 도구가 현대 통계 분석의 표준 이 됨.
1900~1980 년 통계학은 수학적 우아함 을 추구. 닫힌 공식, 정규 가정, 점근 이론.
1980 년 이후 컴퓨터가 폭발적 발전. 수학적으로 복잡한 문제를 시뮬레이션 으로 우회 가능.
이 변화가 통계학의 패러다임 전환 을 만들었다. 이제 어떤 자료, 어떤 통계량 도 컴퓨터로 추론 가능.
A/B 테스트의 빅데이터 분석은 이 변화의 직접 응용. 1 분에 \(10^6\) 개 사용자 자료의 부트스트랩 가능. 분석 도구가 자료를 따라가는 것이 아니라, 자료가 분석 도구를 따라간다.
5 3 도구의 비교
| 도구 | 목적 | 자료 처리 | 가정 |
|---|---|---|---|
| Bootstrap | 추정 (CI, SE) | 자료 복원 추출 | 표본의 모집단 대표성 |
| Permutation | 가설 검정 | 라벨 재배치 | 무작위 배정 |
| Multiple Imputation | 결측 처리 | 결측 자료 모형 시뮬레이션 | MAR (보통) |
각 도구는 다른 통계 문제 를 해결. 함께 사용도 가능.
6 통합 시각 — 같은 자료, 다른 도구
A/B 테스트 자료에 3 도구 모두 적용:
1. Permutation test
→ 두 변형의 매출 차이가 우연인가? p 값 계산
→ 결과: p = 0.012 → 효과 유의
2. Bootstrap
→ 효과 크기의 95 % CI = ($3.20, $7.80)
→ 의사결정에 신뢰 구간 정보
3. Multiple imputation
→ 일부 사용자 매출 결측 (5 %) → MI 로 대체
→ 결측 처리 후 결과의 robustness 확인
이 통합 분석 이 현대 표준.
7 Bootstrap 의 역학 응용
7.1 사례 1 — 비대칭 자료의 평균
혈액 트리글리세라이드 분포가 극단적 우편향. 표본 평균의 CI 를 t 검정으로 계산하면 부정확. 부트스트랩이 더 robust.
7.2 사례 2 — 두 비대칭 분포의 차이
처치군 vs 대조군의 중앙값 차이 CI. 전통 공식 X. 부트스트랩이 표준.
7.3 사례 3 — 비표준 위험 지표
NNT (Number Needed to Treat) 의 CI. 비율의 비율이라 전통 공식 복잡. 부트스트랩 사용.
8 Permutation Tests 의 역학 응용
8.1 사례 1 — 작은 표본 RCT
\(n = 20\) 의 작은 시험에서 t 검정의 정규 가정 의심. Permutation 으로 정확 p 값.
8.2 사례 2 — 비모수 회귀 계수 검정
회귀 계수의 p 값 을 분포 가정 없이 계산. 잔차가 비정규일 때 유용.
8.3 사례 3 — Genome-wide Association
수백만 SNP 의 동시 검정에서 permutation 이 영가설 분포 를 자료에서 직접 추정.
9 Multiple Imputation 의 역학 응용
9.1 사례 1 — 코호트 추적 결측
장기 코호트에서 일부 변수의 결측 (예: BMI 측정 누락). MI 로 체계적 처리.
9.2 사례 2 — Survey 결측
대규모 조사 (NHANES 등) 에서 결측 항목 처리. MI 가 표준.
9.3 사례 3 — 임상시험 drop-out
ITT 분석에서 결측 outcome 처리. MI 가 LOCF 보다 정확.
10 A/B 테스트의 통합 응용
10.1 시나리오 — 매출 효과 분석
A/B 테스트 자료:
- \(n = 5000\) 사용자 (그룹당)
- 매출 분포 우편향
- 일부 사용자의 추가 정보 결측
분석 절차:
- Multiple Imputation — 결측 사용자 정보 (예: tenure) 대체
- Bootstrap — 효과 크기 + CI 계산
- Permutation Test — 효과의 우연 가능성 검정
- Robustness Check — 전통 t 검정과 비교
import numpy as np
import pandas as pd
# 가상 자료
np.random.seed(42)
n_per = 5000
control = np.random.lognormal(4, 1.0, n_per)
treatment = np.random.lognormal(4.05, 1.0, n_per)
# 1. Bootstrap 효과 크기 CI
B = 5000
diff_boot = []
for _ in range(B):
c_b = np.random.choice(control, n_per, replace=True)
t_b = np.random.choice(treatment, n_per, replace=True)
diff_boot.append(t_b.mean() - c_b.mean())
ci = np.percentile(diff_boot, [2.5, 97.5])
print(f"Bootstrap 평균 차이 95 % CI: (${ci[0]:.2f}, ${ci[1]:.2f})")
# 2. Permutation test
obs_diff = treatment.mean() - control.mean()
combined = np.concatenate([control, treatment])
perm_diffs = []
for _ in range(B):
np.random.shuffle(combined)
perm_diffs.append(combined[:n_per].mean() - combined[n_per:].mean())
p_perm = np.mean(np.abs(perm_diffs) >= np.abs(obs_diff))
print(f"Permutation p = {p_perm:.4f}")
# 3. 전통 t 검정 (비교)
from scipy.stats import ttest_ind
t_stat, p_t = ttest_ind(treatment, control, equal_var=False)
print(f"Welch t: t = {t_stat:.3f}, p = {p_t:.4f}")
# 결과 비교 — 일관 여부
print("\n결과 robustness:")
print(f" 부트스트랩 CI 가 0 포함? {ci[0] < 0 < ci[1]}")
print(f" Permutation p < 0.05? {p_perm < 0.05}")
print(f" Welch t p < 0.05? {p_t < 0.05}")이 통합 분석이 현대 A/B 테스트의 표준.
11 Woodward 의 권장
“컴퓨터 집약적 방법은 분포 가정의 한계를 우회하고 자료 활용을 극대화. 작은 표본, 비대칭 자료, 복잡 통계량, 결측 자료 — 모두 다룰 수 있다.”
11.1 4 권장 시나리오
- 자료가 비대칭 → Bootstrap CI
- 표본이 작음 (\(n < 30\)) → Permutation 검정
- 비표준 통계량 (중앙값, AUC, NNT) → Bootstrap
- 결측 자료 → Multiple Imputation
12 A-BUI7-* 와의 차이
A-BUI7-* (Buisson) 는 비즈니스 행동 자료 시각. A-WOO14-* (Woodward) 는 역학 자료 시각.
| 측면 | Buisson Ch.7 | Woodward Ch.14 |
|---|---|---|
| 자료 유형 | 비즈니스, 행동 | 역학, 임상 |
| 사례 | 매출, 클릭, 사용자 | 콜레스테롤, 코호트, 임상시험 |
| 강조 | 적용해서 잃을 게 없다 | 분포 가정의 한계 극복 |
| 결측 처리 | 부분적 | 자세함 (MI 포함) |
두 시각이 상호 보완. Buisson 은 행동 분석, Woodward 는 결측 처리 추가.
13 컴퓨터 집약적 방법의 추가 도구
3 핵심 도구 외에도 현대 통계 분석에서 흔한 컴퓨터 집약적 방법:
13.1 MCMC (Markov Chain Monte Carlo)
베이즈 사후 분포의 시뮬레이션. 베이즈 분석의 핵심 도구.
- Metropolis-Hastings algorithm (1970)
- Gibbs sampling (1984)
- Hamiltonian Monte Carlo (Stan, 2010s)
베이즈 분석이 복잡 모형 (계층 모형, 비선형 모형) 에서 작동 가능.
13.2 Cross-Validation
머신러닝 모형 평가의 표준. K-fold CV, LOOCV, repeated CV.
부트스트랩과 비슷하지만 예측 성능 평가에 특화.
13.3 EM Algorithm (Expectation-Maximization)
결측 자료 또는 잠재 변수 모형의 최대가능도 추정.
- E-step: 결측 또는 잠재 변수의 기대값
- M-step: 모수 최대화
- 수렴까지 반복
Multiple Imputation 에서도 사용.
13.4 Variational Inference
베이즈 사후 분포의 근사 분석. MCMC 보다 빠름.
13.5 Genetic Algorithms / Simulated Annealing
복잡 최적화 문제에 사용. 통계학에서는 모형 선택 등.
이 도구들이 현대 통계 + 머신러닝 의 핵심 인프라.
14 컴퓨터 집약적 방법의 학습 순서
초급: Bootstrap (CI), Permutation (검정)
중급: Multiple Imputation (결측), Cross-validation (평가)
고급: MCMC (베이즈), EM (잠재변수), Variational
전문: Sequential Monte Carlo, ABC, GANs
각 단계가 이전 단계의 수학적 정당성 위에서 발전.
15 A/B 테스트의 통합 분석 사례
A/B 테스트의 매출 분석에서 3 도구 통합 이 어떻게 robust 한 결론을 만드는가?
1. 결측 처리 (MI)
- 5 % 사용자의 추가 정보 결측 (예: tenure)
- 5 imputed dataset 생성
2. 효과 검정 (Permutation)
- 각 imputed dataset 에서 permutation p 값
- 5 개 p 값의 통합 (Rubin 의 결합 규칙)
3. 효과 크기 추정 (Bootstrap)
- 각 imputed dataset 에서 BCa CI
- 5 개 CI 의 통합 (Rubin 의 결합 규칙)
결과:
통합 p = 0.012 (검정의 robustness)
통합 95 % CI: ($3.20, $7.80) (효과의 정밀도)
결측 영향: 결측 무시 결과와 일관 (robustness)
이 통합 분석이 현대 A/B 테스트 의 표준. 개별 도구가 다른 측면을 다루며 서로 보완.
16 분야별 채택 현황
| 분야 | Bootstrap | Permutation | MI |
|---|---|---|---|
| 임상시험 | 표준 | 가끔 | 표준 |
| 역학 | 표준 | 표준 | 표준 |
| 심리학 | 표준 | 표준 | 표준 |
| 경제학 | 표준 (regression) | 가끔 | 가끔 |
| 머신러닝 | 표준 (cv 변형) | 가끔 | 드물 |
| 빅데이터 분석 | BLB (큰 자료 변형) | 가끔 | 가끔 |
| GWAS | 가끔 | 표준 | 가끔 |
각 분야의 전형적 자료 + 문제 가 도구 채택을 결정.
17 컴퓨팅 자원과 부트스트랩
17.1 큰 자료에서의 효율화
17.2 Big Data 변형
매우 큰 자료 (\(n = 10^9\)):
- Bag of Little Bootstraps (BLB): 자료 청크 분할 + 각 청크 부트스트랩
- Subagging: 무작위 부분 표본 + 통계량 합산
- m-out-of-n bootstrap: 더 작은 표본 크기 부트스트랩
# BLB 의 단순 구현
def blb(data, m, n_boot=100, n_subsamples=50):
n = len(data)
results = []
for _ in range(n_subsamples):
# 작은 청크 (m 개) 추출
subsample = np.random.choice(data, m, replace=False)
# 청크에서 부트스트랩 (n 크기)
boot_means = [np.random.choice(subsample, n, replace=True).mean()
for _ in range(n_boot)]
results.extend(boot_means)
return results이 변형이 클라우드 컴퓨팅 에서 효율적.
18 후속 — 각 도구 자세히
8 편의 분할 글:
- A-WOO14-1 — Rationale + Bootstrap 도입
- A-WOO14-2 — Bootstrap CI 4 유형
- A-WOO14-3 — Bootstrap 실무 이슈
- A-WOO14-4 — Bootstrap 가설 검정 + 한계
- A-WOO14-5 — Permutation Tests
- A-WOO14-6 — Missing Values + Naive Imputation
- A-WOO14-7 — Multiple Imputation
19 관련 주제
선행 지식
후속 주제 (Phase A)
- A-WOO14-1 ~ 7 (자세히)
다른 카테고리 연결