1 정의
처리 \(A\)가 개체 \(i\)의 결과 \(Y\)에 인과 효과를 가진다:
\[ Y_i(1) \neq Y_i(0) \]
- 역학: Individual Causal Effect (ICE), Individual Treatment Effect (ITE)
- IT: Individual Treatment Effect, Unit-level Uplift
여기서 \(Y_i(1)\)은 처리를 받았을 때의 잠재 결과, \(Y_i(0)\)은 받지 않았을 때의 잠재 결과이다.
| 역학 용어 | IT 용어 | 수식 |
|---|---|---|
| Individual Causal Effect | ITE (Uplift) | \(\tau_i = Y_i(1) - Y_i(0)\) |
| Average Causal Effect (ACE) | ATE (Average Treatment Effect) | \(E[Y(1)] - E[Y(0)]\) |
| Causal Risk Difference | Absolute Uplift | \(\Pr[Y^{a=1}=1] - \Pr[Y^{a=0}=1]\) |
| Causal Risk Ratio | Lift (Relative Lift) | \(\Pr[Y^{a=1}=1] / \Pr[Y^{a=0}=1]\) |
| Number Needed to Treat (NNT) | Number to Convert | \(1 / |RD|\) |
2 개념 및 원리
2.1 반사실적 정의
Zeus는 심장 이식을 받은 환자이다. 이식 5일 후 사망했다. 만약 이식을 받지 않았다면 5일 후에도 생존했을 것이라고 가정하자. 이 경우, 심장 이식이 Zeus의 5일 생존에 인과 효과를 가졌다 (Hernán & Robins, 2020, Ch.1).
수학적 표기:
- \(A\): 이원 처리 변수 (1: 처리, 0: 비처리)
- \(Y\): 이원 결과 변수 (1: 사망, 0: 생존)
- \(Y^{a=1}\) (= \(Y_i(1)\)): 처리를 받았을 때의 잠재 결과
- \(Y^{a=0}\) (= \(Y_i(0)\)): 처리를 받지 않았을 때의 잠재 결과
Zeus: \(Y^{a=1} = 1\) (이식 → 사망), \(Y^{a=0} = 0\) (미이식 → 생존). \(Y^{a=1} \neq Y^{a=0}\)이므로 심장 이식은 Zeus에게 인과 효과를 가진다.
2.2 일관성 (Consistency)
\[ \text{if } A_i = a, \text{ then } Y_i^a = Y_i \]
간결하게 \(Y = Y^A\)로 표기한다. Zeus는 실제로 이식을 받았으므로(\(A = 1\)), 관측 결과 \(Y = 1\)은 잠재 결과 \(Y^{a=1} = 1\)과 같다.
2.3 인과 추론의 근본 문제
한 개체에 대해 두 잠재 결과를 동시에 관측할 수 없다. Zeus가 이식을 받았다면 \(Y^{a=1}\)만 관측되고, \(Y^{a=0}\)는 영원히 결측이다. 이것이 인과 추론의 근본 문제(fundamental problem of causal inference)이다.
2.4 평균 인과 효과 (ATE)
\[ \text{ATE} = E[Y^{a=1}] - E[Y^{a=0}] = E[Y_i(1) - Y_i(0)] \]
이원 결과의 경우 \(E[Y^a] = \Pr[Y^a = 1]\)이므로:
\[ \text{ATE} = \Pr[Y^{a=1}=1] - \Pr[Y^{a=0}=1] \]
20명 모집단에서 \(\Pr[Y^{a=1}=1] = \Pr[Y^{a=0}=1] = 0.5\)이면, ATE = 0. 평균 인과 효과가 없다 — 이식 여부와 무관하게 모집단의 절반이 사망한다.
그러나 ATE = 0이라 해서 개체 수준 효과가 없는 것은 아니다. 20명 중 12명에게 개체 수준 인과 효과가 존재할 수 있다:
- 6명: 이식으로 해를 입음 (\(\tau_i = +1\))
- 6명: 이식으로 이득을 봄 (\(\tau_i = -1\))
- 8명: 이식과 무관 (\(\tau_i = 0\))
해를 입은 6명과 이득을 본 6명이 상쇄되어 평균이 0이 된다 (Hernán & Robins, 2020, Ch.1).
2.5 효과 지표
| 지표 | 정의 | 영가설 값 | 해석 |
|---|---|---|---|
| Causal Risk Difference | \(\Pr[Y^{a=1}=1] - \Pr[Y^{a=0}=1]\) | 0 | 절대적 위험 증감 |
| Causal Risk Ratio | \(\Pr[Y^{a=1}=1] / \Pr[Y^{a=0}=1]\) | 1 | 위험 몇 배 증감 |
| Causal Odds Ratio | \(\frac{\Pr[Y^{a=1}=1]/\Pr[Y^{a=1}=0]}{\Pr[Y^{a=0}=1]/\Pr[Y^{a=0}=0]}\) | 1 | 로지스틱 회귀의 자연스러운 척도 |
| NNT | \(-1 / \text{CRD}\) | ∞ | 1건 예방에 필요한 처리 수 |
2.6 SUTVA (Stable Unit Treatment Value Assumption)
잠재 결과가 잘 정의되려면 두 가지 가정이 필요하다 (Rubin, 1980):
| 가정 | 정의 | 역학 위반 예시 | IT 위반 예시 |
|---|---|---|---|
| 비간섭 (No Interference) | \(Y_i^a\)가 \(A_j\)에 의존하지 않음 | 백신 집단면역 효과 | 소셜 네트워크 효과 |
| 처리 변동 무관성 | 처리 \(A=a\)의 모든 “버전”이 같은 결과 | 수술자에 따른 결과 차이 | 기기/OS별 다른 동작 |
3 직관적 설명
3.1 반사실적 사고의 일상 예시
“우산을 가져갔는데 비가 안 왔다. 우산이 필요 없었나?”
이것은 반사실적 질문이다: “우산을 안 가져갔다면 어떻게 되었을까?” 관측된 결과(비에 안 젖음)만으로는 우산의 인과 효과를 알 수 없다 — 애초에 비가 안 왔으니까.
인과 추론의 근본 문제는 정확히 이것이다: 실제로 선택하지 않은 경로의 결과를 관측할 수 없다.
3.2 결측 데이터로 보는 인과 추론
| 개체 | \(A\) (처리) | \(Y\) (관측) | \(Y(0)\) | \(Y(1)\) |
|---|---|---|---|---|
| Zeus | 1 | 사망 | ? | 사망 |
| Hera | 1 | 생존 | ? | 생존 |
| Kronos | 0 | 사망 | 사망 | ? |
| Rheia | 0 | 생존 | 생존 | ? |
?는 결측이다. 한 개체에서 두 잠재 결과를 동시에 볼 수 없기 때문이다. 인과 추론의 모든 방법론은 이 ?를 채우는 체계적 전략이다.
3.3 IT 비유: A/B 테스트에서의 근본 문제
A/B 테스트에서 사용자 Alice는 Treatment (새 UI)를 보았고 구매했다. “Alice가 Control을 보았다면 구매했을까?” — 이것이 Alice에 대한 반사실이다. 개별 사용자의 ITE는 알 수 없지만, 무작위 배정 덕분에 집단 평균 ATE는 추정할 수 있다.
4 왜 필요한가
4.1 연관 ≠ 인과의 실무적 위험
관측 데이터에서 처리군 사망률 \(7/13 = 0.54\), 대조군 사망률 \(3/7 = 0.43\)이면 연관 Risk Difference = \(+0.11\)로 처리가 해로워 보인다. 그러나 실제 인과 효과는 0이다 — 교란 때문이다 (Hernán & Robins, 2020, Ch.1).
이를 구분하지 못하면:
| 실패 사례 | 결과 |
|---|---|
| 효과 없는 치료를 효과 있다고 판단 | 의료비 낭비, 환자 위해 |
| 효과 있는 기능을 효과 없다고 롤백 | 매출 기회 상실 |
| 교란된 연관을 인과로 해석 | 잘못된 세그먼트 타겟팅 |
4.2 인과 지표 vs. 연관 지표
| 인과 지표 | 연관 지표 | |
|---|---|---|
| 비교 대상 | 같은 모집단이 다른 처리를 받았을 때 | 서로 다른 집단 |
| 표기 | \(\Pr[Y^{a=1}=1]\) vs. \(\Pr[Y^{a=0}=1]\) | \(\Pr[Y=1 \mid A=1]\) vs. \(\Pr[Y=1 \mid A=0]\) |
| 교환가능성 필요 | 아니오 (정의 자체가 인과적) | 예 (인과 해석하려면) |
\[ \underbrace{\Pr[Y=1 \mid A=1] - \Pr[Y=1 \mid A=0]}_{\text{연관 (association)}} \neq \underbrace{\Pr[Y^{a=1}=1] - \Pr[Y^{a=0}=1]}_{\text{인과 (causation)}} \]
좌변은 관측 데이터에서 계산 가능하다. 우변은 추가 가정(교환가능성, 양성, 일관성) 없이는 계산할 수 없다.
5 응용 분야
| 분야 | 활용 | 구체적 예시 |
|---|---|---|
| 임상시험 | 약물 효과 정의 | ATE = 생존률 차이로 신약 승인 판단 |
| 테크 기업 | A/B 테스트 효과 정량화 | ATE = 전환율 차이로 feature 출시 판단 |
| 마케팅 | 캠페인 효과 측정 | ITE 추정으로 타겟팅 최적화 (Uplift Modeling) |
| 경제학 | 정책 평가 | ATE = 최저임금 인상의 고용 효과 |
| 교육 | 교수법 비교 | 소규모 수업 vs. 대규모 수업의 성적 차이 |
6 코드 예시
6.1 잠재 결과 시뮬레이션과 근본 문제
import numpy as np
import pandas as pd
np.random.seed(42)
n = 1000
# --- 잠재 결과 생성 (신의 관점) ---
Y0 = np.random.binomial(1, 0.3, n) # 미처리 시 결과
tau = np.random.choice([-1, 0, 1], n, p=[0.2, 0.5, 0.3]) # ITE
Y1 = np.clip(Y0 + tau, 0, 1).astype(int) # 처리 시 결과
true_ate = (Y1 - Y0).mean()
print(f"True ATE (신의 관점): {true_ate:.3f}")
print(f"ITE 분포: harm={np.mean(tau > 0):.1%}, benefit={np.mean(tau < 0):.1%}, null={np.mean(tau == 0):.1%}")
# --- 무작위 배정 (RCT) ---
A = np.random.binomial(1, 0.5, n)
Y_obs = np.where(A == 1, Y1, Y0) # 일관성: Y = Y^A
naive_ate = Y_obs[A == 1].mean() - Y_obs[A == 0].mean()
print(f"\nRCT ATE estimate: {naive_ate:.3f}")
print(f"Bias (RCT): {naive_ate - true_ate:.3f}")
# --- 교란된 관찰 데이터 ---
# 건강한 사람(Y0=0)이 처리를 받을 확률이 높음
prob_treat = 0.7 * (1 - Y0) + 0.3 * Y0
A_obs = np.random.binomial(1, prob_treat)
Y_confounded = np.where(A_obs == 1, Y1, Y0)
confounded_ate = Y_confounded[A_obs == 1].mean() - Y_confounded[A_obs == 0].mean()
print(f"\nConfounded estimate: {confounded_ate:.3f}")
print(f"Bias (confounded): {confounded_ate - true_ate:.3f}")6.2 효과 지표 계산
# 역학 ↔ IT 효과 지표 매핑
p_t = 0.38 # 처리군 전환율 (Risk under treatment)
p_c = 0.32 # 대조군 전환율 (Risk under control)
# 역학 지표
crd = p_t - p_c # Causal Risk Difference
crr = p_t / p_c # Causal Risk Ratio
cor = (p_t / (1 - p_t)) / (p_c / (1 - p_c)) # Causal Odds Ratio
nnt = 1 / abs(crd) # Number Needed to Treat
print("=== 역학 ↔ IT 효과 지표 ===")
print(f"Risk Difference (Uplift): {crd:+.3f}")
print(f"Risk Ratio (Lift): {crr:.3f}")
print(f"Odds Ratio: {cor:.3f}")
print(f"NNT (Number to Convert): {nnt:.1f}")
print(f" → {int(nnt)}명당 1건 추가 전환")7 관련 주제
이전/다음
같은 카테고리
다른 카테고리
8 참고 문헌
- Hernán, M. A. & Robins, J. M. (2020). Causal Inference: What If, Ch.1. Chapman & Hall/CRC.
- Rubin, D. B. (1974). Estimating causal effects of treatments in randomized and nonrandomized studies. Journal of Educational Psychology, 66(5), 688-701.
- Rubin, D. B. (1980). Randomization analysis of experimental data: The Fisher randomization test. JASA, 75(371), 591-593.