Look, See, Why

Difference-in-Differences estimation (DID) / 패널데이터 분석 / HDID(코호트) 본문

사회학 공부/통계 및 데이터분석

Difference-in-Differences estimation (DID) / 패널데이터 분석 / HDID(코호트)

S YE 2025. 12. 3. 15:50

DID로 Treatment Effect 검증하기.

패널(추적조사 대상 집단) 데이터는 정책 전후의 변화를 더 정확하게 분석할 수 있다는 장점이 있다.

개념 : DID는 정책이 시행되기 전 후의 변화를 처치집단vs통제집단 사이에서 비교하여 정책의 '순효과'를 추정하는 것임.

패널 데이터는 기본적으로 횡단(cross-sectional) + 시계열(time-series)임.

 

●기본 개념

-단일 집단 비교의 위험성 : 처치 집단의 전후 결과만 비교할 경우,  결과의 변화가 처치 때문인지, 아니면 관찰되지 않은 시간 효과 때문인지 알 수 없음.

-통제 집단의 필요성 : 처치를 받지 않았지만 동일한 시간 효과를 겪은 통제집단이 필요한데, 처치 집단과 통제 집단 모두 변화가 있을 경우 처치 집단의 감소가 전적으로 처치 때문이 아닐 수 있음.

DID가 존재하지 않는다.
DID가 존재한다.

 

● DID의 핵심 가정 : 평행추세 가정(Parallel Trends Assumption) - 정책이 없었다면 두 집단의 변화가 평행하게 갔을 것이다.

이미 가정이 성립이 되지 않기 때문에 did를 하면 안된다.

 

-> 평행추세 가정이 성립하는지 여부를 파악하기 위해

estat trendplots

estat ptrends

estat granger

의 세 가지 방법으로 검증할 수 있다.

 

●시계열, 횡단, 패널 데이터

-시계열 데이터 : 한 대상을 여러 시점에 걸쳐 반복적으로 관찰한 데이터

-횡단 데이터 : 특정 시점에서 여러 대상을 비교한 데이터

-패널 데이터 : 시계열 + 횡단. 여러 대상을 여러 시점에 걸쳐 반복적으로 관찰한 데이터.

ㄴ패널 데이터 분석은 ① 패널 구조 선택 -> ② 모델 선택(고정효과vs임의효과) -> ③ 회귀 실행(xtreg 등)

 

●잠재적 결과와 회귀 모형의 구조

-개인, 집단, 시간 수준의 데이터를 이용하여 처치(D)가 Para결과(Y)에 미치는 효과를 추정하기 위한 통계학적 논리

-처치를 받지 않았을 때 잠재적 결과 평균 값 : 집단 효과 + 시간 효과

-처치를 받았을 때 잠재적 결과 평균 값 : 집단 효과 + 시간효과 + 처치효과

-처치받은 집단의 평균 처치효과에 대한 회귀식

-

●stata로 이용한 패널 데이터 분석

xtset id1 = 패널데이터라는 것을 stata에게 알려주는 것임

xtdidregress (y1 c.x1##c.x2) (treated1), group(id1) time(t1)

 

●xthdidregress

-정책이나 개입이 집단마다 서로 다른 시점에 도입되고, 도입된 이후에는 처치 상태가 유지되는 패널 데이터를 분석할 때 사용

-처치 코호트 : 같은 시점에 처치를 받기 시작한 집단을 의미

-이질적 처치 효과 : 단일 ATET를 추정하는 xtdidregress와 달리, xthdidregress는 시간과 코호트에 따라 달라지는 여러 개의 ATET 파라미터를 추정 (h = 헤테로 = 들어오는 시점이 이질적이다)

-> 분석 결과표를 더 쉽게 파악하기 위해 estat atetplot 명령어를 사용하면 그래프를 시각화할 수 있다.

estat atetplot (시각화)

 

-estat aggregation, time : 시간별 평균값

-estat aggregation, cohort graph

-estat aggregation, dynamic graph : 처치 시점으로부터 경과한 시간을 기준으로 효과를 분석하는 방법

-twfe : Two-Way Fiexed Effects 모형. 처치, 코호트, 시간의 상호작용 항을 포함한 모형을 분석한 것.

 

-bysort : 그룹별로 정렬하고 그 안에서 연산

-append : 데이터를 위로 쌓기 (행row 추가)

-merge : 데이터를 옆으로 쌓기 (열column 추가)

-local : 매크로. 값을 잠시 저장해두고 뒤에서 불러씀. 반복문에서 필수적으로 사용

-keep if t1==7 : t1이 7인 관측치만 남기고 나머지 모두 삭제

 

☆분석을 하기 전, 데이터의 특성을 잘 이해하는 것이 중요하다. (이건 AI가 하기에 어려움.)

 

One-way Fixed Effects 단일 고정효과 : 한 가지 차원만 고정효과(불변 특성)으로 통제하는 모형임.

ex. 보통 개인적 특성을 고정효과를 둔다.

-Two-way Fixed Effects 이중 고정효과 : 개인적 특성과 시간 두 가지를 불변효과를 모두 통제하는 모형.

 

●실습 데이터 

-연구주제 : 새로운 병원 입원 절차가 환자 만족도에 미치는 영향을 연구

-데이터 : 46 개 병원의 1 월부터 7 월까지의 환자 데이터를 활용하였고 , 새로운 입원 절차는 4 월부터 시행되었는데 , 이 절차를 도입한 병원은 18 개

-관심 결과 변수 (Outcome): 환자 만족도 (satis)
-처치 변수 (Treatment): procedure 변수

그룹 효과 : 병원, 시간 효과 : 1월~7월

use https://www.stata-press.com/data/r19/hospdd, clear

sort hospital month <-이런 식으로 길게 만들어 놓아야 분석할 수 있다.

didregress (satis) (procedure), group(hospital) time(month) <-group(hospital)과 time(month)을 fixed effect로.

 

 

●가정 검증 시각화

-estat trendplots: 평행추세 그래프

DID에서 가장 중요한 "정책 도입 전에 두 집단의 추세가 평행한가?"를 그래프로 시각화하는 도구.

-estat grangerplot : 예기효과 검정

정책 도입 전부터 이미 효과가 나타났는지(예기효과) 검정하는 도구

DID의 가정은 정책 도입 이전에는 처치와 통제 집단의 차이가 없어야 한다는 것임. 그것을 보는 것.

ai 교양 도입 -> 과 별로 측정

 

Heterogeneous Difference-in-Difference

그룹 별로 정책을 도입한 시점이 다르다. DID 기본 가정이 깨졌기 때문에 변형된 DID를 해야 함.

ex.
-연구주제 : 학군 단위 프로그램인 건강한 습관 이 학군 학생들의 체질량지수를 감소시키는지 알아보고자 하는 연구
-데이터 : 학군 단위 데이터로 , 학교의 프로그램 참여 여부 hhabit 와 학군 학생들의 체질량지수 bmi 에 대한 정보를 포함하고 있음 (2032 년부터 2040 년까지 40 개 학군에서
11 세에서 14 세 사이의 학생들을 대상으로 반복 표본을 수집했다고 가정하고 만든 가상 데이터
-종속변수 : 학생의 BMI
-처치변수 : hhabit

use https://www.stata-press.com/data/r19/hhabits , clear

table schools year hhabit <-학군 별로  treatment 시점이 다른 것을 확인해볼 수 있다.

●HDID는 다양한 추정법을 사용한다.

-집단별, 시간별로 처치 효과가 이질적이고, 처치 시점이 다를 때 전통적인 TWFE(Two-Way Fixed Effects) 방식은 편향을 유발할 수 있기에 이를 해결하기 위해 ATET를 먼저 추정한 후 이를 집계하는 방식을 사용함.

-조건부 평행 추세 가정 하에서의 추정 : HDID를 추정할 때 공변량(Covariates)에 따라 평행 추세 가정이 성립하도록 조정해야 할 경우가 많은데 이를 위해 RA, IPW, AIPW 기법을 사용 / + sdid, eventstudyinteract, did_imputation 모듈도 있다.

cf. sdid : synthetic DID로, 중요도가 높은 통제집단을 가중평균하여 가짜 처치집단을 생성하고, 가짜 통제집단과 처치집단의 전후 차이를 비교한다.

eventstudyinteract : 도입시기가 다 다른 코호트별로 따로 효과를 추정해서, 전통 TWFE 에서 생기는 음의 가중치, 편향을 제거.

did_imputation : 정책을 안 받았을 때의 결과값을 모델로 예측해놓고, 실제의 관측값과의 차이를 이용해서 각 코호트의 처치효과를 보정함

cf.공변량 = 결과변수에 영향을 줄 수 있어서 분석에서 함께 고려해야 하는 변수.

hdidregress aipw (bmi medu i.girl i.sports) (hhabit parksd), group(schools) time(year)

명령어 / 추정방법 선택 / 교육수준, 성별, 운동 습관은 공변량이다./ 추가 공변량 parksd 공원접근성? / 개체 고정효과 / 시간 고정 효과

 

 

estat atetplot : 각 학군이 프로그램을 도입한 시점과 연도마다 bmi가 얼마나 변했는지를 보여줌

estat aggregation, cohort : 같은 시기 프로그램을 도입한 학군끼리 묶어서 평균 효과를 보여줌

estat aggregation, cohort graph : 시각화

estat aggregation, time : 연도 기준으로 평균 ATET를 보여줌

estat aggregation, time graph : 평균 효과 시각화

estat aggregation, dynamic graph : 처치 시점을 기준으로 시행 전 5년, 시행 기점, 시행후의 BMI 보여줌