1 정의
매 시점 censoring 결정 \(C_k = 0\) (관측 계속) 또는 \(C_k = 1\) (drop out) 을 처치처럼 처리.
추정 대상: \(\mathrm{E}[Y^{\bar{a}, \bar{c}=\bar{0}}]\) — “모든 환자가 strategy \(\bar{a}\) 따랐고 + 아무도 dropout 안 했다면” 의 잠재 결과.
→ 처치 + censoring 의 결합 인과 효과.
→ Loss to follow-up 의 인과적 통합 — 단일 시점 IPW (Ch.12.6) 의 시간변동 일반화.
표준 g-formula (시점별 분리 모형) vs Big G-Formula (단일 결합 모형):
표준: 시점별 covariate \(L_k\) 의 분포 모형 + 결과 모형 = \(K+1\) 시점에서 \(2(K+1)\) 모형.
Big: 모든 시점의 covariate 를 한 결합 모형 에 통합. 모형 수 ↓ → 계산 효율 ↑.
→ 모형 specification 가정이 강해짐. Multilevel 또는 hierarchical 모형 활용.
직관 — Censoring 의 처치 일반화: “Censoring 안 됨” 을 가상 처치로 정의. Monte Carlo 시뮬레이션 에서 모든 환자에게 censoring 강제 0 부여. 시간변동 분석의 통합 frame.
2 21.5 Censoring as Time-Varying Treatment
2.1 Censoring 의 인과적 처리
전형적 표기: - \(Y^{\bar{a}}\): strategy \(\bar{a}\) 의 잠재 결과 (censoring 무시). - \(Y^{\bar{a}, \bar{c}=\bar{0}}\): strategy \(\bar{a}\) + 모든 시점 censoring 안 됨.
대부분의 임상 분석에서 두 표현이 같은 양. 그러나 censoring 이 random 아닐 때 다름.
Random censoring: \(\Pr(C_k = 0 | \bar{A}, \bar{L}, U) = \Pr(C_k = 0)\) — 외생. Non-random censoring: \(\Pr(C_k = 0)\) 가 \(\bar{A}, \bar{L}\) 의존 — 정보 있음.
후자에서 “Censoring 안 됨” 을 가상 처치 로 처리해야 정확한 인과 추정.
직관 — Loss to follow-up 의 정보성: 환자가 시험 도중 dropout — 그 결정이 과거 처치 와 건강 상태 의존. 무시하면 informative censoring — selection bias.
직관 — \(\bar{c}=\bar{0}\) 표기의 명시성: 분석가가 “censoring 도 처치처럼 보정함” 을 명시. 결과 해석 시 가상 시나리오의 정확한 정의 명확. 표준 보고 표기.
2.2 결합 IPW 가중치
비안정화 결합 가중치: \[W^{\bar{A}, \bar{C}} = \prod_{k=0}^{K} \frac{1}{f(A_k | \bar{A}_{k-1}, \bar{L}_k)} \times \prod_{k=0}^{K} \frac{1}{\Pr(C_k = 0 | \bar{A}_k, \bar{L}_k)}\]
= 처치 가중치 \(W^{\bar{A}}\) × censoring 가중치 \(W^{\bar{C}}\).
\(C_k = 1\) 인 환자는 \(W = 0\) — 분석에서 사실상 제외.
안정화: \[SW^{\bar{A}, \bar{C}} = \prod_k \frac{f(A_k | \bar{A}_{k-1})}{f(A_k | \bar{A}_{k-1}, \bar{L}_k)} \times \prod_k \frac{\Pr(C_k = 0 | \bar{A}_k)}{\Pr(C_k = 0 | \bar{A}_k, \bar{L}_k)}\]
직관 — 가중치 곱의 의미: 처치 받기 어려운 history (가중치 큼) + censoring 안 된 어려운 history (또 큰 가중치). 두 가중치의 곱 으로 환자의 “이중 어려움” 표현. 단일 시점의 곱이 시간 차원에서 더 폭발.
2.3 Censoring 가중치의 추정
각 시점 \(k\) 의 uncensored 확률 모형: \[\mathrm{logit}\, \Pr(C_k = 0 | \bar{A}_k, \bar{L}_k) = \alpha_0 + \alpha_1 \bar{A}_k + \alpha_2 \bar{L}_k + \cdots\]
데이터: 시점 \(k\) 까지 살아 있는 + uncensored 환자 vs 그 시점에 censored.
→ Logistic 회귀 (시간변동 처치 모형과 같은 형태).
→ 시간변동 ML 결합 가능 — gradient boosting 등.
직관 — Censoring 모형의 목표: “어떤 환자가 dropout 가능성 높은가” 의 모형. 의학 코호트에서 흔한 dropout 원인 — 부작용, 효과 부족, 사회적 이유. 측정된 covariate 으로 부분 표현.
직관 — 시간변동 censoring 의 함정: 매 시점 dropout 결정. 누적 가중치 폭발. Stabilization 이 단일 시점보다 더 critical.
2.4 단일 사례 — HIV 코호트
\(K = 60\) 시점, ART 처치, CD4 covariate, 사망 outcome + dropout.
Censoring 패턴: - 시점 \(k\) 의 dropout 확률 = \(5\%\) if 효과 부족, \(1\%\) otherwise. - 누적 60 시점에서 약 30% 환자 dropout.
처치 가중치만: \(\widehat{\Pr}(D = 1 | \bar{A}=\bar{1}) = 0.20\) (가상).
처치 + Censoring 가중치: \(\widehat{\Pr}(D = 1 | \bar{A}=\bar{1}, \bar{C}=\bar{0}) = 0.18\).
차이 0.02 = informative censoring 에 의한 selection bias.
→ Hernan 의 권장: 항상 결합 가중치 사용.
직관 — Selection Bias 의 정량적 인식: 단순 처치 가중치 분석은 dropout 환자의 처치 효과 만 측정. 결합 가중치는 모든 환자 (dropout 무시) 의 효과 측정. 두 결과의 차이가 informative censoring 의 신호.
3 21.6 Big G-Formula — 단일 결합 모형 접근
3.1 표준 G-Formula 의 한계
표준 g-formula (시점별 분리):
| 시점 | 모형 |
|---|---|
| 0 | \(f(L_0)\) — covariate baseline |
| 1 | \(f(L_1 | A_0, L_0)\) |
| 2 | \(f(L_2 | A_0, A_1, L_0, L_1)\) |
| … | … |
| \(K\) | \(f(L_K | \bar{A}_{K-1}, \bar{L}_{K-1})\) |
| 결과 | \(\mathrm{E}[Y | \bar{A}, \bar{L}]\) |
→ \(K+1\) 시점에서 covariate 모형 \(K\) 개 + 결과 모형 1 개 = 약 \(K+1\) 모형.
→ \(K=60\) 이면 60+ 모형 — 모형 specification 부담 폭발. → 각 모형의 misspecification 이 Monte Carlo 시뮬레이션 에서 누적.
직관 — 모형 수의 폭발: 시점별 covariate 분포 모형이 매번 다른 형태. 각각 specification 검토 + 진단 + sensitivity 필요. 분석가의 작업량 = 시점 수에 비례.
3.2 Big G-Formula 의 통합 접근
Big G-Formula 의 발상: - 모든 시점의 covariate 를 한 결합 모형 으로 표현. - 시간 변수 + 시간 의존 features 활용.
예 — Multilevel/Hierarchical 모형: \[L_k = \beta_0 + \beta_1 \cdot k + \beta_2 \cdot \bar{A}_{k-1} + \beta_3 \cdot \bar{L}_{k-1} + u_i + \epsilon_{k,i}\]
여기서 \(u_i\) = 환자별 random intercept, \(\epsilon_{k,i}\) = 시점-환자 잔차.
→ 모든 시점의 covariate 분포가 한 모형 — 모형 수 1 개.
→ Monte Carlo 시뮬레이션 시 같은 모형으로 모든 시점 sample.
→ 이론적으로 더 robust (모형 specification 분리 줄임), 실무적으로 더 단순.
직관 — Big G-Formula 의 trade-off: 모형 수 적음 + 통합 specification → 단순함. 그러나 시간 차원의 다양성 표현 어려움 — 시점별 다른 covariate 패턴 미반영. Strong simplifying assumption.
직관 — Multilevel 모형의 자연성: 환자별 random effect → 환자 specific 변동 표현. 시점별 fixed effect → 시간 trend. 두 차원의 균형. Hierarchical Bayesian 같은 도구의 자연 활용.
3.3 Big G-Formula 의 ML 결합
모든 시점 covariate 를 Recurrent Neural Network 또는 Transformer 로 모형링:
\[L_k \sim \text{RNN}(\bar{A}_{k-1}, \bar{L}_{k-1}, h_{k-1})\]
여기서 \(h_k\) 는 hidden state.
→ Sequential ML 모형 — 시간 의존 자연 표현.
→ Cross-fitting 으로 robust 추정.
→ 시간변동 g-formula 의 ML 일반화 — 향후 연구 방향.
직관 — Sequential ML 의 강점: RNN, LSTM, Transformer 가 시간 변동 패턴 자연 학습. 환자 trajectory 의 복잡한 의존 표현. Big Data + Big Model 의 시간변동 g-formula.
직관 — 향후 발전 방향: 의료 EHR (수만 환자, 수년 추적) 같은 실제 코호트에서 deep learning 기반 g-formula 가 표준 도구로 자리잡을 전망. 2025 년 이후 활발한 연구.
4 Part III 의 종합 정리
Ch.19 (개념): 시간변동 처치의 frame — strategy 분류, sequential exchangeability.
Ch.20 (Deadlock): TC feedback 의 정량적 실패 — 표준 도구 box 전체 -8 편향.
Ch.21 (Solution): g-method 의 시간변동 일반화 — 3 도구 모두 정확한 0.
Ch.22 (Application): Target Trial Emulation — 관찰 데이터로 RCT 모방.
Ch.23 (Extension): Causal Mediation — 직접·간접 효과 분해.
핵심 메시지: - 시간변동 처치 = 단일 시점의 자연 일반화 아님. - 새 frame + 새 도구 (g-method) 필수. - Robins (1986) 의 발명이 인과 분석의 패러다임 전환. - ML 결합 (DR ML, Big G-Formula) 이 향후 발전 방향.
직관 — Part III 의 무게: Hernan & Robins 의 책의 지적 정점. 단일 시점 도구 (Part I-II) 의 한계 인식 → 시간변동 frame 의 새 도구. 인과 분석의 30+ 년 발전사를 한 책에서 보여준다.
5 시간변동 분석의 실무 워크플로우
Step 1: 연구 질문 명시 — 비교할 strategy 쌍 결정.
Step 2: DAG 분석 — 시간변동 confounder 식별, sequential exchangeability 가정.
Step 3: 데이터 구조화 — Person-time 형식, 시점별 covariate.
Step 4: Censoring 분석 — informative 여부 검토, censoring 모형 적합.
Step 5: G-method 도구 적용: - G-formula (gfoRmula 패키지). - IPW MSM (가중 회귀). - G-estimation (직접 구현).
Step 6: 다중 도구 결과 비교 — 일치성 검증.
Step 7: Sensitivity analysis — 가정 위반 시나리오, ML 결합, sensitivity bound.
직관 — 워크플로우의 본질: 단일 분석으로 끝 X. 다중 도구 + sensitivity + 가정 명시 의 결합. 인과 분석은 통계가 아닌 추론의 묶음 — Hernan 의 일관된 강조.
6 NHEFS 의 한계와 진짜 시간변동 데이터
NHEFS (Hernan 책 사례): - Baseline (1971-75) + Outcome (1982). - Single time-point treatment. - Part I-II 의 도구로 충분.
진짜 시간변동 코호트 사례: - CASCADE (HIV): 매 6 개월 ART + CD4. 30+ 년 추적. - MACS (HIV): 매 6 개월 처치 + 100+ covariates. - Framingham Heart Study: 매 2-4 년 covariate + outcome. - UK Biobank: 50 만+ 명, electronic record + 시간변동 노출.
→ 이런 코호트에서 Part III 의 g-method 가 표준 분석.
직관 — 진짜 시간변동 데이터의 가치: 이러한 코호트가 인과 분석의 gold standard. 그러나 데이터 수집 비용 매우 큼 + 분석 도구 복잡. 인과 분석의 future 이 이런 데이터 + g-method.
7 응용 분야 — 시간변동 g-method 의 21 세기 표준
- HIV/AIDS Cohort Studies: CASCADE, MACS, ACTG 의 ART 효과 분석
- 종양학 SMART: 시점별 항암제 선택의 인과 효과
- 만성 질환 약물 dose: 베타차단제, 인슐린, anticoagulant 의 dose 변경
- 약물 안전성 PV: 부작용 발생까지의 시간변동 분석
- 마케팅 attribution: 사용자 캠페인 sequence 의 인과 효과
- 추천 시스템: 사용자 노출 history 의 효과
- 게임 디자인: 사용자 engagement 의 시간변동 처치
- 공중보건 정책: 정책 변경 시점의 효과 (lockdown, 봉쇄 강도)
8 코드 — Censoring 통합 + Big G-Formula 예시
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
# === 시간변동 + censoring 데이터 시뮬레이션 ===
np.random.seed(42)
n = 1000
K = 5
records = []
for i in range(n):
L = [np.random.normal(0, 1)] # baseline covariate
A = []
C = [0] # censoring indicator
for k in range(K):
# 처치 결정
prob_A = 1 / (1 + np.exp(-(0.3 * L[k])))
A_k = np.random.binomial(1, prob_A)
A.append(A_k)
# Censoring 결정 — 처치와 covariate 의존
prob_C = 1 / (1 + np.exp(-(0.5 - 0.4 * A_k - 0.3 * L[k]))) # informative
C_k = np.random.binomial(1, prob_C)
C.append(C_k)
if C_k == 1:
break # dropout
# 다음 covariate
L_next = 0.7 * L[k] + 0.4 * A_k + np.random.normal(0, 0.5)
L.append(L_next)
# 결과 (uncensored 만 관측)
if C[-1] == 0:
Y = sum(A) * 0.5 + L[-1] * 0.3 + np.random.normal(0, 1)
else:
Y = np.nan # censored
for k in range(len(A)):
records.append({
"id": i, "k": k, "L": L[k], "A": A[k], "C": C[k+1] if k+1 < len(C) else 0,
"Y": Y if k == len(A)-1 else np.nan
})
df = pd.DataFrame(records)
# === Censoring 가중치 ===
# 시점별 uncensored 확률 추정
df["uncensored"] = 1 - df.C
c_model = smf.logit("uncensored ~ A + L", data=df).fit(disp=False)
df["pc"] = c_model.predict(df)
# === 처치 가중치 ===
a_model = smf.logit("A ~ L", data=df).fit(disp=False)
df["pa"] = a_model.predict(df)
df["wa"] = np.where(df.A == 1, 1/df.pa, 1/(1-df.pa))
# 결합 가중치 (안정화)
df["wc"] = 1 / df.pc
df["w_total"] = df.groupby("id")["wa"].cumprod() * df.groupby("id")["wc"].cumprod()
# === Big G-Formula — 단일 결합 모형 ===
# 모든 시점의 L 을 한 모형으로 (Multilevel-like)
df["k_squared"] = df.k ** 2
big_l_model = smf.ols("L ~ A + k + k_squared + np.cumsum(A)", data=df).fit()
# Y 모형 (last 시점만)
df_last = df.dropna(subset=["Y"])
y_model = smf.ols("Y ~ A + L + k", data=df_last).fit()
print("=== Big G-Formula 통합 모형 ===")
print(big_l_model.summary().tables[1])
print("\n→ 단일 모형으로 모든 시점 covariate 표현")
print("→ 시점별 분리 모형보다 단순")9 한 줄 요약
Censoring 을 시간변동 처치처럼 처리하는 통합 frame (\(\bar{c}=\bar{0}\)) 이 Loss to follow-up 의 인과적 분석. 처치 + censoring 결합 IPW 가중치 (시점별 곱) 가 두 selection bias 동시 보정. Big G-Formula 는 시점별 분리 대신 단일 결합 모형 — multilevel/hierarchical 또는 RNN/Transformer. ML 결합 (RNN g-formula, sequential AIPW) 이 향후 발전. Part III 의 종합: Robins (1986) 의 g-method + 21 세기 ML 결합이 시간변동 인과 분석의 표준.
10 관련 주제
선행 지식
- Ch.21 G-methods Time-Varying 개관
- Time-Varying G-Formula + IPW MSM
- Doubly Robust + G-Estimation
- Ch.12.6 Censoring + IPW
후속 주제
다른 카테고리 연결