Difference-in-Differences — identyfikacja efektów polityk
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
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}]$.
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}$.
- 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)]$.
- 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). $$
- 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). $$
- 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ą.
- 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.
Postać regresyjna
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.
- Ś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$.
- Różnica w grupie objętej. $(\beta_0+\beta_1+\beta_2+\delta)-(\beta_0+\beta_1)=\beta_2+\delta$.
- Różnica w grupie kontrolnej. $(\beta_0+\beta_2)-\beta_0=\beta_2$.
- 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}$.
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.
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.
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.
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ą.
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
- 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
- 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); Pythonlinearmodels,statsmodels
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