Difference-in-Differences — identyfikacja efektów polityk

Streszczenie

Pełny wykład metody różnicy w różnicach (DiD): model potencjalnych wyników, dowód że DiD identyfikuje ATT przy założeniu równoległych trendów, równoważność z regresją z interakcją, event study, two-way fixed effects i obciążenie przy stopniowym przyjmowaniu (staggered adoption) — z wykresami w skali szarości (2D i 3D), szczegółowo policzonymi przykładami, kodem R i Python oraz bibliografią z DOI.

Ocena przyczynowego efektu polityki — podwyżki płacy minimalnej, programu szkoleniowego, reformy podatkowej — jest jednym z centralnych zadań ekonometrii stosowanej. Metoda różnicy w różnicach (DiD) podejmuje to zagadnienie, porównując zmianę w grupie objętej polityką ze zmianą w grupie kontrolnej. Poniższy wykład koncentruje się na dowodzie, że pod jednym, jawnie sformułowanym założeniem DiD identyfikuje przyczynowy efekt polityki na objętych.

Problem i naiwne podejścia

Pojedyncze porównania zawodzą. Porównanie przed a po w samej grupie objętej myli efekt polityki z ogólnym trendem czasowym. Porównanie objęci a nieobjęci po polityce myli efekt z wcześniejszymi, stałymi różnicami między grupami. DiD łączy oba porównania, eliminując oba obciążenia jednocześnie. Genealogia metody sięga badania Johna Snowa nad cholerą (1855); jej nowoczesny, ekonometryczny kształt nadało badanie płacy minimalnej Carda i Kruegera (1994), za które David Card otrzymał Nagrodę Nobla w 2021 roku.

Estymator różnicy w różnicach

Definicja
Estymator DiD (2×2)

Przy dwóch grupach (objęta $T$, kontrolna $C$) i dwóch okresach (przed $0$, po $1$) estymator DiD to różnica różnic:

$$ \hat\delta_{DiD}=\underbrace{(Y_{T,1}-Y_{T,0})}_{\Delta_T}-\underbrace{(Y_{C,1}-Y_{C,0})}_{\Delta_C}. $$

Grupa kontrolna dostarcza kontrafaktycznego trendu — tego, co przydarzyłoby się grupie objętej, gdyby polityki nie wprowadzono.

Aby nadać temu estymatorowi sens przyczynowy, posługujemy się modelem potencjalnych wyników: $Y_{it}(1)$ to wynik jednostki $i$ w okresie $t$ pod polityką, $Y_{it}(0)$ — bez niej. Interesuje nas przeciętny efekt na objętych (ATT): $\mathrm{ATT}=\mathbb{E}[Y_{T,1}(1)-Y_{T,1}(0)\mid \text{objęci}]$.

Twierdzenie
DiD identyfikuje ATT przy równoległych trendach

Jeśli zachodzi założenie równoległych trendów — w braku polityki oczekiwana zmiana wyniku byłaby w obu grupach taka sama:

$$ \mathbb{E}[Y_{T,1}(0)-Y_{T,0}(0)]=\mathbb{E}[Y_{C,1}(0)-Y_{C,0}(0)], $$

to estymand DiD równa się przeciętnemu efektowi polityki na objętych: $\delta_{DiD}=\mathrm{ATT}$.

Dowód
Identyfikacja ATT przez różnicę w różnicach
  1. Co obserwujemy. W grupie objętej po polityce widzimy wynik pod polityką: $\mathbb{E}[Y_{T,1}]=\mathbb{E}[Y_{T,1}(1)]$. W pozostałych trzech komórkach polityka nie działa, więc widzimy wyniki bez niej: $\mathbb{E}[Y_{T,0}]=\mathbb{E}[Y_{T,0}(0)]$, $\mathbb{E}[Y_{C,1}]=\mathbb{E}[Y_{C,1}(0)]$, $\mathbb{E}[Y_{C,0}]=\mathbb{E}[Y_{C,0}(0)]$.
  2. Estymand DiD. $\delta_{DiD}=\big(\mathbb{E}[Y_{T,1}]-\mathbb{E}[Y_{T,0}]\big)-\big(\mathbb{E}[Y_{C,1}]-\mathbb{E}[Y_{C,0}]\big)$. Podstawiając krok 1: $$ \delta_{DiD}=\big(\mathbb{E}[Y_{T,1}(1)]-\mathbb{E}[Y_{T,0}(0)]\big)-\big(\mathbb{E}[Y_{C,1}(0)]-\mathbb{E}[Y_{C,0}(0)]\big). $$
  3. Dodanie i odjęcie kontrafaktu. Wprowadzamy $\mathbb{E}[Y_{T,1}(0)]$ (kontrafaktyczny wynik objętych bez polityki): $$ \delta_{DiD}=\underbrace{\big(\mathbb{E}[Y_{T,1}(1)]-\mathbb{E}[Y_{T,1}(0)]\big)}_{=\,\mathrm{ATT}}+\underbrace{\big(\mathbb{E}[Y_{T,1}(0)]-\mathbb{E}[Y_{T,0}(0)]\big)}_{\text{trend objętych bez polityki}}-\big(\mathbb{E}[Y_{C,1}(0)]-\mathbb{E}[Y_{C,0}(0)]\big). $$
  4. Zastosowanie równoległych trendów. Z założenia drugi człon (trend objętych bez polityki) równa się trzeciemu (trend kontroli), więc oba się znoszą.
  5. Wniosek. Pozostaje $\delta_{DiD}=\mathrm{ATT}$ — różnica w różnicach identyfikuje przyczynowy efekt polityki na objętych. Cała wiarygodność metody spoczywa na założeniu z kroku 4.
Wykres difference-in-differences — trendy i kontrafakt
Mechanizm DiD. Linia ciągła — rzeczywisty przebieg grupy objętej; przerywana — grupa kontrolna; kropkowana — kontrafakt objętych, czyli ich trend, gdyby podlegali wyłącznie zmianie wspólnej z kontrolą. Pionowy odstęp między rzeczywistością a kontrafaktem w okresie po to efekt $\delta=2$.

Postać regresyjna

Twierdzenie
DiD jako współczynnik interakcji

W regresji nasyconej

$$ Y_{it}=\beta_0+\beta_1\,\text{Objęty}_i+\beta_2\,\text{Po}_t+\delta\,(\text{Objęty}_i\times\text{Po}_t)+\varepsilon_{it} $$

współczynnik interakcji $\delta$ równa się dokładnie estymatorowi różnicy w różnicach. Pozostałe parametry: $\beta_1$ — stała różnica między grupami, $\beta_2$ — wspólny trend czasowy.

Dowód
Współczynnik interakcji to podwójna różnica
  1. Średnie komórkowe z modelu. Podstawiając wartości wskaźników: kontrola przed ($\text{Objęty}=0,\text{Po}=0$) daje $\beta_0$; kontrola po — $\beta_0+\beta_2$; objęta przed — $\beta_0+\beta_1$; objęta po — $\beta_0+\beta_1+\beta_2+\delta$.
  2. Różnica w grupie objętej. $(\beta_0+\beta_1+\beta_2+\delta)-(\beta_0+\beta_1)=\beta_2+\delta$.
  3. Różnica w grupie kontrolnej. $(\beta_0+\beta_2)-\beta_0=\beta_2$.
  4. Różnica różnic. $(\beta_2+\delta)-\beta_2=\delta$. Ponieważ model nasycony (cztery parametry na cztery średnie komórkowe) dopasowuje średnie dokładnie, estymator MNK $\hat\delta$ jest tożsamy z podwójną różnicą $\hat\delta_{DiD}$.
Przykład
Efekt dodatni mimo wspólnego spadku

Płaca minimalna a zatrudnienie. Grupa kontrolna: zatrudnienie $20\to16$ ($\Delta_C=-4$, wspólny spadek koniunkturalny). Grupa objęta: $22\to20$ ($\Delta_T=-2$).

$$ \hat\delta_{DiD}=\Delta_T-\Delta_C=(-2)-(-4)=+2. $$

Kontrafakt: gdyby objęci podlegali tylko spadkowi $\Delta_C$, ich zatrudnienie wyniosłoby $22-4=18$; rzeczywiste to $20$, więc efekt polityki to $+2$. Współczynniki regresji: $\beta_0=20$, $\beta_1=22-20=2$, $\beta_2=-4$, $\delta=+2$, a kontrola: $\beta_0+\beta_1+\beta_2+\delta=20+2-4+2=20$ — zgadza się z obserwacją. Mimo że zatrudnienie w grupie objętej spadło, polityka wpłynęła na nie dodatnio względem kontrafaktu — to istota DiD.

Przykład
Program szkoleniowy

Dochód uczestników: $10\to15$ ($\Delta_T=+5$). Grupa kontrolna: $10\to14$ ($\Delta_C=+4$, ogólny wzrost płac). Wówczas

$$ \hat\delta_{DiD}=5-4=+1. $$

Choć dochód uczestników wzrósł o $5$, samej polityce można przypisać tylko $+1$ — resztę wyjaśnia wspólny trend widoczny w grupie kontrolnej. Naiwne porównanie przed–po zawyżyłoby efekt pięciokrotnie.

Cztery średnie komórkowe DiD
Cztery średnie komórkowe i dwie różnice. Linia ciągła łączy obserwacje grupy objętej ($\Delta_T=-2$), przerywana — kontrolnej ($\Delta_C=-4$). Estymator DiD to różnica nachyleń tych odcinków: $-2-(-4)=+2$.

Założenie równoległych trendów i event study

Założenie równoległych trendów dotyczy kontrafaktu, więc jest bezpośrednio niesprawdzalne. Uwiarygodnia się je, badając zachowanie grup przed polityką: jeśli poruszały się równolegle wcześniej, prawdopodobnie poruszałyby się równolegle i później. Narzędziem jest event study — estymacja efektów dla wielu okresów względem momentu interwencji.

Event study — efekty przed i po polityce
Event study: oszacowane efekty względem okresu polityki (okres $-1$ to referencja). Współczynniki przed polityką są bliskie zera i statystycznie nieistotne (słupki błędu obejmują zero) — to empiryczne wsparcie dla równoległych trendów. Skok następuje dopiero po interwencji. Niezerowe efekty przed polityką podważałyby identyfikację.

Czego nie wolno mylić.

Brak istotnych efektów przed polityką uprawdopodabnia, lecz nie dowodzi równoległych trendów — kontrafaktu po interwencji nigdy nie obserwujemy. Należy też pamiętać o testach placebo (udawana polityka w okresie bez interwencji) oraz o tym, że założenie jest wrażliwe na nieliniowe przekształcenia zmiennej zależnej (równoległość poziomów i równoległość logarytmów to różne założenia).

Two-way fixed effects i pułapka staggered adoption

Z wieloma jednostkami i okresami DiD uogólnia się do modelu dwukierunkowych efektów stałych (TWFE): $Y_{it}=\alpha_i+\lambda_t+\delta D_{it}+\varepsilon_{it}$, gdzie $\alpha_i$ kontroluje stałe różnice między jednostkami, $\lambda_t$ — wspólne szoki czasowe, a $D_{it}$ wskazuje objęcie polityką. Dla układu 2×2 estymator TWFE pokrywa się z klasycznym DiD; przy jednym momencie wejścia polityki dla wszystkich objętych pozostaje zgodny.

Obciążenie przy stopniowym przyjmowaniu.

Gdy polityka wchodzi w różnych momentach dla różnych jednostek (staggered adoption) i efekty są heterogeniczne w czasie, klasyczny TWFE może być obciążony, a nawet dawać współczynnik o błędnym znaku (Goodman-Bacon 2021). Przyczyna: TWFE niejawnie używa jednostek wcześnie objętych jako grupy kontrolnej dla późno objętych, co przy zmiennych w czasie efektach wprowadza błędne, czasem ujemne wagi. Nowoczesne estymatory (Callaway i Sant’Anna 2021) szacują efekty osobno dla każdej kohorty i okresu, a dopiero potem je agregują.

Powierzchnia ATT przy staggered adoption
Heterogeniczne efekty przy stopniowym przyjmowaniu: powierzchnia ATT$(g,t)$ nad płaszczyzną kohorty przyjęcia $g$ i czasu kalendarzowego $t$. Efekt jest zerowy przed przyjęciem polityki przez daną kohortę i narasta po nim, inaczej dla różnych kohort. Uśrednienie tej powierzchni jednym współczynnikiem TWFE — z niejawnymi, niekiedy ujemnymi wagami — może zniekształcić wynik; estymatory kohortowe szacują ją wprost.

Błędy standardowe należy klastrować.

Obserwacje tej samej jednostki w czasie są skorelowane (autokorelacja), więc błędy standardowe w DiD i TWFE klastruje się na poziomie jednostki. Bez tego są zaniżone, a istotność efektu — zawyżona. To jeden z najczęstszych błędów w stosowaniu DiD.

Wkład polskiej praktyki

Metoda DiD jest w Polsce standardowym narzędziem ewaluacji polityki publicznej. Posłużyła m.in. do oceny wpływu programu „Rodzina 500+" na podaż pracy kobiet (badania Instytutu Badań Strukturalnych) oraz do ewaluacji efektów funduszy spójności Unii Europejskiej na rozwój regionalny. Metodologia kontrfaktyczna, w tym DiD, jest zalecana w wytycznych ewaluacyjnych dla programów współfinansowanych ze środków UE, a podręcznikowym omówieniem po polsku jest praca zbiorowa pod redakcją Gruszczyńskiego (Mikroekonometria).

Podsumowanie

Definicja
Difference-in-Differences w pigułce
  • Estymator: $\hat\delta_{DiD}=\Delta_T-\Delta_C$ — różnica zmian w grupie objętej i kontrolnej.
  • Identyfikacja: przy równoległych trendach $\delta_{DiD}=\mathrm{ATT}$.
  • Regresja: współczynnik interakcji $\text{Objęty}\times\text{Po}$ równy podwójnej różnicy.
  • Weryfikacja: event study (efekty przed polityką $\approx0$), testy placebo.
  • Panel: TWFE $Y_{it}=\alpha_i+\lambda_t+\delta D_{it}+\varepsilon_{it}$; błędy klastrowane po jednostce.
  • Ostrożność: staggered adoption + efekty heterogeniczne → klasyczny TWFE obciążony; estymatory kohortowe (Callaway-Sant’Anna).

Bibliografia

  • Angrist, J. D., & Pischke, J.-S. (2009). Mostly Harmless Econometrics: An Empiricist’s Companion. Princeton University Press.
  • Callaway, B., & Sant’Anna, P. H. C. (2021). Difference-in-Differences with Multiple Time Periods. Journal of Econometrics, 225(2), 200–230. https://doi.org/10.1016/j.jeconom.2020.12.001
  • Card, D., & Krueger, A. B. (1994). Minimum Wages and Employment: A Case Study of the Fast-Food Industry in New Jersey and Pennsylvania. American Economic Review, 84(4), 772–793.
  • Goodman-Bacon, A. (2021). Difference-in-Differences with Variation in Treatment Timing. Journal of Econometrics, 225(2), 254–277. https://doi.org/10.1016/j.jeconom.2021.03.014
  • Gruszczyński, M. (red.). Mikroekonometria. Modele i metody analizy danych indywidualnych. Wolters Kluwer.

Dalej: Dane panelowe · Zmienne instrumentalne · Testy hipotez

Literatura uzupełniająca
  • J. D. Angrist, J.-S. Pischke, Mostly Harmless Econometrics, Princeton University Press, 2009, rozdz. 5
  • D. Card, A. B. Krueger, „Minimum Wages and Employment", American Economic Review 84(4), 1994
  • Pakiety: R fixest, did (Callaway & Sant’Anna); Python linearmodels, statsmodels
Oprogramowanie

R:

library(fixest)
## DiD 2x2 jako regresja z interakcja
did <- feols(y ~ objety * po, data = dane)
summary(did)                       # wspolczynnik objety:po = delta

## Two-way fixed effects (panel) z bledami klastrowanymi
twfe <- feols(y ~ d | jednostka + rok, data = panel)
summary(twfe, cluster = ~jednostka)

## Estymator odporny na staggered adoption (Callaway-Sant'Anna)
library(did)
att <- att_gt(yname="y", tname="rok", idname="jednostka",
              gname="rok_przyjecia", data=panel)
aggte(att, type="dynamic")          # event study

Python:

import statsmodels.formula.api as smf
did = smf.ols('y ~ objety * po', data=df).fit(
      cov_type='cluster', cov_kwds={'groups': df['jednostka']})
print(did.params['objety:po'])      # delta = efekt DiD