처치 효과가 개인의 특성에 따라 달라지는 현상
τ(x)=E[Y(1)−Y(0)∣X=x]
τ(x)가 x에 따라 변하면 이질적 처치 효과(HTE) 존재.
| 유형 | 정의 | 예시 |
|---|
| 동질적 | τ(x)=τ (상수) | 모든 환자에게 동일한 약효 |
| 이질적 | τ(x)가 x에 의존 | 젊은 환자에게 더 큰 약효 |
- 개인화 의사결정: 누구에게 처치할지 결정
- 정책 타겟팅: 효과 큰 집단 우선
- 자원 최적화: 제한된 자원의 효율적 배분
- 과학적 이해: 메커니즘 통찰
| 개념 | 정의 | 관계 |
|---|
| ITE | Yi(1)−Yi(0) | 개인 수준 효과 |
| CATE | E[Y(1)−Y(0)∣X=x] | HTE의 함수적 표현 |
| HTE | CATE의 변동성 | CATE가 변하면 HTE 존재 |
| ATE | E[Y(1)−Y(0)] | CATE의 평균 |
기존 ML 알고리즘을 활용한 CATE 추정:
| Method | 특징 |
|---|
| CFR | 균형 잡힌 표현 학습 |
| CEVAE | VAE 기반 잠재 교란변수 추론 |
| BNN | Balancing Neural Network |
| GANITE | GAN 기반 ITE 추정 |
| Method | 특징 |
|---|
| CMGP | Gaussian Process 멀티태스크 |
| Dragonnet | Targeted regularization |
# Causal Forest로 CATE 추정
from econml.dml import CausalForestDML
cf = CausalForestDML()
cf.fit(Y, T, X)
cate = cf.effect(X)
# 이질성 확인
print(f"CATE std: {cate.std():.3f}")
print(f"CATE range: [{cate.min():.3f}, {cate.max():.3f}]")
# 특성별 효과 분석
for group in ['young', 'old']:
idx = X['age_group'] == group
print(f"{group}: CATE = {cate[idx].mean():.3f}")
# 어떤 변수가 이질성에 기여?
importance = cf.feature_importances_
- 사후 분석으로 효과 큰 그룹 찾기 → 다중비교 문제
- 검증 데이터 분리 필요
- CATE 추정 ≠ 최적 처치 결정
- 개입 효과의 인과적 해석 필요
- “이 환자에게 어떤 치료가 최적인가?”
- 부작용 위험 vs 효과 trade-off
- “어떤 고객에게 프로모션이 효과적인가?”
- Uplift modeling
- “어떤 집단에 정책을 우선 적용할까?”
- 자원 제약 하 최적화
- “어떤 사용자에게 이 콘텐츠가 효과적인가?”
- MOC-LLM4RecSys 등과 연결
| 지표 | 정의 | 용도 |
|---|
| PEHE | E[(τ(X)−τ^(X))2] | CATE 추정 정확도 |
| ATE Estimation Error | $ | \text{ATE} - \widehat{\text{ATE}} |
| Qini coefficient | Uplift curve 기반 | 타겟팅 효율성 |
- yaoSurveyCausalInference2021 - Section 2.2, 3.4, 3.5
- kunzelMetalearnersEstimatingHeterogeneous2019 - Meta-learners
- Athey, S., & Imbens, G. (2016). Recursive partitioning for heterogeneous causal effects
- Wager, S., & Athey, S. (2018). Estimation and inference of HTE using random forests