Tae Hyun Kim (Lowell)

Meta-learners

정의

Meta-learner는 임의의 지도학습(supervised learning) 회귀기, 즉 기저 학습기(base learner)를 조합해 CATE를 추정하는 알고리즘을 통칭한다.

핵심 아이디어:

CATE 추정 문제를 기저 학습기가 풀 수 있는 여러 하위 회귀(sub-regression) 문제로 분해한다

τ(x)=E[Y(1)Y(0)X=x]\tau(x) = E[Y(1) - Y(0) | X = x]

주요 Meta-learner:

직관적 이해

왜 “Meta”인가?

  • 기저 학습기(RF, BART, NN 등)는 E[YX]E[Y|X]를 추정하도록 설계되었다
  • CATE τ(x)=E[Y(1)Y(0)X]\tau(x) = E[Y(1) - Y(0)|X]는 직접 추정할 수 없다
  • 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 비교

MethodApproachProsConsBest When
S-Learnerμ^(x,1)μ^(x,0)\hat{\mu}(x,1) - \hat{\mu}(x,0)Simple, shares dataMay ignore small effectsCATE ≈ 0
T-Learnerμ^1(x)μ^0(x)\hat{\mu}_1(x) - \hat{\mu}_0(x)Captures different response functionsNo data sharingμ0μ1\mu_0 \neq \mu_1 structures
X-LearnerTwo-stage imputation + weightingExploits CATE structure, handles imbalanceMore complexUnbalanced groups, smooth CATE
R-LearnerResidualized regressionOrthogonalityRequires product rateHeterogeneous effects
DR-LearnerDR pseudo-outcome regressionDouble robustnessStability conditionRobustness desired

틀과 설정

잠재결과(potential outcome) 틀

XΛ,WBern(e(X))X \sim \Lambda, \quad W \sim \text{Bern}(e(X)) Y(0)=μ0(X)+ϵ(0),Y(1)=μ1(X)+ϵ(1)Y(0) = \mu_0(X) + \epsilon(0), \quad Y(1) = \mu_1(X) + \epsilon(1)

여기서 각 기호는 다음을 뜻한다.

  • XRdX \in \mathbb{R}^d: 공변량(covariate)
  • W{0,1}W \in \{0, 1\}: 처치(treatment) 지시 변수
  • e(x)=P(W=1X=x)e(x) = P(W=1|X=x): 성향점수(propensity score)
  • μa(x)=E[Y(a)X=x]\mu_a(x) = E[Y(a)|X=x]: 반응 함수

식별(identification) 가정

  1. 무교란성(unconfoundedness): (Y(0),Y(1))WX(Y(0), Y(1)) \perp W | X
  2. Positivity: 0<emin<e(x)<emax<10 < e_{min} < e(x) < e_{max} < 1

추정 대상

EMSE(P,τ^)=E[(τ(X)τ^(X))2]\text{EMSE}(P, \hat{\tau}) = E[(\tau(X) - \hat{\tau}(X))^2]

수렴 속도(convergence rate)

기호: S(a)S(a)는 미니맥스 속도가 NaN^{-a}인 함수 클래스를 뜻한다.

T-Learner 속도

Rate=O(maμ+naμ)\text{Rate} = O(m^{-a_\mu} + n^{-a_\mu})

  • mm: 대조군 크기, nn: 처치군 크기
  • aμa_\mu: 반응 함수의 매끄러움

X-Learner 속도 (조건부)

  • τ^0\hat{\tau}_0: O(maτ+naμ)O(m^{-a_\tau} + n^{-a_\mu})
  • τ^1\hat{\tau}_1: O(maμ+naτ)O(m^{-a_\mu} + n^{-a_\tau})

선형 CATE에 Lipschitz 반응이면 모수적(parametric) 속도를 달성할 수 있다.

Meta-learner 선택

결정 가이드

Meta-learners

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.)

  1. 기본 선택: X-Learner (CATE ≈ 0이라는 강한 사전 믿음이 없는 한)
  2. 작은 데이터셋: 기저 학습기로 BART
  3. 큰 데이터셋: 기저 학습기로 Random Forest

기저 학습기

Meta-learner는 다양한 기저 학습기와 호환된다.

Base LearnerStrengthsTypical Use
Random ForestScalable, handles high-dimLarge datasets
BARTUncertainty quantification, regularizationSmall datasets
Neural NetworksFlexible, complex patternsVery large datasets
Lasso/RidgeSparse/regularized linearHigh-dim, interpretable
BoostingAdaptive, accurateGeneral 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

연결 그래프