Una buona caratteristica delle differenze di differenza (DiD) è in realtà che non sono necessari i dati del pannello per questo. Dato che il trattamento avviene a un certo livello di aggregazione (nel tuo caso le città), devi solo campionare individui casuali dalle città prima e dopo il trattamento. Ciò consente di stimare
yi s t= Ag+ Bt+ βDs t+ c Xi s t+ ϵi s t
e ottenere l'effetto causale del trattamento come differenza atteso post pre pre risultato per il trattamento meno la differenza atteso post pre pre risultato per il controllo.
yI t= αio+ Bt+ βDI t+ c XI t+ ϵI t
DI t di Steve Pischke.
UNg
Ecco un esempio di codice che mostra che è così. Uso Stata ma puoi replicarlo nel pacchetto statistico di tua scelta. Gli "individui" qui sono in realtà paesi ma sono ancora raggruppati secondo alcuni indicatori di trattamento.
* load the data set (requires an internet connection)
use "http://dss.princeton.edu/training/Panel101.dta"
* generate the time and treatment group indicators and their interaction
gen time = (year>=1994) & !missing(year)
gen treated = (country>4) & !missing(country)
gen did = time*treated
* do the standard DiD regression
reg y_bin time treated did
------------------------------------------------------------------------------
y_bin | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
time | .375 .1212795 3.09 0.003 .1328576 .6171424
treated | .4166667 .1434998 2.90 0.005 .13016 .7031734
did | -.4027778 .1852575 -2.17 0.033 -.7726563 -.0328992
_cons | .5 .0939427 5.32 0.000 .3124373 .6875627
------------------------------------------------------------------------------
* now repeat the same regression but also including country fixed effects
areg y_bin did time treated, a(country)
------------------------------------------------------------------------------
y_bin | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
time | .375 .120084 3.12 0.003 .1348773 .6151227
treated | 0 (omitted)
did | -.4027778 .1834313 -2.20 0.032 -.7695713 -.0359843
_cons | .6785714 .070314 9.65 0.000 .53797 .8191729
-------------+----------------------------------------------------------------
Quindi vedi che il coefficiente DiD rimane lo stesso quando sono inclusi i singoli effetti fissi ( areg
è uno dei comandi di stima degli effetti fissi disponibili in Stata). Gli errori standard sono leggermente più severi e il nostro indicatore di trattamento originale è stato assorbito dai singoli effetti fissi e quindi diminuito nella regressione.
In risposta al commento
ho citato l'esempio di Pischke per mostrare quando le persone usano singoli effetti fissi piuttosto che un indicatore del gruppo di trattamento. La tua impostazione ha una struttura di gruppo ben definita, quindi il modo in cui hai scritto il tuo modello va benissimo. Gli errori standard dovrebbero essere raggruppati a livello di città, cioè il livello di aggregazione a cui si verifica il trattamento (non l'ho fatto nel codice di esempio ma nelle impostazioni DiD gli errori standard devono essere corretti come dimostrato dal documento di Bertrand et al ).
Ds tSt
c = [ E( yi s t| s=1,t=1)-E( yi s t| s=1,t=0)]- [ E( yi s t| s=0,t=1)-E( yi s t| s=0,t=0)]
E( yi s t| s=1,t=1)E( yi s t| s=0,t=1). Per chiarire perché l'identificazione proviene dalle differenze del gruppo nel tempo e non dai motori, è possibile visualizzarlo con un semplice grafico. Supponiamo che il cambiamento nel risultato sia veramente solo a causa del trattamento e che abbia un effetto contemporaneo. Se abbiamo un individuo che vive in una città trattata dopo l'inizio del trattamento, ma poi si trasferisce in una città di controllo, il risultato dovrebbe tornare a quello che era prima di essere curato. Questo è mostrato nel grafico stilizzato di seguito.
Potresti comunque voler pensare ai motori per altri motivi. Ad esempio, se il trattamento ha un effetto duraturo (cioè influenza ancora il risultato anche se l'individuo si è mosso)