1 정의
g-formula + IPW MSM 의 결합:
\[\widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{DR} = \widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{g-formula} + \frac{1}{n} \sum_i \widehat{W}_i^{\bar{A}} \mathbb{1}\{\bar{A}_i = \bar{a}\} \cdot \text{(잔차 보정)}\]
- 결과 모형 (g-formula 안의) 옳으면 → 일치.
- 처치 모형 (IPW 안의) 옳으면 → 일치.
- 둘 중 한쪽만 옳아도 일치 — doubly robust.
→ 시간변동의 misspecification 위험을 두 모형으로 분산.
Sequential Structural Nested Mean Model (SNMM):
\[\mathrm{E}[Y^{\bar{a}_{k-1}, a_k = 1, \bar{a}_{k+1:K}^g} - Y^{\bar{a}_{k-1}, a_k = 0, \bar{a}_{k+1:K}^g} | \bar{A}_{k-1}, \bar{L}_k] = \beta_k\]
= 시점 \(k\) 의 처치 효과 만 모형링. 다른 시점은 strategy \(g\) 로 설정.
추정: g-test 의 시점별 일반화. SNMM 모수가 시점별 처치 효과.
직관 — DR 의 시간변동 가치: 단일 시점 DR 은 모형 2 개 결합. 시간변동 DR 은 시점별 모형 2 개 결합 — 시점 수 만큼 robustness 증가. 그러나 구현 복잡성 도 증가.
2 21.3 Doubly Robust 추정량
2.1 Single Time Point DR 의 시간변동 일반화
단일 시점 AIPW (Ch.13.4): \[\widehat{\mathrm{E}}[Y^a]_\text{AIPW} = \frac{1}{n} \sum_i \left[\widehat{m}(a, X_i) + \frac{\mathbb{1}\{A_i=a\}}{\widehat{\pi}(X_i)} (Y_i - \widehat{m}(A_i, X_i))\right]\]
시간변동 AIPW (단순화): \[\widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{AIPW} = \widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{g-formula} + \frac{1}{n} \sum_i \widehat{W}_i^{\bar{A}} \mathbb{1}\{\bar{A}_i = \bar{a}\} (Y_i - \widehat{Y}_i^{\bar{a}})\]
각 시점의 결과 모형 잔차 를 IPW 가중으로 보정.
→ 첫 항 (g-formula) 이 결과 모형 옳음 시 일치. → 둘째 항 (IPW 잔차 보정) 이 처치 모형 옳음 시 일치.
→ 둘 중 한쪽만 옳아도 일치.
직관 — Second-Order Bias 의 시간변동: 단일 시점에서 두 모형 오차의 곱 이 추정량 편향. 시간변동에서 매 시점의 두 모형 오차의 곱이 합 으로 누적. 시점이 길수록 robustness 누적 효과 크지만 구현 어려움도 누적.
2.2 Augmented IPW 의 시간변동 형태
\(K+1\) 시점 데이터에서 sequential AIPW:
각 시점 \(k\) 에서 잔차 보정: - “Strategy \(\bar{a}\) 의 결과” - “\(k\) 시점 후 strategy 따랐을 때 결과의 conditional 평균”. - IPW 가중으로 보정.
\[\widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{seq AIPW} = \widehat{\mathrm{E}}[Y^{\bar{a}}]_\text{g-formula} + \sum_{k=0}^{K} \widehat{W}_{k,i}^{\bar{A}} \mathbb{1}\{\bar{A}_{k,i} = \bar{a}_k\} \times [\widehat{Q}_{k+1,i}(\bar{a}) - \widehat{Q}_{k,i}(\bar{a})]\]
여기서 \(\widehat{Q}_k(\bar{a})\) 는 “시점 \(k\) 까지 관측 + 시점 \(k+1\) 부터 strategy 따른 가상 결과” 의 conditional 기댓값.
직관 — Sequential AIPW 의 메커니즘: 매 시점 지금까지의 관측 history + 미래의 가상 strategy 결합. 시간 차원에서 점진적 “관측 → 가상 으로 전환”. 단일 시점 AIPW 의 시간변동 일반화.
직관 — TMLE 와의 관계: TMLE (Targeted Maximum Likelihood Estimation, van der Laan) 가 sequential AIPW 의 한 형태. ML 결합 + cross-fitting 으로 Targeted Learning. 2025 년 이후 시간변동 인과 분석의 표준 도구.
2.3 Doubly Robust ML 의 시간변동
Ch.18 의 DR ML (Chernozhukov 2018) 의 시간변동 일반화:
각 시점 \(k\) 의 두 모형: - 처치 모형 \(\Pr(A_k | \bar{A}_{k-1}, \bar{L}_k)\) — gradient boosting, RF, NN 등. - 결과 모형 \(\mathrm{E}[Y | \bar{A}, \bar{L}]\) — sequential 또는 직접 ML 적합.
K-fold cross-fitting: - 각 fold 에 대해 sequential AIPW 추정. - 평균으로 final 추정량.
이론: 두 모형이 \(n^{-1/4}\) 보다 빠르게 수렴 시 95% CI valid.
직관 — 시간변동 DR ML 의 이론적 도전: 단일 시점에서 ML 의 \(n^{-1/4}\) 수렴 + DR 의 second-order bias = \(n^{-1/2}\) valid. 시간변동에서 시점 수가 많아지면 각 시점별 ML 수렴 속도 가 누적되어 더 강한 가정 필요. 활발한 이론 연구 영역.
직관 — 실무적 제약: NHEFS 같은 작은 데이터에서 시간변동 DR ML 은 분산 폭발. 큰 cohort (수만~수십만 명) 에서만 안정적. 고차원 + 큰 표본의 영역.
3 21.4 Sequential G-Estimation of SNMM
3.1 Structural Nested Mean Model 의 시간변동 정의
각 시점 \(k\) 의 blip function:
\[\gamma_k(\bar{A}_{k-1}, \bar{L}_k; \beta) = \mathrm{E}[Y^{\bar{A}_{k-1}, a_k=1, \bar{a}_{k+1:K}^g} - Y^{\bar{A}_{k-1}, a_k=0, \bar{a}_{k+1:K}^g} | \bar{A}_{k-1}, \bar{L}_k]\]
= “지금까지 관측 + 시점 \(k\) 처치 1 vs 0 + 미래 strategy \(g\)” 의 잠재 결과 차이.
→ 시점 \(k\) 의 직접 효과 (다른 시점은 fix).
Semiparametric: \(\gamma_k\) 만 모형링, \(\mathrm{E}[Y^{\bar{a}=\bar{0}^g} | \bar{L}, \bar{A}]\) 의 nuisance 부분 비제약.
직관 — Blip Function 의 의미: “한 시점만 처치 변경” 의 효과. SNMM 의 building block. 누적 효과는 blip 함수의 합.
직관 — Semiparametric 강점 유지: Nuisance 부분 모형 안 함 → outcome 모형 misspecification 위험 회피. G-formula 와 다른 robustness 형태.
3.2 G-Test 의 시간변동 적용
각 시점 \(k\) 에서:
Step 1: 후보 모수 격자 정의.
Step 2: 각 후보 \(\beta^\dagger\) 에 대해: \[H_{k,i}(\beta^\dagger) = Y_i - \sum_{j \geq k} \widehat{\gamma}_j(\bar{A}_{j-1,i}, \bar{L}_{j,i}; \beta^\dagger)\]
= “처치 효과 빼낸 가상 outcome” — 시점 \(k\) 부터의 효과 제거.
Step 3: Logistic 회귀: \[\mathrm{logit}\, \Pr(A_k = 1 | H_k(\beta^\dagger), \bar{A}_{k-1}, \bar{L}_k) = \alpha_0 + \alpha_1 H_k(\beta^\dagger) + \cdots\]
Step 4: \(\widehat{\alpha}_1 = 0\) 인 \(\beta^\dagger\) 가 시점 \(k\) 의 추정값.
Step 5: 시점별 반복 → 모든 시점의 SNMM 모수 추정.
직관 — Sequential 검증의 누적: 매 시점의 g-test 가 그 시점 처치 효과 추정. 시점 수가 길수록 누적 변동 큼. 격자 검색의 차원도 시점 수만큼 — 계산 비용 폭발. Closed-form 또는 Newton- Raphson 권장.
직관 — SNMM 의 부분 식별: Saturated SNMM 으로 모든 시점 효과 식별 가능. Non-saturated 형태 (e.g., 시점별 동일 효과 가정) 는 단순화 + misspecification 위험.
3.3 G-Estimation 의 시간변동 강점
Semiparametric: Outcome 모형의 nuisance 부분 비제약. Misspecification 분리.
Sensitivity Analysis 자연 통합: \(\alpha_1\) 가설 값을 0 대신 다른 값 → 미관측 confounding sensitivity.
Effect Modification 명시: SNMM 의 product term 이 직접 효과 수정 표현.
시간변동 자연: Sequential 모수 → 시간 동적 변화 표현.
직관 — SNMM 의 이론적 우아함: Hernan, Robins 의 50+ 년 발전의 정점. 그러나 실무 사용 적음 — g-formula·IPW MSM 이 더 흔한 도구. 이론적 지식 + 실무 도구의 격차.
직관 — 향후 발전: Wang & Tchetgen Tchetgen (2018, 2022) 의 SNMM 일반화. Multiplicative SNMM 의 시간변동 (이항 결과). DR SNMM 의 ML 결합. 활발한 연구 영역.
3.4 G-Estimation 의 NHEFS-like 적용
\(K = 60\) 시점, ART 처치, CD4 covariate, 사망 outcome.
SNMM: \[\gamma_k(\bar{A}_{k-1}, L_k; \beta) = \beta_1 + \beta_2 \cdot L_k\]
= 시점 \(k\) 의 처치 효과 = baseline 효과 + CD4 의존 효과 수정.
G-test 절차: - 매 시점 \(H_k(\beta^\dagger)\) 계산. - Logistic 회귀로 \(\alpha_1 = 0\) 검정. - 60 시점의 SNMM 모수 추정.
결과: \(\beta_1 \approx -0.5\) (사망률 감소 — ART 효과), \(\beta_2 \approx -0.001\) (효과 수정 약함).
계산 비용: 격자 60 차원 → Newton-Raphson 또는 closed-form 필수.
직관 — 실무 구현의 어려움: 60 시점 SNMM 의 직접 격자 검색 = \(10^{60}\) 평가 — 불가능. Closed- form (linear SNMM) 또는 효율적 최적화 (Newton-Raphson) 가 유일 실무 옵션. 계산 도구의 발전이 도구 사용에 결정적.
4 DR + SNMM 결합
SNMM 의 모수 추정에 DR 결합:
추가 nuisance 모형 \(\mathrm{E}[Y^{\bar{a}=0^g} | \bar{L}, \bar{A}]\) — 모든 시점 비처치 가상 결과의 conditional 평균.
\[\widehat{\beta}_\text{DR} = \arg\min_\beta \sum_i \left|\sum_k W_{k,i} (H_{k,i}(\beta) - \widehat{\mathrm{E}}[Y^{\bar{a}=0}|...])(A_{k,i} - \widehat{\Pr}(A_k=1|\cdot))\right|^2\]
→ 처치 모형 또는 결과 모형 한쪽만 옳아도 일치.
→ ML 결합 + cross-fitting 으로 robust DR SNMM (활발한 연구).
직관 — DR SNMM 의 정점 형태: 3 도구 (g-formula, IPW MSM, g-estimation) 의 강점을 모두 결합. 결과 모형, 처치 모형, structural model 모두 활용. Hernan & Robins 의 framework 의 정점.
직관 — 실무 software 의 부재: 단일 시점 DR ML 은 EconML, DoubleML 같은 표준 패키지. 시간 변동 DR SNMM 은 표준 software 부재 — 분석가가 직접 구현. 이론과 실무의 격차.
5 도구 종합 비교
| 측면 | G-Formula | IPW MSM | G-Estimation | DR (결합) |
|---|---|---|---|---|
| Outcome 모형 | 필요 | 불필요 | 부분 (nuisance) | 필요 |
| 처치 모형 | 불필요 | 필요 | 필요 | 필요 |
| Misspecification 분리 | 결과 모형 | 처치 모형 | 부분 분리 | 양쪽 분산 |
| 시점별 모형 수 | \(2(K+1)\) | \(K+1\) | \(K+1\) | \(3(K+1)\) |
| 분산 폭발 | Monte Carlo | 가중치 곱 | Sequential 변동 | 종합 |
| 구현 비용 | 큼 | 중 | 매우 큼 | 매우 큼 |
| Software | gfoRmula | gee, lme4 | 직접 구현 | 직접 구현 |
| Doubly robust | No | No | No | Yes |
| ML 결합 | 가능 | 가능 | 어려움 | 표준 |
직관 — 도구 선택 가이드: 표준 분석 — g-formula + IPW MSM. Robust 추구 — DR. SNMM 은 sensitivity 분석 또는 효과 수정 명시 시. 다중 도구 + 결과 일치성 검토 가 표준.
6 응용 분야
- HIV/AIDS 코호트: ART 시작 시점 + dose 변경의 DR 분석
- 종양학 SMART: 항암제 sequential 효과의 SNMM
- 만성 질환: 약물 dose adjustment 의 DR
- 마케팅 attribution: 캠페인 sequence 의 ML + DR
- 개인화 의료: 환자 specific 처치 strategy 의 g-formula
7 코드 — Sequential AIPW (DR) 구현
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier
from sklearn.model_selection import KFold
# === Hernan Table 21.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]
})
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).reset_index(drop=True)
# === Sequential AIPW ===
def sequential_aipw(df, strategy_a0, strategy_a1):
"""2 시점 DR 추정"""
# 처치 모형
pa0 = smf.logit("A0 ~ 1", data=df).fit(disp=False).predict(df).iloc[0]
pa1_model = smf.logit("A1 ~ A0 + L1", data=df).fit(disp=False)
pa1 = pa1_model.predict(df)
# 결과 모형 (parametric g-formula 의 일부)
y_model = smf.ols("Y ~ A0 + A1 + L1 + A0:L1", data=df).fit()
# 가상 시나리오 데이터
sim_data = df.copy()
sim_data["A0"] = strategy_a0
sim_data["A1"] = strategy_a1
# G-formula 부분 — 결과 모형 예측의 평균
g_formula_estimate = y_model.predict(sim_data).mean()
# IPW 잔차 보정 부분
indicator = (df.A0 == strategy_a0) & (df.A1 == strategy_a1)
weights = np.where(df.A0 == strategy_a0, 1/pa0, 1/(1-pa0)) * \
np.where(df.A1 == strategy_a1, 1/pa1, 1/(1-pa1))
residual = df.Y - y_model.predict(df)
correction = (indicator * weights * residual).mean()
return g_formula_estimate + correction
# DR ATE
e_y_always_dr = sequential_aipw(df, 1, 1)
e_y_never_dr = sequential_aipw(df, 0, 0)
print(f"=== Sequential AIPW (Doubly Robust) ===")
print(f"E[Y^(1,1)] = {e_y_always_dr:.2f}")
print(f"E[Y^(0,0)] = {e_y_never_dr:.2f}")
print(f"DR ATE = {e_y_always_dr - e_y_never_dr:.2f} (진짜 0)")
# === Misspecified 결과 모형으로 DR robustness 검증 ===
# 결과 모형 빠뜨림 (interaction 미포함)
def aipw_misspecified_y(df, strategy_a0, strategy_a1):
pa0 = 0.5
pa1_model = smf.logit("A1 ~ A0 + L1", data=df).fit(disp=False)
pa1 = pa1_model.predict(df)
# Y 모형 — interaction 없음 (misspecified)
y_model = smf.ols("Y ~ A0 + A1 + L1", data=df).fit()
sim_data = df.copy()
sim_data["A0"] = strategy_a0
sim_data["A1"] = strategy_a1
g_est = y_model.predict(sim_data).mean()
indicator = (df.A0 == strategy_a0) & (df.A1 == strategy_a1)
weights = np.where(df.A0 == strategy_a0, 1/pa0, 1/(1-pa0)) * \
np.where(df.A1 == strategy_a1, 1/pa1, 1/(1-pa1))
residual = df.Y - y_model.predict(df)
correction = (indicator * weights * residual).mean()
return g_est + correction
print(f"\n=== Misspecified Y model + correct treatment model ===")
print(f"DR ATE = {aipw_misspecified_y(df, 1, 1) - aipw_misspecified_y(df, 0, 0):.2f}")
print(f" → 처치 모형 옳아 DR 보정으로 0 근처 유지")8 한 줄 요약
시간변동 Doubly Robust 추정량은 g-formula + IPW MSM 의 결합으로 두 모형 중 한쪽만 옳아도 일치 — second-order bias 의 시간 차원 일반화. Sequential AIPW (Robins 2000) 가 표준 형태. ML 결합 + cross-fitting 으로 시간변동 DR ML — TMLE, Targeted Learning 의 영역. Sequential SNMM g-estimation 은 semiparametric 이지만 구현 복잡 — sensitivity analysis 자연 통합 강점. DR SNMM 은 3 도구의 통합 정점 — 활발한 연구 영역. 표준 분석은 g-formula + IPW MSM, robust 추구 시 DR 추가.
9 관련 주제
선행 지식
- Ch.21 G-methods Time-Varying 개관
- Time-Varying G-Formula + IPW MSM
- Ch.18 Doubly Robust ML
- Ch.14 G-estimation 단일 시점
후속 주제
다른 카테고리 연결