이질성과 층화로 식별 — Hernan Ch.4.1 + 4.2

Heterogeneity 의 4 시나리오와 3 가지 연구 설계의 stratification

Hernan & Robins Ch.4.1 + 4.2 의 깊이. (1) Table 4.1 (20 명) 의 sub-group 분석으로 qualitative effect modification 발견, (2) Additive vs Multiplicative effect modification 의 4 가지 시나리오 — 둘 다 있음 / 둘 다 없음 / 하나만 있음 (방향성 분석), (3) Stratification 의 메커니즘 — Marginal Randomization 의 단순 conditional 비교, (4) Conditional Randomization (Greek/Roman 사례) 에서 2 단계 — stratify by V + standardize by L, (5) Observational study 에서 conditional exchangeability 가정 + 동일 절차.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 09일

이 글은 Phase J 시리즈의 두 번째 글. Ch.4 개관 에서 제시한 effect modifier 개념heterogeneity 의 정량 분석stratification 의 식별 메커니즘 으로 깊이 다룬다 (Hernan Ch.4.1, 4.2).

1 진입 직관 — 평균이 가린 것을 층화로 드러내기

이전 글에서 전체 평균 효과 0모두에게 효과 0 이 아닌 충격적 사례를 보았다. 이 글은:

  1. 왜 그런 일이 일어나는가 — heterogeneity 의 메커니즘 정량 분석
  2. 어떻게 발견하는가 — 3 가지 연구 설계에서의 stratification

결정적 도구: 층화 (Stratification). 각 sub-group 별 효과를 별도 계산. 단순한 도구지만 연구 설계에 따라 절차 다름.

2 Table 4.1 의 깊은 분석

2.1 데이터 구조

20 명 (그리스 신화 신/여신). Counterfactual outcomes:

  • \(Y^{a=0}\): 처치 안 받았을 때 사망 여부 (관찰 불가능, 가상)
  • \(Y^{a=1}\): 처치 받았을 때 사망 여부 (관찰 불가능, 가상)
  • \(V\): 성별 (1 = 여성, 0 = 남성)

2.2 4 가지 환자 유형

각 환자는 \((Y^0, Y^1)\) 에 따라 4 유형:

유형 \(Y^0\) \(Y^1\) 의미
Doomed 1 1 처치 무관 항상 사망
Helped 1 0 처치가 살림 — 효과 이로움
Hurt 0 1 처치가 해침 — 효과 해로움
Immune 0 0 처치 무관 항상 생존

2.3 Table 4.1 의 분포

20 명 중:

유형 여성 (V=1) 남성 (V=0)
Doomed 1 (Persephone) 1 (Ares)
Helped 0 4 (Kronos, Poseidon, Apollo, Hermes, Dionysus)
Hurt 4 (Rheia, Leto, Aphrodite) +… 3 (Zeus, Hephaestus, Polyphemus)
Immune 5 (Demeter, Hestia, Hera) +… 1 (Hades)

2.4 평균 효과의 계산

전체 (n=20):

  • \(\Pr[Y^1 = 1] = 10/20 = 0.5\)
  • \(\Pr[Y^0 = 1] = 10/20 = 0.5\)
  • ATE (RD) = 0

여성 (n=10):

  • \(\Pr[Y^1 = 1 | V=1] = 6/10 = 0.6\)
  • \(\Pr[Y^0 = 1 | V=1] = 4/10 = 0.4\)
  • CATE (RD) = +0.2 — 처치가 사망 위험 증가

남성 (n=10):

  • \(\Pr[Y^1 = 1 | V=0] = 4/10 = 0.4\)
  • \(\Pr[Y^0 = 1 | V=0] = 6/10 = 0.6\)
  • CATE (RD) = -0.2 — 처치가 사망 위험 감소

2.5 메커니즘

여성에는 Hurt 유형 비율 높음. 남성에는 Helped 유형 비율 높음. 모집단 50:50 + 효과 크기 동일·방향 반대 → 완전 상쇄.

반사실: 만약 모집단이 60% 여성 이면 평균 효과 = \(0.6 \times 0.2 + 0.4 \times (-0.2) = +0.04\)해로운 처치. 반대로 40% 여성 이면 이로운 처치. 같은 처치, 다른 결론. Transportability 의 위협.

3 Additive vs Multiplicative — 4 가지 시나리오 깊이

이전 글에서 두 scale 의 차이를 봤다. 더 체계적으로 4 가지 가능성:

3.1 Scenario 1: 둘 다 있음 (qualitative)

\(V\) 에 따라 효과 방향 반대. 자동으로 additive + multiplicative 모두 modification.

사례 (Hernan Table 4.1): - 여성: RD = +0.2, RR = 1.5 - 남성: RD = -0.2, RR = 0.67 - 둘 다 다름 + 방향 반대.

3.2 Scenario 2: 둘 다 있음 (non-qualitative)

같은 방향, 크기 다름.

사례 (가상): - 여성: RD = +0.30, RR = 2.0 - 남성: RD = +0.10, RR = 1.5 - 둘 다 다름, 같은 방향.

3.3 Scenario 3: Additive 만 있음, Multiplicative 없음

예: 두 group 의 baseline risk 다르고, 동일 비율 변화하지만 절대 차이 다름.

그러나 수학적으로 불가능 — 같은 RR 면 같은 RD 가 아니므로 RD 도 다름. 단 baseline risk 가 다를 때.

정확한 사례: baseline risk 다르고 효과 비율 동일. RD 자동 다름.

3.4 Scenario 4: Multiplicative 만 있음, Additive 없음

Hernan 의 공식 사례 (이전 글 Scenario 1):

  • \(V=1\): RD = 0.1, RR = 1.125
  • \(V=0\): RD = 0.1, RR = 2.0
  • 동일 RD, 다른 RR.

메커니즘: 두 group 의 baseline risk 가 매우 다름 (0.8 vs 0.1). 같은 절대 효과 (0.1)다른 비율 효과.

3.5 함의

의사결정 차원:

  • 공중 보건 (인구 영향): Additive (RD) 우선 — 절대 사례 수
  • 생물학적 메커니즘: Multiplicative (RR) 우선 — 일반 패턴

어느 한 scale 만 보는 것은 위험.

4 Stratification — 식별 메커니즘 3 가지 설계

4.1 Setting 1: Marginal Randomized Experiment

무조건 무작위 배정. 처치 확률이 모든 사람 동일.

4.1.1 핵심

Exchangeability \(Y^a \perp\!\!\!\perp A\)모든 stratum 에서 자동 성립.

\[ \Pr[Y = 1 | A=a, V=v] = \Pr[Y^a = 1 | V=v] \]

4.1.2 절차

각 stratum 에서 단순 조건부 비율:

\[ \widehat{CATE}_v^{RD} = \Pr[Y=1 | A=1, V=v] - \Pr[Y=1 | A=0, V=v] \]

4.1.3 예시

1000 명 시험. 무작위 50:50 배정. 남성 / 여성 으로 stratify.

처치 사망률 대조 사망률 RD
여성 60% 40% +20%
남성 40% 60% -20%

단순 비교만으로 effect modification 식별 가능.

4.2 Setting 2: Conditional Randomized Experiment

처치 확률이 어떤 변수 \(L\) 에 의존. 예: 심한 환자 (L=1) 에 처치 확률 0.75, 나머지 (L=0) 에 0.5.

4.2.1 도전

단순 conditional 비교는 bias. 왜? 심한 환자가 더 자주 처치 + 심한 환자의 결과가 더 나쁨 → confounding.

4.2.2 절차 (Hernan Greek/Roman 사례)

Stratification 2 단계:

  1. Stratify by \(V\) (성별 또는 국적)
  2. Standardize 또는 IP weight by \(L\) within each stratum

4.2.3 수식

Stratum \(V=v\) 에서:

\[ \Pr[Y^a = 1 | V=v] = \sum_l \Pr[Y=1 | A=a, V=v, L=l] \cdot \Pr[L=l | V=v] \]

각 (V, L) cell 의 conditional riskL 의 marginal distribution within V 로 가중 평균.

4.2.4 Greek/Roman 결과

40 명 시험. 20 Greek (V=1), 20 Roman (V=0). \(L\) = 심한 정도.

Greek (V=1) 에서: - \(\Pr[Y^{a=1} = 1 | V=1] = 0.5\), \(\Pr[Y^{a=0} = 1 | V=1] = 0.5\) - CATE_RD = 0 (no effect in Greeks)

Roman (V=0) 에서: - \(\Pr[Y^{a=1} = 1 | V=0] = 0.6\), \(\Pr[Y^{a=0} = 1 | V=0] = 0.3\) - CATE_RD = +0.3 (harmful in Romans)

효과가 국적 별로 다름 — effect modification by V.

4.3 Setting 3: Observational Study

처치가 연구자에 의해 배정 안 됨. 환자 자기 선택 또는 의사 결정.

4.3.1 가정

Conditional exchangeability \(Y^a \perp\!\!\!\perp A | L\)측정된 confounder 모두 통제 시 exchangeability.

4.3.2 절차

Setting 2 와 동일 — 2 단계 stratification. L 가 confounder 로 작용.

4.3.3 도전

Unmeasured confounder 가능성. Effect modification 식별 결과가 진짜 modification 인지 unmeasured confounder 의 효과 인지 구분 어려움.

반사실 — Hernan 의 경고: 관찰 연구의 effect modification 발견은 조심스럽게 해석. 무작위 시험에서 검증 권장.

5 Stratification 의 한계

5.1 한계 1: Continuous V

\(V\)연속 변수 (예: 연령) 면 stratum 무한. 구간 분할 필요 — 분할 방법에 따라 결과 다름.

해결: 연속 effect modifier 모델 — interaction terms 또는 meta-learners (Phase J 후속).

5.2 한계 2: 다수 Modifier

여러 modifier (\(V_1, V_2, ..., V_k\)) 동시 고려 — stratum 폭증. 각 cell 의 sample 부족.

해결: 모델 기반 접근 (regression with interactions), ML methods (Causal Forest 등 — Phase J 후속).

5.3 한계 3: Multiple Testing

많은 sub-group 검정 → false positive 폭증. ISIS-2 의 별자리 사례 (Phase C 시리즈 참조).

해결: 사전 정의 subgroup, interaction test (Phase C-32).

6 Effect Modification vs Confounding — 결정적 분리

흔한 혼동 정리.

6.1 Confounding

Bias 의 원인. 처치와 결과 모두에 영향 인 변수. 통제 안 하면 ATE 추정 잘못.

\[ Y \leftarrow C \rightarrow A \quad \text{또는} \quad C \rightarrow A, C \rightarrow Y \]

6.2 Effect Modification

Heterogeneity 의 표현. 진짜 효과의 다양성. 통제 여부와 무관.

6.3 한 변수가 둘 다일 수 있음

연령 이 처치 결정 + 결과 영향 (confounder) + 처치 효과 modifier 이기도. 분석에서 다른 처리:

  • Confounder 로서: 통제 (adjustment)
  • Modifier 로서: stratify and report (heterogeneity)

반사실: 한 분석가가 연령을 confounder 로만 보고 전체 모집단의 ATE 추정modification 정보 사라짐. targeting 결정 불가능.

7 시뮬레이션 — 3 가지 설계의 stratification

import numpy as np
from scipy import stats

np.random.seed(42)

# Setting 1: Marginal Randomization
print("[Setting 1: Marginal Randomization]")
n = 1000
V = np.random.choice([0, 1], n, p=[0.5, 0.5])
A = np.random.choice([0, 1], n, p=[0.5, 0.5])

# True heterogeneous effect
# 여성: 처치가 위험 +20%
# 남성: 처치가 위험 -20%
baseline_p = np.where(V == 1, 0.40, 0.60)
treatment_effect = np.where(V == 1, 0.20, -0.20)
true_p = baseline_p + A * treatment_effect
Y = (np.random.random(n) < true_p).astype(int)

# Stratified analysis
for v in [0, 1]:
    p_T = Y[(V == v) & (A == 1)].mean()
    p_C = Y[(V == v) & (A == 0)].mean()
    print(f"  V={v}: P(Y|A=1) = {p_T:.3f}, P(Y|A=0) = {p_C:.3f}, RD = {p_T - p_C:+.3f}")

print()

# Setting 2: Conditional Randomization
print("[Setting 2: Conditional Randomization (Greek/Roman 분위기)]")
n = 1000
V = np.random.choice([0, 1], n, p=[0.5, 0.5])
L = np.random.choice([0, 1], n, p=[0.5, 0.5])

# 처치 확률이 L 에 의존
p_treat = np.where(L == 1, 0.75, 0.50)
A = (np.random.random(n) < p_treat).astype(int)

# 진짜 효과 (V 별 다름, L 도 영향)
baseline_p = 0.30 + L * 0.20   # L=1 이면 baseline 더 높음 (심한 환자)
te = np.where(V == 1, 0.0, 0.30)   # Greek(V=1) 효과 0, Roman(V=0) 효과 +0.30
true_p = np.clip(baseline_p + A * te, 0, 1)
Y = (np.random.random(n) < true_p).astype(int)

# Naive (단순 conditional)
print("  Naive (단순 비교):")
for v in [0, 1]:
    p_T = Y[(V == v) & (A == 1)].mean()
    p_C = Y[(V == v) & (A == 0)].mean()
    print(f"    V={v}: RD_naive = {p_T - p_C:+.3f}")

# Standardization (L 보정)
print("  Standardization (L 보정):")
for v in [0, 1]:
    # P(L=l | V=v) — L 의 marginal in V
    p_l_given_v = {l: ((V == v) & (L == l)).sum() / (V == v).sum() for l in [0, 1]}
    # E[Y | A=a, V=v, L=l] for each cell
    rd_v = 0
    for l in [0, 1]:
        cell_T = Y[(V == v) & (A == 1) & (L == l)]
        cell_C = Y[(V == v) & (A == 0) & (L == l)]
        if len(cell_T) > 0 and len(cell_C) > 0:
            rd_v += (cell_T.mean() - cell_C.mean()) * p_l_given_v[l]
    print(f"    V={v}: RD_standardized = {rd_v:+.3f}")

print()

# Setting 3: Observational
print("[Setting 3: Observational (가정: conditional exchangeability)]")
n = 1000
V = np.random.choice([0, 1], n, p=[0.5, 0.5])
L = np.random.choice([0, 1], n, p=[0.5, 0.5])

# 처치 결정이 L 에 의존 (의사 결정)
p_treat = np.where(L == 1, 0.70, 0.30)
A = (np.random.random(n) < p_treat).astype(int)

# 같은 진짜 효과
baseline_p = 0.30 + L * 0.20
te = np.where(V == 1, 0.0, 0.30)
true_p = np.clip(baseline_p + A * te, 0, 1)
Y = (np.random.random(n) < true_p).astype(int)

# Standardization (관찰 연구도 같은 절차)
print("  Standardization (L 보정):")
for v in [0, 1]:
    p_l_given_v = {l: ((V == v) & (L == l)).sum() / (V == v).sum() for l in [0, 1]}
    rd_v = 0
    for l in [0, 1]:
        cell_T = Y[(V == v) & (A == 1) & (L == l)]
        cell_C = Y[(V == v) & (A == 0) & (L == l)]
        if len(cell_T) > 0 and len(cell_C) > 0:
            rd_v += (cell_T.mean() - cell_C.mean()) * p_l_given_v[l]
    print(f"    V={v}: RD_standardized = {rd_v:+.3f}")

print()
print("→ 3 설계 모두 stratification 으로 effect modification 식별")
print("→ Marginal: 단순 conditional 비교")
print("→ Conditional/Observational: stratify + standardize 2 단계")

결과 해석:

  1. Setting 1: 무작위 배정 → 단순 비교만으로 진짜 effect modification 식별 (V=1 +0.2, V=0 -0.2).
  2. Setting 2: Naive 비교는 biased (L confounder). Standardization 후 진짜 효과 (V=1 ≈ 0, V=0 ≈ +0.3) 회복.
  3. Setting 3: 관찰 연구도 conditional exchangeability 가정 하에 동일 절차.

8 결론

Stratification 은 effect modification 식별의 핵심 도구. 연구 설계 (marginal·conditional·observational) 에 따라 2 단계 절차 필요.

핵심 메시지:

  1. Table 4.1 의 깊이: 4 환자 유형 + 모집단 분포 = 평균의 함정
  2. 4 시나리오 (Additive vs Multiplicative): 같은 데이터, 다른 결론
  3. 3 설계의 stratification: Marginal 단순, Conditional/Observational 2 단계
  4. Confounding 과 분리: 같은 변수가 둘 다일 수 있음
  5. 한계: Continuous V, 다수 modifier, multiple testing

다음 글에서 왜 effect modification 이 중요한가 (4.3) + adjustment 도구로서 stratification (4.4) 을 깊이.

9 관련 주제

선행 지식

Phase J 후속 글

10 참고문헌

  • Hernán, M. A. & Robins, J. M. (2020). Causal Inference: What If, Chapter 4. Chapman & Hall/CRC.
  • Greenland, S. & Rothman, K. J. (2008). Modern Epidemiology (3rd ed.), Chapter 5. Lippincott.
  • VanderWeele, T. J. (2015). Explanation in Causal Inference: Methods for Mediation and Interaction. Oxford University Press.
  • Sato, T. & Matsuyama, Y. (2003). Marginal structural models as a tool for standardization. Epidemiology 14, 680-686.

Subscribe

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