Meta-learners
정의
Meta-learner는 임의의 지도학습(supervised learning) 회귀기, 즉 기저 학습기(base learner)를 조합해 CATE를 추정하는 알고리즘을 통칭한다.
핵심 아이디어:
CATE 추정 문제를 기저 학습기가 풀 수 있는 여러 하위 회귀(sub-regression) 문제로 분해한다
주요 Meta-learner:
- S-Learner: Single model with treatment as feature
- T-Learner: Two separate models
- X-Learner: Two-stage imputation approach
- R-Learner: Residualized regression
- DR-Learner: Doubly robust pseudo-outcome regression
직관적 이해
왜 “Meta”인가?
- 기저 학습기(RF, BART, NN 등)는 를 추정하도록 설계되었다
- CATE 는 직접 추정할 수 없다
- Meta-learner는 기저 학습기를 재활용해 CATE를 추정한다
Base Learner: Designed for E[Y|X] (standard regression)
↓
Meta-Learner: Transforms CATE problem → sub-regression problems
↓
Uses base learners to solve sub-problems
↓
Combines results → τ̂(x)
Meta-learner 비교
| Method | Approach | Pros | Cons | Best When |
|---|---|---|---|---|
| S-Learner | Simple, shares data | May ignore small effects | CATE ≈ 0 | |
| T-Learner | Captures different response functions | No data sharing | structures | |
| X-Learner | Two-stage imputation + weighting | Exploits CATE structure, handles imbalance | More complex | Unbalanced groups, smooth CATE |
| R-Learner | Residualized regression | Orthogonality | Requires product rate | Heterogeneous effects |
| DR-Learner | DR pseudo-outcome regression | Double robustness | Stability condition | Robustness desired |
틀과 설정
잠재결과(potential outcome) 틀
여기서 각 기호는 다음을 뜻한다.
- : 공변량(covariate)
- : 처치(treatment) 지시 변수
- : 성향점수(propensity score)
- : 반응 함수
식별(identification) 가정
- 무교란성(unconfoundedness):
- Positivity:
추정 대상
수렴 속도(convergence rate)
기호: 는 미니맥스 속도가 인 함수 클래스를 뜻한다.
T-Learner 속도
- : 대조군 크기, : 처치군 크기
- : 반응 함수의 매끄러움
X-Learner 속도 (조건부)
- :
- :
선형 CATE에 Lipschitz 반응이면 모수적(parametric) 속도를 달성할 수 있다.
Meta-learner 선택
결정 가이드
Mermaid source (click to expand)
> flowchart TD
> A[Start] --> B{CATE mostly zero?}
> B -->|Yes| C[S-Learner]
> B -->|No| D{Groups balanced?}
> D -->|No| E[X-Learner]
> D -->|Yes| F{Response functions similar?}
> F -->|Yes| G[X-Learner or R-Learner]
> F -->|No| H[T-Learner]
>
실무 권장 (Künzel et al.)
- 기본 선택: X-Learner (CATE ≈ 0이라는 강한 사전 믿음이 없는 한)
- 작은 데이터셋: 기저 학습기로 BART
- 큰 데이터셋: 기저 학습기로 Random Forest
기저 학습기
Meta-learner는 다양한 기저 학습기와 호환된다.
| Base Learner | Strengths | Typical Use |
|---|---|---|
| Random Forest | Scalable, handles high-dim | Large datasets |
| BART | Uncertainty quantification, regularization | Small datasets |
| Neural Networks | Flexible, complex patterns | Very large datasets |
| Lasso/Ridge | Sparse/regularized linear | High-dim, interpretable |
| Boosting | Adaptive, accurate | General purpose |
관련 개념
- CATE - 추정 대상
- S-Learner - 단일 모델 방식
- T-Learner - 두 모델 방식
- X-Learner - 대치(imputation) 기반 방식
- R-Learner - 잔차화(residualization) 방식
- DR-Learner - 이중 강건(doubly robust) 방식
- 성향점수(propensity score) - 처치 확률
구현
Python (econml):
from econml.metalearners import SLearner, TLearner, XLearner
from sklearn.ensemble import RandomForestRegressor
# S-Learner
s_learner = SLearner(overall_model=RandomForestRegressor())
s_learner.fit(Y, T, X=X)
# T-Learner
t_learner = TLearner(models=RandomForestRegressor())
t_learner.fit(Y, T, X=X)
# X-Learner
x_learner = XLearner(models=RandomForestRegressor())
x_learner.fit(Y, T, X=X)
cate = x_learner.effect(X_test)
R (causalToolbox):
library(causalToolbox)
# S-Learner with RF
s_rf <- S_RF(feat = X, tr = W, yobs = Y)
cate_s <- EstimateCate(s_rf, X_test)
# X-Learner with RF
x_rf <- X_RF(feat = X, tr = W, yobs = Y)
cate_x <- EstimateCate(x_rf, X_test)
참고 문헌
- kunzelMetalearnersEstimatingHeterogeneous2019 - S, T, X-learner
- nieQuasiOracleEstimationHeterogeneous2020 - R-learner
- kennedyOptimalDoublyRobust2023 - DR-learner