가짜연구소 인과추론 팀 11기 — Python DiD 코드집 배포

2025.12.01·
Sieun Kim
Sieun Kim
· 2 min read
projects
개요
흩어져 있던 다양한 DiD(이중차분) 방법론을 Python 코드로 통합·정리해, 누구나 바로 따라 쓸 수 있는 인과추론 코드집으로 만들어 배포한 프로젝트입니다.
활동
가짜연구소 11기 인과추론 팀 (오픈소스 코드집 제작·배포)
활동
2025.09~2025.12
담당 역할
DiD 파트 코드 제작 (기여도 85%) · 팀원 코드 리뷰 (15%)
기술 스택
Python · pandas · NumPy · statsmodels · linearmodels · DoubleML · LightGBM · Git/GitHub
기대 효과
R 중심이던 인과추론 학습을 Python으로 확장하고, 여러 DiD 방법을 한곳에 통합해 재현성·학습 효율 향상

무엇을, 왜 했나

DiD(Difference-in-Differences)는 정책·처치의 효과를 추정하는 대표적인 인과추론 방법이지만, 막상 공부하려 하면 자료가 대부분 R 중심이라 Python 사용자에게는 진입 장벽이 높았습니다. 게다가 Basic DiD부터 최신 Staggered DiD·머신러닝 DiD까지 방법론이 흩어져 있어, 한눈에 비교하며 배우기 어려웠습니다.

그래서 다양한 DiD 방법론을 Python으로 일관되게 구현하고, 한 저장소에 통합해 배포하기로 했습니다. 저는 그중 DiD 파트 코드 제작을 주도했습니다.


작업 내용

  • 데이터 준비: 지역 단위 패널데이터를 전처리하고, 처치 전후 구간을 구분해 모든 방법론이 공통으로 쓸 수 있는 형태로 정리했습니다.
  • DiD 방법론 구현·비교: 아래 방법들을 같은 데이터 위에서 구현해 결과를 비교했습니다.
    • Basic DiD — 가장 기본적인 2×2 이중차분
    • 회귀 기반 DiD — 회귀식으로 표현한 DiD
    • TWFE — 양방향 고정효과 모형
    • DRDiD — 이중 강건(Doubly Robust) DiD
    • Staggered DiD — 처치 시점이 집단마다 다른 경우를 보정
    • Event Study — 처치 전후 시점별 동적 효과 추정
    • DoubleML — 머신러닝으로 교란을 통제하는 이중 머신러닝
    • LightGBM 기반 ML DiD — 부스팅 모델을 결합한 DiD
  • 코드 리뷰·배포: DiD 파트 코드를 제작하고 팀원 코드를 리뷰한 뒤, Python 인과추론 코드집으로 정리해 GitHub에 공개 배포했습니다.

핵심 요약

  • Python으로의 확장: R 위주이던 인과추론 학습 자료를 Python으로 옮겨, Python 사용자의 진입 장벽을 낮췄습니다.
  • 방법론 통합: Basic·TWFE·Staggered·DoubleML·ML DiD까지 8가지 방법을 한 저장소에 모아, 재현성과 학습 효율을 높였습니다.
  • 주도적 기여: DiD 파트 코드 제작(85%)을 주도하고 팀원 코드를 리뷰해, 배포 가능한 오픈소스 코드집으로 완성했습니다.

Sieun Kim
Authors
Data Scientist
데이터를 바탕으로 문제를 이해하고, 신뢰할 수 있는 분석 결과를 제공하는 데이터 분석가입니다.