Fixed vs Random Effects — Inverse Variance 통합의 두 모형

Woodward Ch.12.3 — General Approach to Pooling

Meta-analysis 의 핵심 통합 도구 — Inverse Variance 가중, Fixed Effects (FE), Random Effects (RE) 모형의 수식 유도와 차이를 추상 → 일상어 → 반사실 3 단계 직관으로 풀어낸다. DerSimonian-Laird·REML 추정, FE vs RE 선택 기준, 그리고 Hartung-Knapp 보정도 함께 다룬다.

Experimentation
Modeling
저자

Kwangmin Kim

공개

2026년 05월 08일

1 Inverse Variance Weighting — 통합의 표준

정의: IV 가중

각 연구 \(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 직관 — 정밀도 가중의 효율

직관 3 단계: IV 가중의 본질
  • 추상 정의: 정밀한 (작은 분산) 연구의 가중치 ↑. Optimal estimator under known variances (Gauss-Markov).
  • 일상어 비유: 여러 측정 도구의 평균 — 정밀한 도구의 가중치 ↑. 각 도구의 정밀도가 곧 가중치.
  • 반사실 시나리오: 단순 평균은 정밀도 무시 → 비효율. IV 가중이 정보량 비례 가중.

효율성 증명: \(w_i = 1/v_i\) 가 minimum-variance unbiased linear combination 의 가중.

2 Fixed Effects (FE) Model

정의: 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

정의: 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

직관 3 단계: \(v_i\) vs \(\tau^2\)
  • 추상 정의: \(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) 추정

정의: DL Estimator

\[\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.

직관: DL 의 메커니즘
  • 추상 정의: Cochran’s Q 가 sampling error 만 가정 시 평균 \(k-1\). 초과 분이 \(\tau^2\) 시사.
  • 일상어 비유: 측정 분산이 예상보다 크면 추가 source (between-study) 의심.
  • 반사실 시나리오: DL 이 보수적 (작은 표본에서 \(\tau^2\) 과소 추정 가능). REML 이 더 robust.

3.3 REML 의 우월성

정의: REML

Restricted Maximum Likelihood. Likelihood 의 marginal 부분을 최대화.

장점: - 작은 표본에서 unbiased. - 일반 MLE 보다 robust. - 표준 software 제공 (R metafor, Stata metan).

단점: - 계산 부담 (DL 보다). - 폐쇄형 해 없음.

3.4 Hartung-Knapp 보정

가정 점검: RE 의 SE underestimate

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 의 디폴트

직관 3 단계: RE 가 default 인 이유
  • 추상 정의: 진성 heterogeneity 의 가능성 → RE 가 더 conservative + general.
  • 일상어 비유: 보험의 기본 옵션 — 안전 우선.
  • 반사실 시나리오: FE 가 더 narrow CI 이지만 가정 위반 시 잘못된 자신감. RE 의 wide CI 가 정직.

5 Forest Plot — 시각화

정의: 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
직관: Forest Plot 의 정보
  • 추상 정의: 각 연구의 효과 + 정밀도 + 통합 결과를 한 그림에.
  • 일상어 비유: 여러 평론가의 영화 평가 + 평균 평가의 한 표.
  • 반사실 시나리오: Pooled 의 다이아몬드가 진성 효과의 best estimate. 연구 간 변동이 heterogeneity 시사.

6 사례 — Sodium-BP 의 RE Meta

사례: 28 RCT 통합

가설: 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 테스트의 다중 시험 통합

사례: 같은 기능의 4 분기 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 의 흔한 오해

Q1: I² = 0% — FE 가 항상 적합?

A: 거의 그렇다. 단 작은 \(k\) 에서 noise.

3 단계 직관:

  • 추상 정의: I² 가 sampling 의 추정. 작은 \(k\) 에서 진성 heterogeneity 검출 어려움.
  • 일상어 비유: 5 회 측정만으로 변동 추정 — 실패 가능.
  • 반사실 시나리오: Conservative 로 RE 선택. 결과 거의 동일이면 무관.
Q2: RE 의 CI 가 너무 wide — 비효율?

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 관련 주제

Subscribe

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