平行趨勢(shì)檢驗(yàn)-多期DID(非原創(chuàng))

文章轉(zhuǎn)載至Stata繪圖(二) | 多期DID的平行趨勢(shì)檢驗(yàn) - Stata專版 - 經(jīng)管之家(原人大經(jīng)濟(jì)論壇) (pinggu.org)

多期DID的平行趨勢(shì)檢驗(yàn)有兩種等價(jià)的展示方法,一是回歸法,二是繪圖法,前者相對(duì)容易,而后者的操作過(guò)程稍復(fù)雜。不少人借鑒了Beck et al.(2010)的做法,但該文實(shí)際用的模型是漸進(jìn)DID,即最終所有個(gè)體均實(shí)施了政策,因此相關(guān)命令需要經(jīng)過(guò)一定修改才能用于一般的多期DID。本文的前半部分將會(huì)簡(jiǎn)單介紹多期DID,后半部分將會(huì)參考Beck et al.(2010)對(duì)圖片的設(shè)定提供一個(gè)繪圖過(guò)程。


兩期DID:Yit=常數(shù)+Dt+Gi+ Dt* Gi+ eit

——Stata命令:reg y D G D_G 其他控制變量

注:D_G是D與G的交互項(xiàng)

多期DID:Yit=常數(shù)+Xit+時(shí)間虛擬變量+ ui+ eit

——Stata命令:xtreg y x i.time 其他控制變量,fe

其中,Yit是被解釋變量;Dt表示政策后虛擬變量(取1表示政策之后,取0則表示政策之前);Gi表示處理變量(取1表示處理組,取0則表示控制組);Xit表示“個(gè)體i為處理組”且“時(shí)間t在政策之后”則取值為1,其他情況取值為0,有一種等價(jià)說(shuō)法是——Xit表示個(gè)體i在t時(shí)間是否實(shí)施了政策。

請(qǐng)注意:不要把Xit理解成是交互項(xiàng),因?yàn)樵诙嗥贒ID中,控制組樣本的Dt無(wú)法給出合適的定義。簡(jiǎn)單來(lái)說(shuō),控制組樣本根本不存在“政策年度”一說(shuō),更談不上樣本是發(fā)生在政策“之前”還是“之后”了。

Dt表示政策實(shí)施前后的虛擬變量,在兩期DID中,因?yàn)橹淮嬖趦善跀?shù)據(jù),因此其等價(jià)于時(shí)間虛擬變量。兩期DID的Dt到了多期DID中,就轉(zhuǎn)化為時(shí)間虛擬變量;Gi表示處理變量,由于多期DID中的個(gè)體效應(yīng)ui包含了Gi的信息(Gi是ui的子集),因此同時(shí)在模型中放入Gi與ui將導(dǎo)致嚴(yán)重的多重共線性問題,應(yīng)該只放入信息含量更多的ui。多期DID中的Xit來(lái)自兩期DID中的Dt* Gi,盡管本文一再?gòu)?qiáng)調(diào)不應(yīng)該把Xit理解成Dt與Gi的乘積,但是不少初學(xué)者依然會(huì)習(xí)慣性認(rèn)為Xit等價(jià)于兩個(gè)變量的乘積。

綜上,兩期DID推導(dǎo)至多期DID的變化過(guò)程是:Dt→時(shí)間虛擬變量,Gi→ui,Dt*Gi→Xit。多期DID沒有對(duì)政策時(shí)點(diǎn)是否一致性提出要求,因此多期DID還適用于政策時(shí)點(diǎn)不一致情形。

生成Xit的Stata過(guò)程對(duì)初學(xué)者來(lái)說(shuō)可能稍有難度,有的人習(xí)慣在Excel中整理數(shù)據(jù),有的人喜歡用merge命令把數(shù)據(jù)全部匹配到一起。由于不同人有不同的習(xí)慣,下面介紹如何在Excel和Stata中應(yīng)該怎么制作出這個(gè)變量。

第一種做法:使用Excel來(lái)制作Xit是非常直觀的。

第一步,你需要為數(shù)據(jù)添加一列policy_year,對(duì)于控制組樣本應(yīng)該設(shè)定為空白值,X就是最終要生成的變量。例子中一共有16個(gè)樣本。



第二步,從16個(gè)樣本中,篩選出policy_year為空白值的樣本,然后對(duì)這些樣本的X全部賦值為0。滿足條件的一共有8個(gè)


第三步,從16個(gè)樣本中,篩選出policy_year有取值的樣本(一共8個(gè)樣本),新變量dyear是用year減去policy_year。


第四步,從16個(gè)樣本中,篩選出dyear≥0的樣本(一共5個(gè)樣本),然后對(duì)這些樣本的X賦值為1。



第五步,取消篩選功能后,你可以在X中發(fā)現(xiàn)仍有空白值(3個(gè)),用0填充他們,最后再把dyear刪除,X就生成完畢了。



第二種做法:使用Stata來(lái)生成x,過(guò)程相對(duì)簡(jiǎn)單,如果不想一步步操作Excel可以考慮這種做法。

第一步,數(shù)據(jù)導(dǎo)入Stata。

第二步,輸入命令:

gen x=0

replace x=1 if year>= policy_year

*平行趨勢(shì)檢驗(yàn)還需要生成處理變量treat(處理組取1,控制組取0)。

*這個(gè)變量在Excel中非常容易生成,因此方法一不詳細(xì)介紹生成過(guò)程。

gen treat=0replace treat=1 if policy_year!=.

多期DID的Stata命令

xtreg y x i.time 其他控制變量,fe r

提示:推薦使用聚類穩(wěn)健標(biāo)準(zhǔn)誤進(jìn)行回歸,也就是加上“r”,但是這么做或許會(huì)降低系數(shù)的顯著性。為什么會(huì)這樣呢?這個(gè)問題與t檢驗(yàn)的自由度有關(guān),本帖不展開討論這個(gè)技術(shù)細(xì)節(jié)。如果你在多期DID的回歸使用了聚類穩(wěn)健標(biāo)準(zhǔn)誤,那么在平行趨勢(shì)檢驗(yàn)中,你應(yīng)該繼續(xù)使用聚類穩(wěn)健標(biāo)準(zhǔn)誤,從而做到前后一致。請(qǐng)不要低估考慮“是否使用聚類穩(wěn)健標(biāo)準(zhǔn)誤”的意義,它不但影響系數(shù)的顯著性,還可能影響繪圖策略。

平行趨勢(shì)檢驗(yàn)的Stata命令——回歸法

*變量說(shuō)明:y表示被解釋變量,id表示樣本個(gè)體;year表示樣本年份;policy_year表示政策發(fā)生年份;

*treat取1表示處理組,取0表示控制組。

set more off

xtset id year

gen distance = year - policy_year

*了解數(shù)據(jù)情況。

tab distance, missing?

*請(qǐng)確認(rèn)distance變量是否存在以下兩類問題:

*1.樣本稀疏的問題,即樣本個(gè)數(shù)在某些年份非常少。

2.distance的取值范圍太寬,檢驗(yàn)太多期的平行趨勢(shì)可能是沒有必要的。

*你可以采用“縮尾處理策略”以應(yīng)對(duì)上面兩種問題:

*replace distance = -4 if distance < -4

*replace distance = 5 if distance? > 5

*生成一系列的變量:

*d_j的數(shù)學(xué)含義是:若樣本是”處理組“且為”政策實(shí)施前的第j期“則取值為1,其他情況取值為0。

*dj的數(shù)學(xué)含義是:若樣本是”處理組“且為”政策實(shí)施后的第j期“則取值為1,其他情況取值為0。

*current的數(shù)學(xué)含義是:若樣本是”處理組“且為”政策實(shí)施當(dāng)期“則取值為1,其他情況取值為0。

*例如,某個(gè)個(gè)體的政策實(shí)施于2013年,那么該個(gè)體在2012年的變量D_1取值為1,其余均為0。

盡管上面給出的數(shù)學(xué)定義是十分清晰的,但為了照顧初學(xué)者,下面給出一個(gè)直觀的數(shù)據(jù)描述。以d_1為例,若樣本是”處理組“且為”政策實(shí)施前的第1期“(distance=-1)則取值為1(橘色區(qū)域所示),其余情況取值為0。


*第一步,生成變量d_j、dj、current。

*(1)生成d_j,假設(shè)你在“tab distance, missing”中發(fā)現(xiàn),distance最小值是-4,那么生成過(guò)程如下:

forvalues i=1/4 {

gen d_`i'? = 0

replace d_`i'? = 1 if treat== 1 & distance== -`i'}

*(2)生成dj,假設(shè)你在“tab distance, missing”中發(fā)現(xiàn),distance最大值是5,那么生成過(guò)程如下:

forvalues i=1/5 {

gen d`i'? = 0

replace d`i'? = 1 if treat== 1 & distance== `i'}

*(3)生成current。

gen current? = 0

replace current = 1 if treat== 1 & distance== 0

*回歸法進(jìn)行平行趨勢(shì)檢驗(yàn):

xtreg y d_4 d_3 d_2 d_1 d1 d2 d3 d4 d5 i.year 控制變量, fe r

*判別方法:若d_4 d_3 d_2 d_1均不顯著,則表明平行趨勢(shì)假設(shè)成立。

你可能已經(jīng)注意到了,current不被包含在回歸模型中,盡管我們生成了它。原因是d_j、dj、current無(wú)法同時(shí)被放進(jìn)模型,否則會(huì)產(chǎn)生嚴(yán)格多重共線性問題,Stata會(huì)自動(dòng)在“d_4 d_3 d_2 d_1 current d1 d2 d3 d4 d5”中隨機(jī)drop掉一個(gè)變量(哪個(gè)被drop掉與順序有關(guān))。為了進(jìn)行平行趨勢(shì)檢驗(yàn),我們應(yīng)該在d_j與current中選擇一個(gè)變量并手動(dòng)去掉。如果你發(fā)現(xiàn)檢驗(yàn)結(jié)果不理想,可以嘗試調(diào)整drop對(duì)象。被drop掉的那個(gè)變量,我們稱之為基期。?若d_j的回歸系數(shù)是不顯著的,說(shuō)明d_j的系數(shù)與基期沒有顯著差異,從而支持了平行趨勢(shì)假設(shè)。本文的例子是以current為基期,如果你希望改變基期的位置,我在49樓寫了一個(gè)以d_1為基期的代碼示例。

盡管有些人還認(rèn)為,可以在dj中選擇一個(gè)變量去掉,但嚴(yán)格意義上這是不合適的。若所有d_j系數(shù)均不顯著倒也無(wú)妨,同樣可以說(shuō)明平行趨勢(shì)假定成立,但如果所有d_j的系數(shù)均顯著為正(或負(fù)),那么我們無(wú)從判斷d_j中任意兩個(gè)回歸系數(shù)是否有顯著差異。另外,偶爾也會(huì)見到一些不規(guī)范的做法,比如在不采取“縮尾處理策略”情況下(前文對(duì)此策略已經(jīng)用例子介紹了),只對(duì)current附近幾期進(jìn)行平行趨勢(shì)檢驗(yàn),這種情況下,如果你得到了一些顯著的d_j,你可能會(huì)誤以為平行趨勢(shì)檢驗(yàn)沒有通過(guò)??傊?,基期的選擇對(duì)平行趨勢(shì)檢驗(yàn)的結(jié)果是有影響的,請(qǐng)不要忽略這個(gè)問題。基于上述觀點(diǎn),tvdiff這個(gè)專門用來(lái)進(jìn)行平行趨勢(shì)檢驗(yàn)的命令,由于不允許指定基期,因此價(jià)值可能有限。

平行趨勢(shì)檢驗(yàn)的Stata命令——繪圖法

平行趨勢(shì)檢驗(yàn)的繪圖法需要你先完成回歸法的所有步驟,也就是在執(zhí)行下面這條命令之后,才可以進(jìn)行繪圖法。下面這個(gè)回歸的結(jié)果,已經(jīng)可以用來(lái)判斷檢驗(yàn)是否通過(guò)了。若檢驗(yàn)沒有通過(guò),繪圖法也就沒必要做了。

xtreg y d_4 d_3 d_2 d_1 d1 d2 d3 d4 d5 i.year 控制變量, fe r

如果你認(rèn)為以下內(nèi)容有一定操作難度,那么你可以考慮放棄用繪圖法來(lái)展示平行趨勢(shì)檢驗(yàn)的結(jié)果。正如前文所述,繪圖法與回歸法是等價(jià)的,繪圖法對(duì)論文的意義只是“錦上添花”。

方法1:采用coefplot繪制簡(jiǎn)易圖形

ssc install coefplot

coefplot,keep(d_4 d_3 d_2 d_1 d1 d2 d3 d4 d5)levels(90)vertical lcolor(black)mcolor(black)msymbol(circle_hollow)ytitle(回歸系數(shù),size(small))ylabel(,labsize(small)angle(horizontal)nogrid)yline(0,lwidth(vthin)lpattern(solid)lcolor(black))xtitle(政策實(shí)施相對(duì)時(shí)間,size(small))xlabel(,labsize(small))graphregion(fcolor(white)lcolor(white)ifcolor(white)ilcolor(white))ciopts(recast(rcap))xline(10.5,lwidth(vthin)lpattern(solid)lcolor(black))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡(jiǎn)單介紹一下實(shí)證論文中雙重差分法(DID)的平行趨勢(shì)檢驗(yàn)(Parallel Trend Test)在Stata中如...
    KEMOSABE閱讀 24,966評(píng)論 5 6
  • 識(shí)別策略 清朝末期,清政府與西方列強(qiáng)簽訂了一系列不平等條約,開放沿江沿海等城市作為通商口岸即是不平等條約的主要內(nèi)容...
    一顆小柚子lyc閱讀 5,466評(píng)論 0 2
  • 這次推文的內(nèi)容主要是介紹選擇偏差及其導(dǎo)致的內(nèi)生性問題,以及緩解這種內(nèi)生性問題的傾向得分匹配法(Propensity...
    KEMOSABE閱讀 11,869評(píng)論 8 15
  • > 天鷹(中南財(cái)大——博士研究生) E-mail: yanbinglh@163.com 模型系列-DID入門(附S...
    天鷹_2019閱讀 13,214評(píng)論 2 12
  • > 天鷹(中南財(cái)大——博士研究生) E-mail: yanbinglh@163.com 雙重差分模型的平行趨勢(shì)假定...
    天鷹_2019閱讀 8,367評(píng)論 0 4

友情鏈接更多精彩內(nèi)容