雙重差分的理論與實踐

1. 理論

1.1 標準表述(定義)

雙重差分模型(difference-in-differences)主要被用于社會學中的政策效果評估疯汁。其原理是基于一個反事實的框架來評估政策發(fā)生和不發(fā)生這兩種情況下被觀測因素y的變化离陶。如果一個外生的政策沖擊將樣本分為兩組—受政策干預的Treat組和未受政策干預的Control組,且在政策沖擊前疗我,Treat組和Control組的y沒有顯著差異歉摧,那么我們就可以將Control組在政策發(fā)生前后y的變化看作Treat組未受政策沖擊時的狀況(反事實的結(jié)果)谭羔。通過比較Treat組y的變化(D1)以及Control組y的變化(D2),我們就可以得到政策沖擊的實際效果(DD=D1-D2)难裆。

具體地,單一沖擊時點的雙重差分的模型如下:


其中,Ti為政策虛擬變量乃戈;Ai為時間虛擬變量褂痰; Ti ×At為兩者的交互項;b3即為我們需要的雙重差分估計量症虑。


政策沖擊的實際效果: DD = D1 - D2 = ( β2 + β3 ) - β2 = β3

需要特別指出的是缩歪,只有在滿足“政策沖擊前Treat組和Control組的y沒有顯著差異”(即平行性假定)的條件下,得到的雙重差分估計量才是無偏的谍憔。

詳細說明

為測度“處理”(或?qū)嶒灒┑男Ч蓑覀冴P(guān)心被解釋變量經(jīng)“處理”前后的變化,考慮以下兩期面板數(shù)據(jù):

混合OLS

只加政策變量作為核心解釋變量习贫,再加入時間D(t)等作為控制變量逛球,進行的普通混合OLS回歸,測度出x(it)的效應β苫昌,就是簡單地將實驗組減去控制組颤绕,得到一個有偏的估計(因為x(it)可能與不隨時間改變的個體特征u(i)等固定效應相關(guān)),故下一步再做一階差分祟身,第二期減去第一期奥务,將u(i)消掉。即雙重差分袜硫。
雙重差分DID

示意圖

只有在滿足“政策沖擊前Treat組和Control組的y沒有顯著差異”(即平行性假定)的條件下汗洒,得到的雙重差分估計量才是無偏的。

1.2 另一種表述(常用)

1.2.1 理解交互項的含義

例子:研究性別和學歷對工資的影響父款,性別是F溢谤,學歷是E,工資是S憨攒。如果沒有交叉項世杀,那么回歸的方程是:

S = β0 + β1 × F + β2 × E

在這種情況下,性別的影響是β1肝集,學歷的影響是β2瞻坝。而有交叉項,那么回歸的方程是

S = β0 + β1 × F + β2 × E + β3 × F × E

在這種情況下杏瞻,性別對工資的影響是β1+β3*E所刀,學歷對工資的影響是β1+β3*F

所以我們很容易發(fā)現(xiàn),交叉項刻畫了什么呢捞挥?

  • 它刻畫了一個人的學歷對工資的影響是否受性別的影響β1+β3*F)浮创,刻畫了一個人的性別對工資的影響是否受學歷的影響β1+β3*E)。
  • 換言之砌函,他刻畫了第一種情況下斩披,如果把不同的性別分開回歸溜族,得出的β2是否與F有相關(guān)關(guān)系,刻畫了如果把不同的學歷分開回歸垦沉,得出的β1是否和E有相關(guān)關(guān)系煌抒。
  • 更簡單點說,就是兩個自變量對因變量的共同作用厕倍。

加交互項寡壮,就相當于分組回歸(PS:離散型變量的交互項)

Y = β0 + β1× A + β2 × X + β3 × A × X + ε
A對Y有影響
X對Y有影響
β3 :X對Y的影響,因A變化而變化讹弯。

按照上述例子诬像,性別是A,學歷是X闸婴,收入是Y坏挠,那么就如同下圖。
如果女的是1 男的是0

斜率差

Y = β0 + β1× A + β2 × X + β3 × A × X + ε
性別是A邪乍,學歷是X降狠,收入是Y

  • β2:對于男性,學歷對收入的影響

  • β2+β3:對于女性庇楞,學歷對收入影響

  • β3 就是兩線的斜率差

  • β1 他們的截距差(性別對收入的影響)

1.2.2 用交互項表示的雙重差分

用交互項表示的雙重差分

G(i)=0時,
y(it)= β0 + β3×D(t) + ε(it)

G(i)=1時,
y(it)= β0 + β1 × D(t) + β2 + β3 × D(t) + ε(it) = β02 + ( β1+ β3 ) × D(t) + ε(it)

  • β3:控制組(Gi=0)的t2t1之差榜配,對照組前后期之差。
  • β1+ β3:處理組(Gi=1)的t2t1之差吕晌,處理組前后期之差蛋褥。

所以政策變量與時期變量的交互項G(i)×D(t) 的系數(shù)β3 就是雙重差分估計量,表示了雙重差分估計出的政策效應睛驳。

2. R烙心、Stata操作運用

R與STATA操作
  • using all women with children as the treatment group:anykids為分組標識
  • post93:時期變量(沖擊發(fā)生標識),93年前為0和93年后為1

2.1 R:

eitc$p93kids.interaction = eitc$post93*eitc$anykids
reg1 = lm(work ~ post93 + anykids + p93kids.interaction, data = eitc)
summary(reg1)

The coefficient estimate on p93kids.interaction should match the value calculated manually above.

2.2 Stata:

2.2.1 OLS_DID:

標準:

reg y treat post treat*post x1 x2 ,robust

gen Treat_Post=Treat*Post
xi: regress y Treat Post Treat*Post x1 x2 i.year, vce(robust)
est store OLS_DID

xi:命令會幫助生成出i.varname形式的虛擬變量。不加則不會生成新變量乏沸,但回歸中仍然能使用這些虛擬變量(就是讓虛擬變量藏于回歸中不顯現(xiàn)出來)淫茵。

簡單示例:
gen interaction = post93*anykids
reg work post93 anykids interaction

或者用Stata非官方命令diff

ssc intall diff
diff y, t(處理或分組或政策變量Gi)  p(時期虛擬變量Dt)  cov(協(xié)變量)  robust  report  test
diff work, t(anykids)  p(post93)  robust

2.2.2 FE_DID:

did只能做混合OLS,不能做固定效應蹬跃,想做固定效應匙瘪,要去掉一個虛擬變量。

標準:
xtset group year
xi: xtreg y Treat*Post x1 x2 i.year,fe vce(robust)
est store FE_DID

雙向固定效應估計時Post與i.year中某一虛擬變量應該多重共線蝶缀,Post如同Treat一樣分別被時間效應和個體效應吸收了丹喻。

輸出word結(jié)果:(///表示換行)
esttab OLS_DID FE_DID, ar2(%9.3f) b(%9.3f) t(%9.3f) nogap compress ///
indicate("Year=_Iyear*") star(* 0.1 ** 0.05 *** 0.01)
輸出的結(jié)果

結(jié)果顯示交互項(Treat*Post)的系數(shù)顯著為正,表明政策實施導致了y顯著增加翁都。然而碍论,此時我們還不能確切的說,這一政策效果的評估是準確的荐吵,因為只有在對照組和實驗組滿足平行性假定的時候骑冗,Treat和post的交互項才是處理效應赊瞬。因此平行趨勢假定的重要性不言而喻先煎。平行性假定的檢驗可以通過回歸分析或者繪圖的方式進行贼涩。

其他等價方法:

xtreg 與 reg 可殊途同歸!(雙向固定時)

xtreg y treat*post i.year, fe robust
reg y i.treat i.post i.treat#i.post, robust

注:
FE與LSDV是等價的:
(1)xtreg fatal unrate beertax, fe
(2)xi:reg fatal unrate beertax i.state

2.2.3 平行趨勢假定

通過回歸分析檢驗:

分別生成每一期的控制組和處理組:

gen Dyear=year-2012

gen Before2=(Dyear==-2 & Treat==1)
lab var Before2 "2 Year Prior"

gen Before1=(Dyear==-1 & Treat==1)
lab var Before1 "1 Year Prior"

gen Current=(Dyear==0 & Treat==1)
lab var Current "Year of Adoption"

gen After1=(Dyear==1 & Treat==1)
lab var After1 "1 Year After"

gen After2=(Dyear==2 & Treat==1)
lab var After2 "2 Year After"

gen After3_=(Dyear>=3 & Treat==1)
lab var After3_ "3 or More Year After"

xtset group year
xi:xtreg y Treat Post Before2 Before1 Current After1 ///
   After2 After3_ x1 x2 i.year,fe vce(robust)

est store Dynamic
平行趨勢檢驗

Before2薯蝎,Before1均為虛擬變量遥倦,如果觀測值是受到政策沖擊前的第2年和第1年的數(shù)據(jù),則該指標分別取1占锯,否則取0袒哥;如果觀測值是受到政策沖擊當年的數(shù)據(jù),則Current取值為1消略,否則取0堡称;當觀測值是受到政策沖擊后的第1年、第2年艺演、第3年的數(shù)據(jù)時却紧,After1、After2胎撤、After3分別取1晓殊,否則取0。

我們看到Before2伤提,Before1的系數(shù)均不顯著巫俺,而Current、After1肿男、After2介汹、After3的系數(shù)均正向顯著,說明雙重差分模型滿足平行趨勢假定舶沛。

注:
1)關(guān)于Before之前選幾期的問題痴昧,一個要看樣本跨越的年度,一個要看已有文獻的做法冠王。一般來說赶撰,時間跨度比較長的話,會保留Before前3年的柱彻。
2)如果Before均不顯著豪娜,就說明樣本符合平行性假定。對于Current的顯著性則不作要求哟楷。

通過繪圖檢驗:

首先瘤载,安裝外部命令:
ssc install coefplot
當我們help coefplot后可以看到其眾多的功能,接下來我們介紹輸出圖形的模式卖擅。

1. 默認輸出模式

coefplot Dynamic, keep(Before2 Before1 Current After1 After2 After3_) vertical recast(connect) yline(0)

  • 保留關(guān)鍵變量: keep(Before2 Before1 Current After1 After2 After3_)
  • 轉(zhuǎn)置: vertical
  • 系數(shù)連線鸣奔,觀察動態(tài)效果: recast(connect)
  • 增加直線y=0: yline(0)
    默認輸出模式
2. 優(yōu)化模式
  • graphregion & plotregion & title & notes
 coefplot Dynamic, keep(Before2 Before1 Current After1 After2 After3_) vertical ///
 recast(connect) lcolor(red*0.45) lpattern(-) ///
 ciopts(lcolor(edkblue*0.8)) ///
 mlcolor(gs6) mfcolor(white) msize(*1.2) msymbol(h) ///
 yline(0,lcolor(edkblue*0.6) lwidth(*1.0)) ///
 xlabel(,labsize(*0.75) labcolor(purple)  tposition(crossing) tlcolor(gs10)) ///
 ylabel(,nogrid tposition(crossing) tlcolor(gs10)) ///  
 graphregion(color(gs16)) ///
 plotr(lcolor(edkblue) lpattern(1) lwidth(*1.5)) ///     
 title("Fig.1 The Dynamic Effect of the Policy") ///
 note(" " "   Notes: Vertical bands represent +(-)1.96 times the standard error of each point estimate", size(*0.8)) 
優(yōu)化模式
3. 進階:通過兩條線展現(xiàn)動態(tài)變化

其實墨技,也可以通過兩條線來展現(xiàn)沖擊發(fā)生前后兩組樣本y的動態(tài)變化。其思想和安慰劑實驗比較相似挎狸。但是對于虛擬變量的定義要進行更改扣汪。具體代碼如下:

gen Before3=(Dyear==-3)
gen Before2=(Dyear==-2)
gen Before1=(Dyear==-1)
gen Current=(Dyear==0)
gen After1=(Dyear==1)
gen After2=(Dyear==2)
gen After3=(Dyear==3)
gen After4=(Dyear==4)
xtset group year
xi:xtreg y Before3-After4 x1 x2 if Treat==1,fe vce(robust)
est store Treat
xi:xtreg y Before3-After4 x1 x2 if Treat==0,fe vce(robust)
est store Control
coefplot Treat Control, keep(Before* Current After*) vertical recast(connect) yline(0)

Before*Current After*后面*表示:在搜索字符串末尾指定星號(*) 以執(zhí)行通配搜索。
在計算機(軟件)技術(shù)中锨匆,通配符可用于代替字符崭别。 通常地,星號“*”匹配0個或以上的字符恐锣,問號“?”匹配1個字符茅主。如:123??? 將匹配 1231 或 12313,但不會匹配 123991991

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末土榴,一起剝皮案震驚了整個濱河市诀姚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌玷禽,老刑警劉巖赫段,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異论衍,居然都是意外死亡瑞佩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門坯台,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炬丸,“玉大人,你說我怎么就攤上這事蜒蕾〕砭妫” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵咪啡,是天一觀的道長首启。 經(jīng)常有香客問我,道長撤摸,這世上最難降的妖魔是什么毅桃? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮准夷,結(jié)果婚禮上钥飞,老公的妹妹穿的比我還像新娘。我一直安慰自己衫嵌,他們只是感情好读宙,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楔绞,像睡著了一般结闸。 火紅的嫁衣襯著肌膚如雪唇兑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天桦锄,我揣著相機與錄音扎附,去河邊找鬼。 笑死察纯,一個胖子當著我的面吹牛帕棉,可吹牛的內(nèi)容都是我干的针肥。 我是一名探鬼主播饼记,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼慰枕!你這毒婦竟也來了具则?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤具帮,失蹤者是張志新(化名)和其女友劉穎博肋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜂厅,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡匪凡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了掘猿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片病游。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖稠通,靈堂內(nèi)的尸體忽然破棺而出衬衬,到底是詐尸還是另有隱情,我是刑警寧澤改橘,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布滋尉,位于F島的核電站,受9級特大地震影響飞主,放射性物質(zhì)發(fā)生泄漏狮惜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一碌识、第九天 我趴在偏房一處隱蔽的房頂上張望碾篡。 院中可真熱鬧,春花似錦丸冕、人聲如沸耽梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眼姐。三九已至诅迷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間众旗,已是汗流浹背罢杉。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贡歧,地道東北人滩租。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像利朵,于是被迫代替她去往敵國和親律想。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容