TC Feedback의 Elements와 Table 20.1의 4 도구 실패

Hernan Ch.20.1~20.2 — DAG 의 정확한 구조 + 32,000 명 시험의 4 분석 실패

Hernan & Robins (2020) Ch.20.1~20.2 를 다룬다. Treatment-confounder feedback 의 정확한 DAG 구조 (Figure 20.1-20.4), Hernan 의 Table 20.1 의 32,000 명 가상 sequentially randomized 시험, 4 가지 분석 (각 시점 conditional, 비보정 비교, L1 층화, 회귀) 의 결과 비교, 그리고 처치 효과가 0 인데도 stratification 이 -8 을 추정하는 정량적 메커니즘을 정리한다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 05월 08일

1 정의

정의: Treatment-Confounder Feedback

DAG 에 다음 두 화살표 동시 존재:

  1. \(L_k \to A_k\): Confounder 가 처치 결정.
  2. \(A_{k-1} \to L_k\): 이전 처치가 covariate 변경.

→ Confounder 와 처치의 순환적 인과 의존 (시간 차원으로 펼쳐 acyclic 표현).

예 (HIV): CD4 → ART 처치 결정, ART → CD4 회복. 두 화살표 동시.

정의: Time-Varying Confounding ≠ TC Feedback

Time-varying confounding only (Figure 20.2): \(L_k \to A_k\) 만 있음. \(A_{k-1} \to L_k\) 없음. - Confounder 는 시간 변동하지만 처치의 결과 아님. - 단순 보정으로 해결 가능 (각 시점 표준 보정).

TC Feedback (Figure 20.1, 20.3): 두 화살표 모두. - 단순 보정 실패. - g-method 필요.

직관 — 두 시나리오의 결정적 차이: TVC only 는 “covariate 가 시간에 따라 변함” — 단순 시간 의존 보정. TC Feedback 은 “처치가 covariate 을 바꿈” — 보정 시 매개 효과 차단. 매우 미묘한 차이가 분석 가능성을 결정.

2 20.1 TC Feedback 의 DAG 구조

2.1 Figure 20.1 — 풀 형태

DAG 구조 (Figure 20.1, 같은 Figure 19.2)
L_0 → A_0 → L_1 → A_1 → Y
   ↓     ↓     ↓
   U_0   U_0   U_1 → Y

화살표: - \(L_0 \to A_0, L_1 \to A_1\): 처치 결정. - \(A_0 \to L_1\): 처치가 covariate 변경 (TC feedback). - \(L_0 \to L_1\): covariate 의 시간 진행. - \(U_k \to L_k, U_k \to Y\): 미관측 변수의 영향.

→ Sequentially randomized trial 의 가장 일반 형태 (Figure 19.2 에서 처치-covariate feedback 추가).

직관 — DAG 의 모든 화살표가 의미 있음: \(A_0 \to L_1\) 이 TC feedback 의 도장. 이 화살표 없으면 TVC only (Figure 20.2). 한 화살표가 분석 가능성 변경.

2.2 Figure 20.3 — 단순화된 TC Feedback

Sharp Null 시 단순화 (Figure 20.3)

가정: - 처치 효과 0 (sharp null) — \(A_0, A_1, L_1\)\(Y\) 화살표 없음. - \(L_0\) 표시 안 함 (간단화). - \(A_0 \to A_1\) 화살표 없음.

A_0 → L_1 → A_1
              ↘   ↙
                Y
                ↑
                U_1

핵심: \(A_0 \to L_1\) (TC feedback) + \(U_1 \to L_1, U_1 \to Y\) (collider 구조).

진짜 ATE = 0 (인과 화살표 없음).

직관 — Sharp null 의 교육적 가치: 진짜 효과를 0 으로 사전 결정 → 어떤 비영 추정도 bias 임이 명확. 추정 도구의 실패를 깨끗히 보여주는 사고 실험.

직관 — Figure 20.3 가 가장 단순한 TC feedback 사례: 더 작게 하면 TC feedback 없어짐. 이 DAG 가 최소 reproducible example.

2.3 Figure 20.4 — 관찰 연구 변형

관찰 연구 시 TC Feedback 변형 (Figure 20.4)
W_0 → A_0
W_0 → L_1 → A_1
              ↘   ↙
                Y
                ↑
                U_1
  • \(W_0\): 미관측 변수 (예: 환자 동기, 의사 선호).
  • \(W_0 \to A_0\): 처치 결정에 영향.
  • \(W_0 \to L_1\): 다음 covariate 에 영향.

\(A_0 \to L_1\) 직접 화살표 없음 — 그러나 \(W_0\) 통한 간접 의존. 효과는 비슷.

→ Sequentially randomized 가 아닌 관찰 연구 의 TC feedback 형태.

직관 — 관찰 연구의 보편적 시나리오: 의사가 환자 상태 보고 처치 결정 — 미기록 정보 활용. 이 미기록 정보 (\(W_0\)) 가 처치와 다음 covariate 모두에 영향. TC feedback 의 흔한 관찰 형태.

직관 — Figure 20.3 vs 20.4 데이터로 구분 불가: 같은 처치-covariate-결과 패턴. DAG 는 도메인 지식으로만 결정. 관찰 연구 분석 시 두 시나리오 가능 — sensitivity 검토 필수.

3 20.2 Table 20.1 의 32,000 명 사례

3.1 데이터 구조 자세히

Table 20.1 의 의미 (Hernan)
\(A_0\) \(L_1\) \(A_1\) \(N\) \(\mathrm{E}[Y]\) 의미
0 0 0 2,400 84 비처치 baseline, 비처치
0 0 1 1,600 84 비처치 baseline, 시점 1 처치
0 1 0 2,400 52 비처치 + CD4 low + 비처치 (40%)
0 1 1 9,600 52 비처치 + CD4 low + 처치 (60%)
1 0 0 4,800 76 처치 + CD4 high + 비처치 (60%)
1 0 1 3,200 76 처치 + CD4 high + 처치 (40%)
1 1 0 1,600 44 처치 + CD4 low + 비처치 (20%)
1 1 1 6,400 44 처치 + CD4 low + 처치 (80%)

관찰 1: 같은 (\(A_0, L_1\)) 안에서 \(A_1\) 따라 \(Y\) 동일. → \(A_1\) effect = 0 conditional on \(L_1\).

관찰 2: \(\mathrm{E}[Y|A_0=0] = (2400 \times 84 + 1600 \times 84 + 2400 \times 52 + 9600 \times 52)/16000 = 60\). \(\mathrm{E}[Y|A_0=1] = (4800 \times 76 + 3200 \times 76 + 1600 \times 44 + 6400 \times 44)/16000 = 60\). → \(A_0\) marginal effect = 0.

진짜 ATE always vs never = 0 (g-null 정리에 의해).

직관 — 데이터의 일관성: 모든 시점, 모든 stratum 에서 처치 효과 정확히 0. 그러나 결과 평균 은 stratum 별로 다름 (84, 52, 76, 44). 이 차이가 covariate 의 결과 영향 이지 처치 효과 아님.

직관 — 비율의 의미: \(L_1=1\) (CD4 low) 일 때 \(A_1=1\) 비율이 \(A_0=0\) 그룹은 80% (9600/12000), \(A_0=1\) 그룹은 80% (6400/8000). 같음 — 의사가 \(A_0\) 무시하고 \(L_1\) 만 보고 결정 (Figure 20.3 의 가정).

3.2 4 가지 분석의 결과

분석 결과 정리

(0) 진짜 ATE: 0 (모든 처치 효과 0).

(1) 비보정 비교 (\(\mathrm{E}[Y | A_0=A_1=1] - \mathrm{E}[Y | A_0=A_1=0]\)): - \(\mathrm{E}[Y | A_0=A_1=1] = (3200 \times 76 + 6400 \times 44)/9600 = 54.7\). - \(\mathrm{E}[Y | A_0=A_1=0] = (2400 \times 84 + 2400 \times 52)/4800 = 68\). - 차이: \(-13.3\). - 편향 -13.3\(L_1\) 미보정 → confounding.

(2) \(L_1\) 층화: - \(L_1=0\): \(\mathrm{E}[Y | A_0=A_1=1, L_1=0] - \mathrm{E}[Y | A_0=A_1=0, L_1=0] = 76 - 84 = -8\). - \(L_1=1\): \(44 - 52 = -8\). - 두 stratum 모두 \(-8\). - 편향 -8 — collider conditioning.

(3) 회귀 (\(Y \sim cum(\bar{A}) + L_1\)): - \(\theta_{cum} = -4\). \(cum(\bar{A})=2\) vs \(cum(\bar{A})=0\) 차이 = \(-8\). - 편향 -8 — 같은 collider 메커니즘.

(4) Matching on \(L_1\): 비슷한 결과.

모든 분석이 진짜 0 을 다른 비영 값으로 추정.

직관 — 편향의 방향: 모든 분석이 처치를 해롭게 추정. “처치 받은 사람이 결과 나쁨” 의 가짜 메시지. 실제로는 처치-confounder feedback 으로 처치 받은 사람의 baseline 이 나쁨. 의학 적 의사결정에 반대 방향 결론 도달 위험.

3.3 분석 결과의 정량적 분해

두 종류의 편향 분해

비보정 분석의 편향 (-13.3): confounding bias. - \(A_0=A_1=1\) 그룹은 원래 더 많은 사람 CD4 low (저건강) — 그래서 처치 받음. - 그 그룹의 평균 \(Y\) 가 낮음 — confounding.

\(L_1\) 층화의 편향 (-8): collider conditioning bias. - \(L_1\) 보정으로 confounding 제거 (각 stratum 안에서 baseline 비슷). - 그러나 \(L_1\) 이 collider — \(A_0\)\(U_1\) 의 결과. - \(L_1\) 보정 시 \(A_0\)\(U_1\) 의 가짜 연관 도입. - \(A_0=1\) 그룹이 조금 더 나쁜 \(U_1\) (처치 받았는데도 CD4 high — 처치로 회복).

직관 — 편향의 부분 보정: 비보정 -13.3 → 층화 -8 → 편향 일부 감소. 그러나 완전 제거 안 됨. 다른 도구도 같은 부분 감소만. Collider conditioning 이 본질 — 도구로 우회 불가능.

직관 — 두 편향의 정반대 방향 가능성: 다른 시나리오에서는 confounding 과 collider 가 같은 방향, 다른 시나리오에서는 반대. Hernan 의 Table 20.1 에서는 둘 다 음의 방향이라 합쳐서 큰 편향. 도구의 정량적 실패는 데이터 구조 의존.

4 분석의 의미

Ch.20 의 핵심 메시지
  1. Sequentially randomized experiment 라도 TC feedback 으로 인해 전통 분석 실패.

  2. Sharp null 일 때도 비영 추정 가능 — 도구가 non-null 결과 잘못 보고.

  3. 모든 전통 도구 (회귀, 매칭, 층화) 동일한 collider 메커니즘으로 실패.

  4. G-method 필요: 새 frame 의 도구 (Ch.21) 가 본질적으로 다름.

1986 년 Robins 의 g-formula 가 이 deadlock 의 해결책.

직관 — 1980-90 년대 HIV 분석의 위기: AZT 같은 초기 ART 의 효과 분석에서 표준 회귀가 해롭다 는 결과. 임상의사들의 대결심 — 처치 효과 있다고 믿으면서 통계는 반대. Robins 의 g-method 가 이 위기 해결.

5 응용 분야

  • HIV/AIDS ART: 1990 년대 초기 분석 위기의 해결
  • 종양학: 항암제 sequential 효과
  • 심혈관 약물: 만성 약물 치료의 시간변동 효과
  • 행동 개입: 인지 치료의 sequential 적용
  • 마케팅 attribution: 사용자 sequential 캠페인 노출

6 코드 — Table 20.1 분석 재현

import pandas as pd
import numpy as np
import statsmodels.formula.api as smf

# Hernan Table 20.1
data_summary = pd.DataFrame({
    "A0": [0, 0, 0, 0, 1, 1, 1, 1],
    "L1": [0, 0, 1, 1, 0, 0, 1, 1],
    "A1": [0, 1, 0, 1, 0, 1, 0, 1],
    "N":  [2400, 1600, 2400, 9600, 4800, 3200, 1600, 6400],
    "Y":  [84, 84, 52, 52, 76, 76, 44, 44]
})

# Person-level expand
rows = []
for _, r in data_summary.iterrows():
    for _ in range(int(r["N"])):
        rows.append({"A0": r["A0"], "L1": r["L1"], "A1": r["A1"], "Y": r["Y"]})
df = pd.DataFrame(rows)
df["cum_A"] = df["A0"] + df["A1"]

print("=== 진짜 ATE = 0 (sharp null) ===\n")

# (1) 비보정
t = df[(df.A0 == 1) & (df.A1 == 1)].Y.mean()
u = df[(df.A0 == 0) & (df.A1 == 0)].Y.mean()
print(f"(1) 비보정 비교: {t - u:.1f} (편향 -13.3)")

# (2) L1 층화
print("\n(2) L1 층화:")
for l1 in [0, 1]:
    sub = df[df.L1 == l1]
    t = sub[(sub.A0 == 1) & (sub.A1 == 1)].Y.mean()
    u = sub[(sub.A0 == 0) & (sub.A1 == 0)].Y.mean()
    print(f"   L1={l1}: {t - u:.1f}")

# (3) 회귀
m1 = smf.ols("Y ~ cum_A + L1", data=df).fit()
print(f"\n(3) 회귀 (cum_A + L1): theta_cum = {m1.params['cum_A']:.2f}")
print(f"   Always vs Never: {m1.params['cum_A'] * 2:.1f}")

# (4) 더 정교한 회귀 — A0, A1 별도
m2 = smf.ols("Y ~ A0 + A1 + L1 + A0:L1 + A1:L1", data=df).fit()
print(f"\n(4) 정교한 회귀 (interaction 포함):")
print(f"   A0 효과 (L1=0): {m2.params['A0']:.2f}")
print(f"   A1 효과 (L1=0): {m2.params['A1']:.2f}")

print("\n→ 모든 분석 비영 결과 (진짜 0 인데)")
print("→ G-method (Ch.21) 만이 일관")

7 한 줄 요약

Treatment-confounder feedback 의 정확한 DAG (Figure 20.1, 20.3, 20.4) 구조 분석 — \(L_k \to A_k\)\(A_{k-1} \to L_k\) 의 동시 존재. Hernan 의 Table 20.1 의 32,000 명 가상 sequentially randomized 시험에서 처치 효과 0 (sharp null) 임에도 비보정 분석 -13.3, \(L_1\) 층화 -8, 회귀 -8 의 비영 추정. 모든 전통 도구가 같은 collider conditioning 메커니즘으로 실패. 단순 도구의 정량적 실패 의 충격적 사례 — Ch.21 의 g-method 도입 필연성을 명확히 보여줌.

8 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

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