인과 추론 개요

Causal Inference — 관찰 데이터에서 ’왜’를 묻는 통계적 프레임워크

인과 추론의 정의, 핵심 문제(교란, 반사실), 두 대 프레임워크(Potential Outcomes, SCM/DAG), 주요 방법론 지도, 그리고 이 시리즈의 로드맵을 개관한다. Hernán & Robins (2020)을 주요 교재로, 실험/관찰 데이터 맥락 모두를 다룬다.

Experimentation
Causal Inference
저자

Kwangmin Kim

공개

2026년 03월 20일

1 정의

정의: 인과 추론 (Causal Inference)

처리(treatment) \(A\)가 결과(outcome) \(Y\)에 미치는 인과적 효과를 데이터로부터 식별(identify)하고 추정(estimate)하는 통계적 방법론의 총칭이다.

  • 역학: Causal Inference, Causal Epidemiology
  • IT: Causal Analysis, Uplift Modeling, Treatment Effect Estimation

핵심 질문: “만약 \(A\)를 바꾸었다면 \(Y\)는 어떻게 달라졌을까?” (반사실적 질문)

역학 (Epidemiology) IT/비즈니스 비고
Treatment/Exposure Variant/Treatment 처치
Outcome Metric/KPI 결과 변수
Causal Effect Treatment Effect, Lift 인과 효과
Confounding Confounding/Bias 교란
Randomization Random Assignment (A/B Test) 무작위 배정
Observational Study Quasi-experiment, Log Analysis 관찰 연구

“인과”라는 단어가 들어가지만, 인과 추론은 철학이 아니라 결측 데이터 문제를 다루는 통계학의 한 분야이다. 개체 \(i\)가 처리를 받았을 때의 결과 \(Y_i(1)\)와 받지 않았을 때의 결과 \(Y_i(0)\)를 모두 관측할 수 없다는 것이 핵심 난제이며, 이를 인과 추론의 근본 문제(fundamental problem of causal inference)라 부른다 (Hernán & Robins, 2020, Ch.1).

표기법 안내

이 시리즈는 Hernán & Robins (2020) 표기법 \(Y^{a}\)를 주로 사용한다. Rubin Causal Model에서는 같은 개념을 \(Y_i(a)\)로 표기한다. \(Y^{a=1} = Y_i(1)\), \(Y^{a=0} = Y_i(0)\)이며, 개체 수준 인과 효과는 \(\tau_i = Y_i(1) - Y_i(0)\)이다.


2 개념 및 원리

2.1 잠재 결과 (Potential Outcomes)

개체 \(i\)에 대해 이원 처리 \(A \in \{0, 1\}\)가 있을 때:

  • \(Y_i^{a=1}\) (또는 \(Y_i(1)\)): 처리를 받았을 때의 잠재 결과
  • \(Y_i^{a=0}\) (또는 \(Y_i(0)\)): 처리를 받지 않았을 때의 잠재 결과

개체 수준 인과 효과: \(\tau_i = Y_i(1) - Y_i(0)\)

한 개체에 대해 두 잠재 결과를 동시에 관측할 수 없으므로 (근본 문제), 평균 인과 효과(Average Causal Effect, ACE = ATE)로 관심을 전환한다:

\[ \text{ATE} = E[Y^{a=1}] - E[Y^{a=0}] = E[Y_i(1) - Y_i(0)] \]

2.2 식별 조건 (Identifiability Conditions)

관찰 데이터에서 \(E[Y^{a}]\)\(E[Y \mid A=a]\)로 대체하려면 세 가지 조건이 필요하다 (Hernán & Robins, 2020, Ch.3):

조건 정의 직관
교환가능성 (Exchangeability) \(Y^a \perp\!\!\!\perp A\) for all \(a\) 처리군과 대조군이 교환 가능
양성 (Positivity) \(\Pr[A=a \mid L=l] > 0\) for all \(l\) 모든 층에서 처리·비처리 관측 가능
일관성 (Consistency) \(A_i = a \Rightarrow Y_i = Y_i^a\) 관측 결과 = 잠재 결과

세 조건이 모두 성립하면:

\[ E[Y^a] = \sum_l E[Y \mid A=a, L=l] \Pr[L=l] \quad \text{(standardization)} \]

2.3 두 대 프레임워크

측면 Potential Outcomes (Rubin) SCM/DAG (Pearl)
인과 효과 정의 \(E[Y^{a=1}] - E[Y^{a=0}]\) \(E[Y \mid do(A=1)] - E[Y \mid do(A=0)]\)
교란 식별 교환가능성 가정 Backdoor criterion
추정 전략 IPW, g-formula, matching do-calculus → 통계적 추정량
강점 추정량 도출이 명시적 교란 구조를 시각적으로 분석

실무에서는 DAG로 교란 구조를 분석하고, Potential Outcomes 프레임워크로 추정량을 도출하는 조합이 흔하다.


3 직관적 설명

3.1 상관 \(\neq\) 인과: 아이스크림과 익사

아이스크림 판매량과 익사 사고 수는 강한 양의 상관을 보인다. 아이스크림이 익사를 유발하는가? 아니다 — 공통 원인(confounder)인 기온이 둘 다 올린다.

관찰 데이터에서 발견한 \(\Pr[Y=1 \mid A=1] - \Pr[Y=1 \mid A=0]\)연관 차이(associational risk difference)이지, 인과 차이(causal risk difference) \(\Pr[Y^{a=1}=1] - \Pr[Y^{a=0}=1]\)가 아니다.

3.2 Simpson’s Paradox: 방향이 뒤집히는 교란

약물 A 성공률 약물 B 성공률
전체 200/350 = 57% 180/350 = 51%
경증 80/100 = 80% 230/270 = 85%
중증 120/250 = 48% 50/80 = 63%

전체적으로 A가 좋아 보이지만, 모든 하위 그룹에서 B가 우월하다. A가 중증 환자에게 더 많이 처방되었기 때문이다. 교란 변수(중증도)를 통제하지 않으면 방향이 역전된 결론에 도달한다.

직관: A/B 테스트에서 무작위 배정이 중요한 이유는 “비교 가능한 집단”을 만들기 위해서이다. 무작위 배정 없이 비교하면, 건강한 사람만 약을 먹고 아픈 사람은 안 먹는 상황이 생긴다. 약 때문에 나아진 건지 원래 건강해서 나아진 건지 구분할 수 없다.

3.3 역사적 맥락

  • 1923: Neyman이 잠재 결과 개념을 농업 실험에서 도입
  • 1948: 최초의 현대적 RCT — 스트렙토마이신 결핵 임상시험 (BMJ)
  • 1974: Rubin이 잠재 결과 프레임워크를 체계화
  • 2000: Pearl이 SCM/DAG 프레임워크 확립

4 왜 필요한가

4.1 비즈니스 의사결정에서의 중요성

상황 인과 추론 없이 인과 추론으로
마케팅 캠페인 평가 “캠페인 후 매출 올랐으니 효과 있음” (계절성 무시) DID로 캠페인 효과와 시간 추세 분리
추천 알고리즘 변경 “CTR이 오른 건 알고리즘 덕분” (신규 유저 유입 무시) A/B 테스트로 알고리즘 효과만 분리
가격 인하 효과 “할인하면 매출 증가” (할인받는 집단 특성 무시) PSM/IPW로 가격 민감도 추정

4.2 A/B 테스트가 불가능한 상황

상황 이유 대안
윤리적 제약 위해한 처리를 무작위 배정 불가 관찰 데이터 + 인과 추론
기술적 제약 플랫폼 전체에 영향을 미치는 변경 ITS, Switchback
비용 제약 실험 기간/트래픽 부족 관찰 데이터 외삽
외적 타당도 실험 환경 ≠ 실제 환경 Target trial emulation

인과 추론은 A/B 테스트의 “대안”이 아니라, A/B 테스트를 포함하는 “상위 프레임워크”이다. RCT는 인과 추론의 한 방법이며, 가장 강력한 방법이지만 항상 가능한 것은 아니다.


5 응용 분야

분야 역학/의학 IT/비즈니스 대표 방법
실험적 인과 추론 RCT (Phase III 임상시험) A/B 테스트 무작위 배정
관찰적 인과 추론 코호트 연구, 케이스-컨트롤 로그 분석, 행정 데이터 분석 PSM, IPW, g-formula
준실험적 설계 자연 실험, 정책 변경 분석 가격 변경, 지역별 출시 DID, RDD, ITS
도구변수 멘델리안 무작위화 할인 쿠폰 무작위 노출 IV, 2SLS
시간 변동 처리 장기 치료 프로토콜 동적 가격 책정, 추천 정책 MSM, g-computation
효과 이질성 하위 그룹 분석 (연령, 성별) 세그먼트별 효과 분석 Causal forest, Meta-learners

6 예시

6.1 역학: 심장 이식과 5일 생존

Hernán & Robins (2020) Ch.1의 핵심 예시이다. 20명의 모집단에서:

처리 수준 사망자 수 사망 확률
\(a = 1\) (전원 이식) 10/20 \(\Pr[Y^{a=1}=1] = 0.50\)
\(a = 0\) (전원 미이식) 10/20 \(\Pr[Y^{a=0}=1] = 0.50\)
  • Causal Risk Difference: \(0.50 - 0.50 = 0\) → 평균 인과 효과 없음
  • Causal Risk Ratio: \(0.50 / 0.50 = 1.0\)

그러나 관측 데이터에서 처리군 사망률 \(7/13 = 0.54\), 대조군 사망률 \(3/7 = 0.43\)으로 연관이 존재한다. 교환가능성이 위반되었기 때문이다.

6.2 IT: 추천 알고리즘 A/B 테스트

지표 역학 대응 Control (기존) Treatment (신규) 효과
구매 전환율 Risk 3.2% 3.8%
Lift Relative Risk 1.00 1.19 RR = 1.19
Uplift Risk Difference 0 +0.6%p RD = +0.006
NNT NNT 167 167명당 1건 추가 구매

무작위 배정 → 교환가능성 보장 → 연관 차이 = 인과 차이.


7 코드 예시

7.1 관측 데이터에서 교란 확인: 연관 vs. 인과

import numpy as np
import pandas as pd

# Hernán & Robins Table 1.1 스타일: 20명 모집단
np.random.seed(42)
n = 2000

# L: 교란 변수 (0=건강, 1=중증)
L = np.random.binomial(1, 0.6, n)

# A: 처리 — 중증일수록 처리 확률 높음 (교란)
prob_treat = 0.3 + 0.4 * L  # L=0: 0.3, L=1: 0.7
A = np.random.binomial(1, prob_treat)

# Y: 결과 — L이 직접 영향, A의 진짜 인과 효과 = -0.10 (보호 효과)
true_ate = -0.10
prob_y = np.clip(0.2 + 0.3 * L + true_ate * A, 0, 1)
Y = np.random.binomial(1, prob_y)

df = pd.DataFrame({"L": L, "A": A, "Y": Y})

# --- 연관 지표 (교란 포함) ---
naive_rd = df[df.A == 1].Y.mean() - df[df.A == 0].Y.mean()
print(f"Naive Risk Difference (association): {naive_rd:.3f}")
# 양수로 나올 수 있음 — 교란 때문에 처리가 해로워 보임

# --- 표준화 (교란 보정) ---
standardized = 0.0
for l_val in [0, 1]:
    p_l = (df.L == l_val).mean()
    for a_val in [0, 1]:
        sub = df[(df.L == l_val) & (df.A == a_val)]
        if a_val == 1:
            standardized += sub.Y.mean() * p_l
        else:
            standardized -= sub.Y.mean() * p_l

print(f"Standardized Risk Difference (causal): {standardized:.3f}")
print(f"True ATE: {true_ate:.3f}")

7.2 IPW 추정

from sklearn.linear_model import LogisticRegression

# 성향 점수 추정
ps_model = LogisticRegression()
ps_model.fit(df[["L"]], df["A"])
ps = ps_model.predict_proba(df[["L"]])[:, 1]

# IPW 가중치
weights = np.where(A == 1, 1 / ps, 1 / (1 - ps))

# 가중 평균으로 ATE 추정
y1_ipw = np.average(Y[A == 1], weights=weights[A == 1])
y0_ipw = np.average(Y[A == 0], weights=weights[A == 0])
ate_ipw = y1_ipw - y0_ipw
print(f"IPW ATE estimate: {ate_ipw:.3f}")

8 방법론 지도

8.1 설계 기반 (Design-Based)

방법 핵심 아이디어 적용 조건
RCT 무작위 배정으로 교환가능성 보장 실험이 가능한 경우
Difference-in-Differences (DID) 처리 전후 × 처리/대조 이중 차이 평행 추세 가정
Regression Discontinuity (RDD) 할당 변수의 cutoff 주변 국소 무작위화 연속적 할당 변수
Interrupted Time Series (ITS) 개입 전후 시계열 추세 비교 명확한 개입 시점
Instrumental Variables (IV) 처리에만 영향을 주는 도구변수 유효한 도구변수 존재

8.2 모형 기반 (Model-Based)

방법 핵심 아이디어 적용 조건
Outcome Regression \(E[Y \mid A, L]\) 모형으로 교란 보정 결과 모형이 올바르게 지정
IP Weighting (IPW) 처리 확률의 역수로 가중 처리 모형이 올바르게 지정
Standardization / g-formula \(\sum_l E[Y \mid A=a, L=l] P(L=l)\) 결과 모형 + positivity
Doubly Robust (DR) 결과 OR 처리 모형 중 하나만 맞아도 일치 둘 중 하나의 정확한 지정

9 이 시리즈의 구성 (로드맵)

Hernán & Robins (2020) Causal Inference: What If의 3부 구성을 뼈대로 한다.

주제 Hernán & Robins 대응 상태
01 인과 추론 개요 (이 글) 완료
02 인과 효과의 정의와 잠재 결과 Part I, Ch.1 완료
03 무작위 실험과 교환가능성 Part I, Ch.2 완료
04 관찰 연구와 식별 조건 Part I, Ch.3 완료
05 효과 수정과 상호작용 Part I, Ch.4-5 완료
06 DAG와 인과 다이어그램 Part I, Ch.6 완료
07 교란 Part I, Ch.7 완료
08 선택 편향 Part I, Ch.8 완료
09 측정 오차와 랜덤 변동 Part I, Ch.9-10 완료
10 IP 가중치와 주변 구조 모형 Part II, Ch.12 예정
11 표준화와 g-formula Part II, Ch.13 예정
12 성향점수와 결과 회귀 Part II, Ch.15 예정
13 도구변수 Part II, Ch.16 예정
14 인과 생존 분석 Part II, Ch.17 예정
15 시간 변동 처리와 G-methods Part III, Ch.19-21 예정
16 Target Trial Emulation Part III, Ch.22 예정
17 인과 매개 분석 Part III, Ch.23 예정

10 관련 주제

선행 지식 (Statistics)

같은 카테고리 (Experimentation)

다른 카테고리 연결


11 참고 문헌

  • Hernán, M. A. & Robins, J. M. (2020). Causal Inference: What If. Chapman & Hall/CRC.
  • Pearl, J. (2009). Causality: Models, Reasoning, and Inference (2nd ed.). Cambridge University Press.
  • Imbens, G. W. & Rubin, D. B. (2015). Causal Inference for Statistics, Social, and Biomedical Sciences. Cambridge University Press.
  • Angrist, J. D. & Pischke, J. S. (2009). Mostly Harmless Econometrics. Princeton University Press.

Subscribe

Enjoy this blog? Get notified of new posts by email: