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

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

多期DID的平行趨勢檢驗有兩種等價的展示方法蕴忆,一是回歸法,二是繪圖法凉夯,前者相對容易虚青,而后者的操作過程稍復雜峡蟋。不少人借鑒了Beck et al.(2010)的做法似忧,但該文實際用的模型是漸進DID,即最終所有個體均實施了政策班眯,因此相關命令需要經(jīng)過一定修改才能用于一般的多期DID希停。本文的前半部分將會簡單介紹多期DID,后半部分將會參考Beck et al.(2010)對圖片的設定提供一個繪圖過程署隘。


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

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

注:D_G是D與G的交互項

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

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

其中宠能,Yit是被解釋變量;Dt表示政策后虛擬變量(取1表示政策之后磁餐,取0則表示政策之前)违崇;Gi表示處理變量(取1表示處理組,取0則表示控制組)诊霹;Xit表示“個體i為處理組”且“時間t在政策之后”則取值為1亦歉,其他情況取值為0,有一種等價說法是——Xit表示個體i在t時間是否實施了政策畅哑。

請注意:不要把Xit理解成是交互項,因為在多期DID中水由,控制組樣本的Dt無法給出合適的定義荠呐。簡單來說,控制組樣本根本不存在“政策年度”一說砂客,更談不上樣本是發(fā)生在政策“之前”還是“之后”了泥张。

Dt表示政策實施前后的虛擬變量,在兩期DID中鞠值,因為只存在兩期數(shù)據(jù)媚创,因此其等價于時間虛擬變量。兩期DID的Dt到了多期DID中彤恶,就轉化為時間虛擬變量钞钙;Gi表示處理變量,由于多期DID中的個體效應ui包含了Gi的信息(Gi是ui的子集)声离,因此同時在模型中放入Gi與ui將導致嚴重的多重共線性問題芒炼,應該只放入信息含量更多的ui。多期DID中的Xit來自兩期DID中的Dt* Gi术徊,盡管本文一再強調不應該把Xit理解成Dt與Gi的乘積本刽,但是不少初學者依然會習慣性認為Xit等價于兩個變量的乘積。

綜上,兩期DID推導至多期DID的變化過程是:Dt→時間虛擬變量子寓,Gi→ui暗挑,Dt*Gi→Xit。多期DID沒有對政策時點是否一致性提出要求斜友,因此多期DID還適用于政策時點不一致情形炸裆。

生成Xit的Stata過程對初學者來說可能稍有難度,有的人習慣在Excel中整理數(shù)據(jù)蝙寨,有的人喜歡用merge命令把數(shù)據(jù)全部匹配到一起晒衩。由于不同人有不同的習慣,下面介紹如何在Excel和Stata中應該怎么制作出這個變量墙歪。

第一種做法:使用Excel來制作Xit是非常直觀的听系。

第一步,你需要為數(shù)據(jù)添加一列policy_year虹菲,對于控制組樣本應該設定為空白值靠胜,X就是最終要生成的變量。例子中一共有16個樣本毕源。



第二步浪漠,從16個樣本中,篩選出policy_year為空白值的樣本霎褐,然后對這些樣本的X全部賦值為0址愿。滿足條件的一共有8個


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


第四步省艳,從16個樣本中娘纷,篩選出dyear≥0的樣本(一共5個樣本),然后對這些樣本的X賦值為1跋炕。



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



第二種做法:使用Stata來生成x涩堤,過程相對簡單,如果不想一步步操作Excel可以考慮這種做法分瘾。

第一步胎围,數(shù)據(jù)導入Stata吁系。

第二步,輸入命令:

gen x=0

replace x=1 if year>= policy_year

*平行趨勢檢驗還需要生成處理變量treat(處理組取1白魂,控制組取0)汽纤。

*這個變量在Excel中非常容易生成,因此方法一不詳細介紹生成過程福荸。

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

多期DID的Stata命令

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

提示:推薦使用聚類穩(wěn)健標準誤進行回歸蕴坪,也就是加上“r”,但是這么做或許會降低系數(shù)的顯著性敬锐。為什么會這樣呢背传?這個問題與t檢驗的自由度有關,本帖不展開討論這個技術細節(jié)台夺。如果你在多期DID的回歸使用了聚類穩(wěn)健標準誤径玖,那么在平行趨勢檢驗中,你應該繼續(xù)使用聚類穩(wěn)健標準誤颤介,從而做到前后一致梳星。請不要低估考慮“是否使用聚類穩(wěn)健標準誤”的意義,它不但影響系數(shù)的顯著性滚朵,還可能影響繪圖策略冤灾。

平行趨勢檢驗的Stata命令——回歸法

*變量說明:y表示被解釋變量,id表示樣本個體辕近;year表示樣本年份韵吨;policy_year表示政策發(fā)生年份;

*treat取1表示處理組移宅,取0表示控制組学赛。

set more off

xtset id year

gen distance = year - policy_year

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

tab distance, missing?

*請確認distance變量是否存在以下兩類問題:

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

2.distance的取值范圍太寬变丧,檢驗太多期的平行趨勢可能是沒有必要的芽狗。

*你可以采用“縮尾處理策略”以應對上面兩種問題:

*replace distance = -4 if distance < -4

*replace distance = 5 if distance? > 5

*生成一系列的變量:

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

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

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

*例如,某個個體的政策實施于2013年鲁捏,那么該個體在2012年的變量D_1取值為1芯砸,其余均為0。

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


*第一步,生成變量d_j渴邦、dj疯趟、current。

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

forvalues i=1/4 {

gen d_`i'? = 0

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

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

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

*回歸法進行平行趨勢檢驗:

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均不顯著矾策,則表明平行趨勢假設成立。

你可能已經(jīng)注意到了峭沦,current不被包含在回歸模型中贾虽,盡管我們生成了它。原因是d_j吼鱼、dj蓬豁、current無法同時被放進模型,否則會產生嚴格多重共線性問題菇肃,Stata會自動在“d_4 d_3 d_2 d_1 current d1 d2 d3 d4 d5”中隨機drop掉一個變量(哪個被drop掉與順序有關)地粪。為了進行平行趨勢檢驗,我們應該在d_j與current中選擇一個變量并手動去掉琐谤。如果你發(fā)現(xiàn)檢驗結果不理想蟆技,可以嘗試調整drop對象。被drop掉的那個變量斗忌,我們稱之為基期质礼。?若d_j的回歸系數(shù)是不顯著的,說明d_j的系數(shù)與基期沒有顯著差異织阳,從而支持了平行趨勢假設眶蕉。本文的例子是以current為基期,如果你希望改變基期的位置唧躲,我在49樓寫了一個以d_1為基期的代碼示例造挽。

盡管有些人還認為碱璃,可以在dj中選擇一個變量去掉,但嚴格意義上這是不合適的刽宪。若所有d_j系數(shù)均不顯著倒也無妨厘贼,同樣可以說明平行趨勢假定成立,但如果所有d_j的系數(shù)均顯著為正(或負)圣拄,那么我們無從判斷d_j中任意兩個回歸系數(shù)是否有顯著差異嘴秸。另外,偶爾也會見到一些不規(guī)范的做法庇谆,比如在不采取“縮尾處理策略”情況下(前文對此策略已經(jīng)用例子介紹了)岳掐,只對current附近幾期進行平行趨勢檢驗,這種情況下饭耳,如果你得到了一些顯著的d_j串述,你可能會誤以為平行趨勢檢驗沒有通過∧ぃ總之纲酗,基期的選擇對平行趨勢檢驗的結果是有影響的,請不要忽略這個問題新蟆∶偕蓿基于上述觀點,tvdiff這個專門用來進行平行趨勢檢驗的命令琼稻,由于不允許指定基期吮螺,因此價值可能有限。

平行趨勢檢驗的Stata命令——繪圖法

平行趨勢檢驗的繪圖法需要你先完成回歸法的所有步驟帕翻,也就是在執(zhí)行下面這條命令之后鸠补,才可以進行繪圖法。下面這個回歸的結果嘀掸,已經(jīng)可以用來判斷檢驗是否通過了紫岩。若檢驗沒有通過,繪圖法也就沒必要做了睬塌。

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

如果你認為以下內容有一定操作難度被因,那么你可以考慮放棄用繪圖法來展示平行趨勢檢驗的結果细办。正如前文所述,繪圖法與回歸法是等價的斥废,繪圖法對論文的意義只是“錦上添花”词渤。

方法1:采用coefplot繪制簡易圖形

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(政策實施相對時間,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))

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蝠咆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖瞄崇,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻粹,死亡現(xiàn)場離奇詭異,居然都是意外死亡苏研,警方通過查閱死者的電腦和手機等浊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摹蘑,“玉大人筹燕,你說我怎么就攤上這事⌒坡梗” “怎么了撒踪?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長大渤。 經(jīng)常有香客問我制妄,道長,這世上最難降的妖魔是什么泵三? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任耕捞,我火速辦了婚禮,結果婚禮上烫幕,老公的妹妹穿的比我還像新娘俺抽。我一直安慰自己,他們只是感情好纬霞,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布凌埂。 她就那樣靜靜地躺著,像睡著了一般诗芜。 火紅的嫁衣襯著肌膚如雪瞳抓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天伏恐,我揣著相機與錄音孩哑,去河邊找鬼。 笑死翠桦,一個胖子當著我的面吹牛横蜒,可吹牛的內容都是我干的。 我是一名探鬼主播销凑,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼丛晌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斗幼?” 一聲冷哼從身側響起澎蛛,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜕窿,沒想到半個月后谋逻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呆馁,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年毁兆,在試婚紗的時候發(fā)現(xiàn)自己被綠了浙滤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡气堕,死狀恐怖纺腊,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情送巡,我是刑警寧澤摹菠,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站骗爆,受9級特大地震影響次氨,放射性物質發(fā)生泄漏。R本人自食惡果不足惜摘投,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一煮寡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犀呼,春花似錦幸撕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宋光,卻和暖如春貌矿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背罪佳。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工逛漫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赘艳。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓酌毡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蕾管。 傳聞我的和親對象是個殘疾皇子枷踏,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容

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