DR-Learner
정의
DR-Learner는 의사결과(pseudo-outcome)를 공변량(covariate)에 회귀시켜 CATE를 추정하는 2단계 이중 강건(doubly robust) 추정량(estimator)이다.
Stage 1: nuisance 추정
- 성향점수(propensity score):
- 결과 회귀(outcome regression): for
Stage 2: 의사결과 회귀
여기서 의사결과는 다음과 같다.
직관적 이해
핵심 아이디어:
- 이중 강건 의사결과를 계산한다(ATE의 효율적 영향함수(EIF)).
- 이 의사결과를 에 회귀시켜 smoothing한다.
- CATE의 구조(smoothness, sparsity)를 별도로 활용한다.
Stage 1: Estimate π̂(x), μ̂₁(x), μ̂₀(x) using any ML method
↓
Stage 2: Compute pseudo-outcome φ̂(Z) for each observation
↓
Stage 3: Regress φ̂ on X to get τ̂(x)
왜 “이중 강건”인가?
- 또는 중 하나만 정확해도 편향(bias)이 사라진다.
- 둘 다 틀려도 두 오차의 곱만 남는다: .
핵심 성질
이중 강건성
편향 항은 성향점수와 결과 회귀 오차의 곱에만 의존한다.
rate 적응성
- CATE의 smoothness 에 적응한다.
- 개별 nuisance function의 smoothness 와 분리된다.
- plug-in 추정량보다 빠른 rate를 달성할 수 있다.
oracle 효율성
다음 조건이 성립하면 oracle rate를 달성한다.
여기서 각 기호는 다음을 뜻한다.
- : 성향점수 smoothness
- : 결과 회귀 smoothness
- : CATE smoothness
- : harmonic mean smoothness
- : 공변량 차원
알고리즘
# DR-Learner Algorithm
def dr_learner(X, A, Y, n_folds=5):
# Stage 1: Cross-fitted nuisance estimation
pi_hat = cross_fit_estimate(X, A, model='classifier')
mu1_hat = cross_fit_estimate(X[A==1], Y[A==1], model='regressor')
mu0_hat = cross_fit_estimate(X[A==0], Y[A==0], model='regressor')
# Stage 2: Compute pseudo-outcomes
phi_hat = (mu1_hat - mu0_hat) + \
(A - pi_hat) / (pi_hat * (1 - pi_hat)) * \
(Y - A * mu1_hat - (1 - A) * mu0_hat)
# Stage 3: Regress pseudo-outcome on X
tau_hat = regress(X, phi_hat, model='smoother')
return tau_hat
다른 learner와의 비교
| Method | Key Idea | Pros | Cons |
|---|---|---|---|
| T-Learner | Separate models per treatment | Simple | No sharing across groups |
| S-Learner | Single model with A as feature | Shares info | May miss heterogeneity |
| X-Learner | Two-stage imputation | Good for imbalance | Complex |
| R-Learner | Residualize then regress | Orthogonality | Requires product rate |
| DR-Learner | DR pseudo-outcome regression | Double robustness, rate adaptation | Stability condition needed |
이론적 보장
주요 오차 한계(Theorem 2):
여기서 각 항은 다음을 뜻한다.
- : oracle 추정량(참 의사결과를 사용)
- : nuisance 추정에서 오는 편향
- : oracle 분산(variance)
안정성 조건이 필요하다: 2단계 회귀 추정량은 입력 섭동(input perturbation)에 안정적이어야 한다.
관련 개념
- Pseudo-outcome - DR-Learner의 핵심 구성요소
- Doubly Robust Estimator - 이론적 기반
- CATE - 추정 대상
- Oracle Efficiency - 이론적 목표
- Cross-fitting - 과적합(overfitting) 방지
- R-Learner - 관련 방법론
비교: DR-Learner vs R-Learner
| Aspect | DR-Learner | R-Learner |
|---|---|---|
| Pseudo-outcome | ||
| Rate condition | Product rate | Product rate |
| Oracle condition | Weaker for lp-R-Learner | |
| Implementation | Simpler | More complex (lp version) |
활용
- 의료: 임상시험에서의 이질적 처치효과(treatment effect)
- 정책: 하위집단별 정책 효과
- 마케팅: 개인화된 처치 반응
- 사회과학: 인과효과의 이질성
구현
Python (econml):
from econml.dr import DRLearner
dr = DRLearner(model_propensity=LogisticRegression(),
model_regression=RandomForestRegressor(),
model_final=RandomForestRegressor())
dr.fit(Y, T, X=X, W=W)
cate = dr.effect(X_test)
R (grf):
library(grf)
# grf의 causal_forest가 유사한 doubly robust 속성 가짐
cf <- causal_forest(X, Y, W)
tau_hat <- predict(cf)$predictions
참고 문헌
- kennedyOptimalDoublyRobust2023 - DR-Learner 이론 및 oracle efficiency
- chernozhukovDoubleDebiasedMachine2018 - DML framework
- nieQuasiOracleEstimationHeterogeneous2020 - R-Learner