Causal Mediation Analysis와 DiD로 인과 경로와 정책 효과 추정하기

Causal Mediation Analysis와 Difference-in-Differences의 식별 가정, 추정 방식, 진단 절차와 R 구현 예시를 정리한다.

2026-08-14 · 최초 발행 2024-04-29

효과의 경로를 볼 것인가, 정책 변화의 효과를 볼 것인가

관찰자료에서 인과 질문은 대체로 두 방향으로 나뉜다. 처치가 결과에 영향을 미친 이유와 경로를 알고 싶다면 Causal Mediation Analysis(CMA)가 적합하다. 반대로 정책 시행 전후와 처리·통제집단의 변화를 비교해 평균 처리 효과를 추정하려면 Difference-in-Differences(DiD)를 사용한다.

두 방법은 잠재결과(potential outcomes) 프레임과 인과그래프(Directed Acyclic Graphs)를 바탕으로 한다. SUTVA(간섭 없음), 긍정성(positivity), 모델 적합성도 공통으로 요구된다. 관찰자료에는 비관측 교란의 위험이 남으므로, 가정 점검과 민감도 분석은 추정 이후의 선택사항이 아니다.

매개 경로를 분해하는 CMA

CMA는 처리(T)가 매개(M)를 거쳐 결과(Y)에 이르는 간접효과와, 매개를 통제한 직접효과를 인과적으로 나누는 절차다. 추정 대상은 자연간접효과(NIE), 자연직접효과(NDE), 그리고 전체효과(TE= NDE+NIE)다.

식별의 중심에는 순차적 비교가능성(sequential ignorability)이 있다.

  • (T ⟂⟂ Y(·),M(·) | X)
  • (M ⟂⟂ Y(·) | T,X)

이는 미측정 M–Y 교란이 없다는 조건을 요구한다. 교차세계 가정이 강하다는 문제에는 interventional indirect/direct effects나 g-방법이 대안이 될 수 있다.

실무에서는 매개모형(M|T,X)과 결과모형(Y|T,M,X)을 함께 적합한다. GLM, 로지스틱, 포아송 모형을 적용할 수 있으며, IPW, TMLE, sequential g-estimation은 이중강건성을 추구하는 반실험적 대안이다. 매개–처리 상호작용과 비선형성을 반영하고, 부트스트랩 신뢰구간을 산출하는 과정도 필요하다. Imai 등의 ρ-민감도 분석은 미측정 교란 가정 위반의 강도를 점검하는 데 사용된다.

변화의 차이로 효과를 식별하는 DiD

DiD는 처리집단과 통제집단이 사전–사후 기간에 보인 변화의 차이를 이용해 평균처리효과(ATT)를 식별한다. 시차채택(staggered adoption) 환경에서는 이벤트 스터디(event study)를 통해 동태효과도 추정할 수 있다.

이 방법이 성립하려면 병렬추세(parallel trends), 비예상(no anticipation), 안정적 표본 구성이 필요하다. 처리효과가 이질적인 경우 TWFE는 바이어스와 음의 가중치 문제를 만들 수 있다.

기본 2×2 설계 외에 시차채택형 자료에서는 Callaway–Sant’Anna의 그룹-시간 ATT와 Sun–Abraham 이벤트 스터디를 검토한다. 표준오차는 단위 클러스터-강건(SE) 방식으로 처리하며, 소표본에서는 wild cluster bootstrap을 사용할 수 있다.

사전기간 추세 가설 검정, 위약처치(placebo), 샘플 스플릿, 단순 TWFE의 베이컨 분해는 대표적인 진단 절차다. 공통지지(common support)와 표본 구성 변화를 확인하고, 스필오버와 간섭도 계속 감시해야 한다.

분석 목표에 따라 갈라지는 작업 흐름

메커니즘 규명정책효과 추정입력: 관찰/패널 데이터, 처리T, 결과 Y, 공변량 X분석 목표CMA 경로DiD 경로모형 설정: M~T+X, Y~T+M+X식별 가정 점검: 순차적비교가능성, SUTVA,positivity추정: parametric / IPW /TMLE출력: NDE, NIE, TE, 민감도분석설계: 처리/통제, 사전·사후기간 정의식별 가정 점검: 병렬추세,비예상추정: TWFE(주의) / CS /Sun-Abraham출력: ATT(t), 이벤트 스터디,클러스터 SE

정책·교육·보건 데이터에서의 선택

기본소득 시범 도입을 평가할 때 소비 증가가 젠더·연령 채널을 통해 나타나는지를 보려면 CMA로 총효과 대비 간접효과 비율을 계산할 수 있다. 도시·군 패널에서 도입 시점이 다르다면 DiD를 적용하고, 사전추세 검정과 이벤트 스터디로 동태를 확인한다.

튜터링 프로그램과 성적 향상의 관계에서는 학습시간 증가가 매개인지 CMA로 검증할 수 있다. 최저임금 인상 전후 고용지표에는 DiD를 적용하며, 소표본 지역에서는 wild bootstrap을 고려한다.

금연 캠페인 효과에서 태도 변화가 매개인지 식별하는 경우도 CMA의 적용 대상이다. 프로모션 도입 지역과 기간을 비교하는 DiD 설계에서는 경계 지역을 제외해 스필오버를 최소화할 수 있다.

해석 가능한 추정치를 만들기 위한 조건

CMA에서는 매개 비중(φ= NIE/TE)을 산출해 정책 설계의 타깃을 정밀화하고 자원 재배분 효율을 높일 수 있다. DiD에서는 병렬추세가 성립할 때 교란 편향을 줄이고, 이벤트 스터디로 시차효과 추정 정확도를 높일 수 있다. 클러스터-강건 SE는 과소추정을 방지하는 역할을 한다.

두 방법 모두 인과 메커니즘을 드러내고 설명가능성을 강화한다. 가정에서 출발하는 설계 중심(assumption-first) 접근은 재현성과 외부 타당성 개선에도 연결된다.

R 환경과 데이터 전제

  • R 4.3+, mediation ≥ 4.5.0, fixest ≥ 0.11.2, sandwich ≥ 3.0, did ≥ 2.1.2(선택), data.table ≥ 1.15
  • 결측을 적절히 처리하고, 공변량은 사전에 결정하며, 이산적 시간 인덱스의 정합성을 맞춘다.

CMA 추정과 민감도 분석

# R 4.3+, packages: mediation, stats
install.packages(c("mediation"))
library(mediation)

# 예시 데이터: treat(0/1), mediator M, outcome Y, covariates X1,X2
# 결과모형과 매개모형 지정
m.mod <- lm(M ~ treat + X1 + X2, data = df)
y.mod <- lm(Y ~ treat * M + X1 + X2, data = df)

set.seed(123)
med.out <- mediate(m.mod, y.mod, treat = "treat", mediator = "M",
                   robustSE = TRUE, sims = 1000)

summary(med.out)       # NIE, NDE, TE, 비율 효과 출력
plot(med.out)          # 불확실성 시각화
# 민감도 분석(ρ): 미측정 교란에 대한 견고성 점검
sens <- medsens(med.out, rho.by = 0.1)
plot(sens)

DiD의 TWFE와 이벤트 스터디 구현

# packages: fixest, sandwich, lmtest
install.packages(c("fixest","sandwich","lmtest"))
library(fixest); library(sandwich); library(lmtest)

# 데이터: y, i(unit id), t(time), treat(처리 시작 시점), post(사후), D = 1{t >= g_i}
# 기본 TWFE (주의: 이질적 효과 시 바이어스 가능)
twfe <- feols(y ~ i(D, ref = 0) | i + t, cluster = "i", data = df)
summary(twfe)

# Sun–Abraham 이벤트 스터디: sunab(처리시점, 시간)
es <- feols(y ~ sunab(g, t) | i + t, cluster = "i", data = df)
iplot(es)  # 사전기간 동등추세 시각 검정

# Callaway–Sant’Anna(선택사항)
# install.packages("did"); library(did)
# att_gt <- att_gt(yname="y", tname="t", idname="i", gname="g", xformla=~X1+X2, data=df)
# aggte(att_gt, type="dynamic")

SE와 신뢰구간은 단위 수준 클러스터-강건 방식으로 처리한다. 기간이나 클러스터가 적다면 wild bootstrap을 적용한다. 공변량에는 사전결정 변수만 넣고 post-treatment 변수는 제외한다. 사전등록(analysis plan), DAG 기반 변수 선택, 재현 가능한 파이프라인(drake/targets)도 함께 권장된다.

같은 인과추론이라도 달라지는 제약

항목 CMA DiD
성능(추정 효율) 모형 정합성 높을수록 효율 높음, 민감도 분석으로 불확실성 관리 패널 규모·변동성 크면 효율 우수, 적절한 클러스터링 필수
확장성 다중 매개·비선형 확장 가능, 계산량 증가 시차채택·다중 처리 확장 용이, 고차 상호작용 처리 가능
일관성(식별) 순차적 비교가능성·교차세계 가정에 민감 병렬추세·비예상 위반 시 바이어스, 현대적 추정기로 완화
안정성(견고성) 미측정 교란 취약, ρ-민감도 분석으로 보완 음의 가중치·시계열 상관 취약, 이벤트 스터디·부트스트랩 보완
운영 편의 모델링·해석 난이도 높음, 메커니즘 통찰 제공 구현 용이, 해석 직관적, 설계·진단 절차 중요

CMA는 인과 메커니즘을 분해하고 정책 타깃을 설계할 때 유용하지만, 순차적 비교가능성과 민감도 분석을 함께 다뤄야 한다. DiD는 정책·제도 변화 평가에 널리 쓰이며, 병렬추세와 이질적 처리효과 문제에 맞춰 Sun–Abraham이나 Callaway–Sant’Anna 같은 구현을 선택할 수 있다. DAG 설계, 가정 점검, 플라시보·사전추세·민감도 분석, 재현 가능한 코드 파이프라인을 하나의 분석 과정으로 묶는 것이 핵심이다.

인과추론매개효과차이의 차이정책평가사회과학 통계