1 Inverse Variance Weighting — 통합의 표준
각 연구 \(i\) 의 효과 추정 \(\hat\theta_i\), 분산 \(v_i\). Pooled estimate:
\[\hat\theta_{\text{pooled}} = \frac{\sum_i w_i \hat\theta_i}{\sum_i w_i}, \quad w_i = 1/v_i\]
Variance: \[\text{Var}(\hat\theta_{\text{pooled}}) = \frac{1}{\sum_i w_i}\]
95% CI: \[\hat\theta_{\text{pooled}} \pm 1.96 \sqrt{\text{Var}(\hat\theta_{\text{pooled}})}\]
(Woodward, 2014, Ch.12.3.1).
1.1 직관 — 정밀도 가중의 효율
- 추상 정의: 정밀한 (작은 분산) 연구의 가중치 ↑. Optimal estimator under known variances (Gauss-Markov).
- 일상어 비유: 여러 측정 도구의 평균 — 정밀한 도구의 가중치 ↑. 각 도구의 정밀도가 곧 가중치.
- 반사실 시나리오: 단순 평균은 정밀도 무시 → 비효율. IV 가중이 정보량 비례 가중.
효율성 증명: \(w_i = 1/v_i\) 가 minimum-variance unbiased linear combination 의 가중.
2 Fixed Effects (FE) Model
가정 — 모든 연구의 진성 효과가 동일 (\(\theta_i = \theta\)).
\[\hat\theta_i = \theta + \epsilon_i, \quad \epsilon_i \sim N(0, v_i)\]
Pooled estimate (IV): \[\hat\theta_{\text{FE}} = \frac{\sum_i w_i \hat\theta_i}{\sum_i w_i}, \quad w_i = 1/v_i\]
2.1 FE 의 가정 검토
가설: 흡연-폐암의 RR 가 모든 인구에서 동일.
진성 가능성: - 인구 (서양 vs 동양) 의 baseline 위험 차이. - 흡연 패턴 (개비/일, 기간) 의 분포 차이. - 다른 confounder 의 분포 차이.
→ 진성 효과 \(\theta_i\) 가 연구마다 다를 수 있음.
3 단계 직관:
- 추상 정의: \(\theta_i = \theta\) 강한 가정. 작은 변동도 가정 위반.
- 일상어 비유: 같은 약이 모든 환자 그룹에 동일 효과 — 비현실적.
- 반사실 시나리오: FE 충족 시 효율 ↑. 위반 시 CI underestimate (너무 narrow).
3 Random Effects (RE) Model
가정 — 진성 효과가 연구마다 다름 (\(\theta_i\) 가 분포에서 추출).
\[\hat\theta_i = \theta_i + \epsilon_i, \quad \theta_i \sim N(\mu, \tau^2), \quad \epsilon_i \sim N(0, v_i)\]
Marginal: \[\hat\theta_i \sim N(\mu, v_i + \tau^2)\]
Pooled estimate (IV with \(\tau^2\)): \[\hat\mu_{\text{RE}} = \frac{\sum_i w_i^* \hat\theta_i}{\sum_i w_i^*}, \quad w_i^* = \frac{1}{v_i + \hat\tau^2}\]
3.1 직관 — 분산의 두 source
- 추상 정의: \(v_i\) 가 within-study (sampling) 분산, \(\tau^2\) 가 between-study (heterogeneity) 분산.
- 일상어 비유: 학생 점수의 두 분산 — 한 학생의 시험별 변동 (within) + 학생 간 평균 점수 차이 (between).
- 반사실 시나리오: \(\tau^2 = 0\) 면 RE = FE. \(\tau^2 > 0\) 면 between-study 분산 추가 → 평탄화 가중.
\(\hat\tau^2\) 추정: DerSimonian-Laird (DL), REML, Paule-Mandel.
3.2 DerSimonian-Laird (DL) 추정
\[\hat\tau^2_{\text{DL}} = \max\left(0, \frac{Q - (k-1)}{\sum w_i - \sum w_i^2 / \sum w_i}\right)\]
여기서 \(Q = \sum w_i (\hat\theta_i - \hat\theta_{\text{FE}})^2\) — Cochran’s Q.
- 추상 정의: Cochran’s Q 가 sampling error 만 가정 시 평균 \(k-1\). 초과 분이 \(\tau^2\) 시사.
- 일상어 비유: 측정 분산이 예상보다 크면 추가 source (between-study) 의심.
- 반사실 시나리오: DL 이 보수적 (작은 표본에서 \(\tau^2\) 과소 추정 가능). REML 이 더 robust.
3.3 REML 의 우월성
Restricted Maximum Likelihood. Likelihood 의 marginal 부분을 최대화.
장점: - 작은 표본에서 unbiased. - 일반 MLE 보다 robust. - 표준 software 제공 (R metafor, Stata metan).
단점: - 계산 부담 (DL 보다). - 폐쇄형 해 없음.
3.4 Hartung-Knapp 보정
DL/REML 의 SE 가 작은 표본 (적은 연구) 에서 underestimate. → CI 너무 narrow.
Hartung-Knapp (HK) 보정:
\[\text{SE}_{\text{HK}} = \sqrt{\frac{\sum w_i^* (\hat\theta_i - \hat\mu)^2}{(k-1) \sum w_i^*}}\]
효과: SE ↑, CI ↑ — 보수적 결과.
Cochrane 권장 (2019+): Hartung-Knapp 사용.
3 단계 직관:
- 추상 정의: 작은 \(k\) 에서 \(\hat\tau^2\) 의 noise 가 SE 에 반영 안 됨. HK 가 이 noise 보정.
- 일상어 비유: 5 회 측정 평균의 SE 가 작아 보임 — HK 가 추가 보정.
- 반사실 시나리오: HK 없이 reporting 하면 false positive ↑. Cochrane 의 표준 권장.
4 FE vs RE 선택
| 조건 | 권장 |
|---|---|
| I² < 25% + 같은 PICOS | FE |
| I² 25~75% | RE |
| I² > 75% | 분리 분석 또는 narrative |
| 적은 연구 (< 5) | RE + HK |
4.1 Cochrane 의 디폴트
- 추상 정의: 진성 heterogeneity 의 가능성 → RE 가 더 conservative + general.
- 일상어 비유: 보험의 기본 옵션 — 안전 우선.
- 반사실 시나리오: FE 가 더 narrow CI 이지만 가정 위반 시 잘못된 자신감. RE 의 wide CI 가 정직.
5 Forest Plot — 시각화
각 연구의 효과 + CI + 가중치를 시각화.
Study 1 ──■── (RR 1.5, 95% CI 1.2-1.9) weight 15%
Study 2 ─■── (RR 1.3, 95% CI 1.0-1.6) weight 12%
Study 3 ──■── (RR 1.8, 95% CI 1.4-2.3) weight 18%
...
Pooled ──◆── (RR 1.6, 95% CI 1.4-1.8) RE
- 추상 정의: 각 연구의 효과 + 정밀도 + 통합 결과를 한 그림에.
- 일상어 비유: 여러 평론가의 영화 평가 + 평균 평가의 한 표.
- 반사실 시나리오: Pooled 의 다이아몬드가 진성 효과의 best estimate. 연구 간 변동이 heterogeneity 시사.
6 사례 — Sodium-BP 의 RE Meta
가설: Sodium 감소 100 mmol/d → 수축기 BP 변화.
| 연구 | \(\hat\theta_i\) | \(\text{SE}_i\) | \(w_i^*\) (RE) |
|---|---|---|---|
| Trial 1 | -3.5 | 0.8 | 1.2 |
| Trial 2 | -5.2 | 1.2 | 0.6 |
| Trial 3 | -4.8 | 0.5 | 2.5 |
| … | … | … | … |
Heterogeneity: \(I^2 = 65\%\) → RE.
Pooled: \(\hat\mu_{\text{RE}} = -4.2\) mmHg (95% CI: -5.5, -3.0, HK 보정).
해석: Sodium 100 mmol 감소가 평균 4.2 mmHg ↓. 인구 변동성 (\(\tau^2\)) 으로 일부 인구는 더 큰 효과.
3 단계 직관:
- 추상 정의: 28 연구의 가중 평균 + heterogeneity 보정 → 평균 효과 + CI.
- 일상어 비유: 다양한 매장의 평균 매출 변화 + 매장별 변동.
- 반사실 시나리오: FE 만 사용 시 CI 너무 narrow. RE + HK 가 정직.
7 코드 예시 — Meta-analysis
import numpy as np
import pandas as pd
import statsmodels.api as sm
# 가상 자료
studies = pd.DataFrame({
"study": ["S1", "S2", "S3", "S4", "S5"],
"theta": [0.4, 0.6, 0.5, 0.3, 0.7], # log RR
"se": [0.15, 0.20, 0.10, 0.25, 0.18],
})
studies["v"] = studies["se"] ** 2
studies["w_FE"] = 1 / studies["v"]
# FE
theta_FE = (studies["w_FE"] * studies["theta"]).sum() / studies["w_FE"].sum()
SE_FE = np.sqrt(1 / studies["w_FE"].sum())
print(f"FE: theta = {theta_FE:.3f}, SE = {SE_FE:.3f}, CI = ({theta_FE - 1.96*SE_FE:.3f}, {theta_FE + 1.96*SE_FE:.3f})")
# Heterogeneity
Q = (studies["w_FE"] * (studies["theta"] - theta_FE)**2).sum()
k = len(studies)
print(f"Q = {Q:.2f}, df = {k-1}")
I2 = max(0, (Q - (k-1)) / Q) if Q > 0 else 0
print(f"I² = {I2*100:.1f}%")
# DL tau²
tau2_DL = max(0, (Q - (k-1)) / (studies["w_FE"].sum() - (studies["w_FE"]**2).sum() / studies["w_FE"].sum()))
print(f"τ² (DL) = {tau2_DL:.4f}")
# RE
studies["w_RE"] = 1 / (studies["v"] + tau2_DL)
theta_RE = (studies["w_RE"] * studies["theta"]).sum() / studies["w_RE"].sum()
SE_RE = np.sqrt(1 / studies["w_RE"].sum())
print(f"\nRE: theta = {theta_RE:.3f}, SE = {SE_RE:.3f}, CI = ({theta_RE - 1.96*SE_RE:.3f}, {theta_RE + 1.96*SE_RE:.3f})")
# Hartung-Knapp 보정
SE_HK = np.sqrt(((studies["w_RE"] * (studies["theta"] - theta_RE)**2).sum()) / ((k-1) * studies["w_RE"].sum()))
print(f"\nHK-corrected SE: {SE_HK:.3f}, CI = ({theta_RE - 1.96*SE_HK:.3f}, {theta_RE + 1.96*SE_HK:.3f})")해석: FE 와 RE 의 결과 비교. RE 가 더 wide CI. HK 보정으로 더 conservative.
8 A/B 테스트의 다중 시험 통합
A/B 테스트 — 같은 기능의 4 회 다른 분기 시험.
| 분기 | Lift (%) | SE |
|---|---|---|
| Q1 | 3.2 | 0.8 |
| Q2 | 4.1 | 0.9 |
| Q3 | 2.8 | 0.7 |
| Q4 | 3.5 | 0.6 |
I² 작 → FE.
Pooled: \(\hat\mu = 3.4\)%, CI = (2.7%, 4.1%).
3 단계 직관:
- 추상 정의: 다중 시험의 평균 + 변동 → robust lift 추정.
- 일상어 비유: 1 회 결과의 noise vs 4 회 평균.
- 반사실 시나리오: 단일 분기 결과만 보면 noise. 통합이 안정.
다중 segment 의 RE 분석: HTE 정량화 도구.
9 Q&A — FE/RE 의 흔한 오해
A: 거의 그렇다. 단 작은 \(k\) 에서 noise.
3 단계 직관:
- 추상 정의: I² 가 sampling 의 추정. 작은 \(k\) 에서 진성 heterogeneity 검출 어려움.
- 일상어 비유: 5 회 측정만으로 변동 추정 — 실패 가능.
- 반사실 시나리오: Conservative 로 RE 선택. 결과 거의 동일이면 무관.
A: 정직성. Heterogeneity 의 진성 분산 반영.
3 단계 직관:
- 추상 정의: RE CI 가 진성 추정 + heterogeneity 모두 반영.
- 일상어 비유: 평균 + 변동성 모두 보고 — 종합 평가.
- 반사실 시나리오: FE CI 는 좁지만 misleading 가능. RE 가 정직.
10 사례 — FE vs RE 의 결과 차이
가설: 10 RCT, \(\hat\theta\) = -0.40, I² = 60%.
| 모형 | \(\hat\mu\) | 95% CI |
|---|---|---|
| FE | -0.42 | (-0.50, -0.34) |
| RE (DL) | -0.40 | (-0.55, -0.25) |
| RE (REML + HK) | -0.40 | (-0.58, -0.22) |
RE 의 CI 가 더 wide. HK 보정 시 더 conservative.
3 단계 직관:
- 추상 정의: 같은 정보의 다른 표현 — heterogeneity 처리 다름.
- 일상어 비유: 학생 점수 평균 ± 표준편차 — 보정에 따라 다른 width.
- 반사실 시나리오: Cochrane 권장: REML + HK.
11 결론
IV 가중 + FE 또는 RE 선택이 meta-analysis 의 통합 도구. RE 가 일반적 default, HK 보정으로 더 conservative. Forest plot 의 시각화가 결과 보고의 표준. REML 추정 + HK 보정이 작은 \(k\) 의 표준.
다음 글 (H-WOO12-3) 에서 heterogeneity 의 정량 지표를 깊이 본다.
12 관련 주제
- Meta-analysis 개관
- Systematic Review
- 1111-11-11, Heterogeneity