당니의 개발자 스토리

인과추론을 위한 다양한 방법과 특징 본문

LG Aimers/AI Essential Course

인과추론을 위한 다양한 방법과 특징

clainy 2025. 7. 25. 01:10

현실에는 다양하고 복잡한 데이터가 존재

따라서 공변량 조정(Covariate Adjustment) 방식 외에 보다 다양한 상황에서 사용할 수 있는 인과추론 방법들을 소개할 것임.

 

 

📌 슬라이드 1: IV under Linear Model

핵심 아이디어:

  • 우리가 **공부량(X)**이 **시험점수(Y)**에 영향을 주는지를 알고 싶은 상황이라고 해봅시다.
  • 그런데 **지능(ε)**이라는 숨겨진 요소가 있어서 공부도 많이 하게 하고, 점수도 잘 받게 만듭니다.
  • 이럴 때 그냥 **선형 회귀(OLS)**로 X → Y 관계를 추정하면, 사실 지능이 중간에 껴 있어서 결과가 **왜곡(biased)**됩니다.

예시:

  • 예: A라는 학생이 10시간 공부해서 95점, B라는 학생은 2시간 공부하고도 90점이라면,
    → B는 공부는 적게 했지만 지능이 높을 수 있어서 점수가 높았을 수 있음.

이처럼 **X(공부량)**과 **ε(지능)**이 서로 관련돼 있어서, Y(점수)와의 관계를 깨끗하게 알 수 없음.


📌 슬라이드 2: Two-Stage Least Squares (2SLS) with Covariates

해결 방법: **2단계 방법(2SLS)**을 사용!

🔹 단계 1: X를 Z로 예측한다

  • Z는 형이 공부하라고 강제로 데려가는 횟수 같은 도구변수(instrument)입니다.
  • 형이 자주 끌고 가면 공부시간이 늘어날 수 있음.
  • 수식: X = π₀ + π₁Z + π₂W + ε
    → Z와 다른 설명변수 W(예: 성별, 나이 등)로 공부량 X를 예측.

🔹 단계 2: 예측된 X(= 𝑋̂)를 이용해서 Y를 예측

  • Y = β₀ + β₁𝑋̂ + β₂W + ε
    → 실제 공부량이 아니라 **형의 개입으로 설명된 공부량(𝑋̂)**을 써서 점수를 예측합니다.
    → 이렇게 하면 지능(ε)의 영향을 잘라낼 수 있음!

핵심 직관:

  • Z가 만들어낸 X의 변동만 사용하자!
  • 즉, 지능 같은 숨겨진 변수 없이, 형(Z)이라는 외부 요인으로 생긴 공부량의 효과만 보자는 거예요.

📌 슬라이드 3: Noncompliance and LATE

문제 상황:

  • 형(Z)이 "너 공부해!"라고 했지만, 어떤 사람은 안 가기도(X=0) 하고
    → 형이 개입해도 말 안 듣는 사람이 있음. 이걸 **불순응(noncompliance)**이라 해요.

해결:

  • 우리는 순응하는 사람만 보자!
    → 형이 공부하라 했을 때 진짜 공부한 사람(Complier)만 보면,
    → 이 사람들 안에서의 효과는 믿을 수 있음.

LATE란?

  • Local Average Treatment Effect = 순응자(complier)에 대해서만 측정한 인과효과

예시:

  • 형이 매일 끌고 가는데,
    • C는 말 잘 듣고 공부함 → Complier
    • D는 도망감 → Noncomplier
  • 우리는 C 같은 사람들만 기준 삼아 효과를 보는 것 → LATE

 

💡 1. RDD란 무엇인가요?

RDD는 일종의 실험처럼 작동하는 분석 방법입니다. 하지만 무작위(Randomized)는 아니고, **미리 정해진 기준선(cutoff)**을 기준으로 **갑자기(tadak!) 처치가 바뀌는 점(discontinuity)**을 이용해서 인과관계를 알아냅니다.

예시:

  • 장학금을 주는 기준이 점수가 90점 이상인 경우만 해당된다고 해봅시다.
  • 89점 받은 학생은 장학금을 못 받고, 90점 받은 학생은 받습니다.
  • 이 둘은 실력은 비슷하겠죠? (둘 다 잘함)
  • 하지만 한 명은 장학금 받고, 한 명은 안 받았어요.
  • 경계선 근처의 학생들을 비교하면 장학금이 실제로 어떤 영향을 미치는지 (예: 성적 향상, 공부 동기 상승 등) 인과적으로 파악할 수 있습니다.

🪜 2. 어떻게 작동하나요?

핵심 구조:

  • 어떤 처치를 할지 말지는 **기준선(cutoff)**에 따라 결정돼요.
  • 이 기준선을 **running variable (혹은 forcing variable)**이라고 불러요.
  • 예: 점수, 나이, 소득 등이 될 수 있어요.

예를 들어:

  • 점수가 running variable
  • 장학금 지급 여부가 treatment
  • 나중 성적이 outcome (결과 변수)

✂️ 3. 왜 기준선이 중요하냐면요?

  • cutoff 근처의 사람들은 거의 똑같은 조건인데, 단지 기준선 넘었느냐 안 넘었느냐로 처치가 갈리는 겁니다.
  • 그래서 기준선 바로 위/아래 사람들끼리 비교하면 다른 건 다 같고, 딱 "처치만 다르다"고 볼 수 있어서 인과추론이 가능해요.

🔍 4. 이해를 돕는 두 가지 실제 예시

🧪 Example 1: 장학금 지급 기준선

  • 조건: 점수가 기준선 이상이면 장학금 지급
  • 그러면 점수 89점 vs 90점 받은 학생은 능력 차이는 거의 없음
  • 하지만 장학금 유무는 다름 → 장학금이 성적에 영향을 줬는지 비교할 수 있음

🗳️ Example 2: 선거에서 50% 당선 기준선

  • 조건: 득표율이 50% 넘으면 당선
  • 49.9% 받은 후보 vs 50.1% 받은 후보는 유권자 구성, 지지도 거의 비슷
  • 하지만 결과는 하나는 낙선, 하나는 당선
  • 이후 정책이나 발언 변화 등을 보면, 당선이라는 처치가 실제로 어떤 영향을 미쳤는지 분석할 수 있음

🎯 핵심 요약

개념 설명 예시

RDD 인위적인 기준선을 기준으로 처치가 주어지는 상황을 분석 90점 이상이면 장학금 지급
Running Variable 기준이 되는 변수 시험 점수, 득표율 등
Cutoff 처치가 바뀌는 임계값 90점, 50% 등
Discontinuity 기준선을 기준으로 처치가 ‘뚝’ 나뉨 89점: X, 90점: O
비교 대상 cutoff 근처에 있는 사람들끼리 점수 89 vs 90 학생들

방법설명

Matching 비슷한 특성의 사람들끼리 비교함
IV (도구변수) 외부 변화를 이용해 인과관계를 추정
DiD 정책 전후의 변화를 비교 (차이의 차이)
RD 점수 컷오프를 기준으로 비교
Synthetic Control 대조군이 없을 때, 비슷한 집단들을 조합해서 만든 가짜 대조군을 사용