?? 連享會主頁:lianxh.cn
New! lianxh
命令發(fā)布了: GIF 動圖介紹
隨時搜索 Stata 推文、教程、手冊、論壇,安裝命令如下:
? . ssc install lianxh
? 連享會 · 最受歡迎的課
?
?? 2021 Stata 寒假班
? 2021 年 1.25-2.4
?? 主講:連玉君 (中山大學);江艇 (中國人民大學)
?? 課程主頁:https:///arlionn/PX
作者: 袁子晴 (香港大學)
郵箱: yzq0612@foxmail.com
目錄
溫馨提示: 文中鏈接在微信中無法生效。請點擊底部「閱讀原文」。
1. 問題背景
自然實驗通常依據(jù)地理邊界來劃分處理組和控制組,但是由于政策的 外部性 或者個體的策略性 遷移決策 (主動地從控制組地區(qū)遷移至處理組地區(qū)) ,在 處理組 和 控制組 之間可能發(fā)生 溢出效應(yīng),即政策處理效果可能會蔓延到近鄰的控制組。
這種情況違反了雙重查分法的 SUTVA 假定 (Stable Unit Treatment Value Assumption),即不同個體是否受到政策影響是相互獨立的,也就是說某一個體受政策影響的情況 (Treatment Status) 不得影響任何其他個體的結(jié)果。
2. 模型設(shè)定
考慮到這一問題,Clarke (2017) 介紹了一種靈活的方法來檢驗這種溢出效應(yīng),并在溢出效應(yīng)存在的情況下估計政策處理效應(yīng)。
2.1 經(jīng)典的雙重差分法
首先我們來回顧一下包含了個體和時間的雙固定效應(yīng)雙重差分法模型,核心解釋變量是 ,
溢出效應(yīng)帶來的 估計偏差 取決于以下兩方面:
- 對控制組產(chǎn)生的溢出效應(yīng)的 方向及大小;
2.2 溢出穩(wěn)健-雙重差分法
2.2.1 模型設(shè)定
考慮到溢出效應(yīng),我們運用 溢出穩(wěn)健-雙重差分法 (spillover-robust DID method) ,模型設(shè)定如下:
通過 引入近鄰處理組,此框架放松了 SUTVA 的假定,只要求 部分滿足 SUTVA 假定,來估計政策處理效應(yīng) (Treatment Effects) 和 “近鄰” 處理效應(yīng) (“Close” to Treatment Effects)。
2.2.2 模型優(yōu)勢
該方法主要有以下兩方面的優(yōu)勢
- a. 對外溢的具體形式?jīng)]有嚴格限制,處理組的政策效應(yīng)可以外溢到控制組,溢出效應(yīng)依賴于到最近處理組的距離;
- b. 存在外溢效應(yīng)的區(qū)域是由最優(yōu)帶寬確定的,避免人為主觀設(shè)定。
2.2.3 前提假設(shè)
假設(shè)1:處理組 和 控制組 之間的平行趨勢
假設(shè)2:近鄰組 與 控制組 之間的平行趨勢。
假設(shè)3:SUTVA 局部成立,即在總樣本 中,部分個體 子集,其潛在結(jié)果 () 與是否受到政策處理無關(guān)
假設(shè)4A:是否會被分配到近鄰處理組取決于到處理組的距離 ,外溢效應(yīng)在該距離超過閾值 時消失殆盡,即當 時,.
滿足 假設(shè)1~4A 后,「溢出穩(wěn)健-雙重差分法」可以得到一致估計量,其中 假設(shè)4A 可以被進一步放松,即近鄰處理組的分配機制可以進一步細化。
- 假設(shè)5:溢出效應(yīng)隨距離的單調(diào)性 (Monotonicity of Spillovers in Distance)
假設(shè)4A 中,決定是否會被分配到近鄰處理組 是一個單一的虛擬變量,事實上可以被進一步拆解成一組虛擬變量:
其中,對于 ,有
其實,某個體離處理組的距離 被切分成 等份,每份(相對于每單位)的長度為 ,比如, 為到處理組的地理距離,最小距離和最大距離分別為 0 km 和 100 km, 可設(shè)為 5 km,從而得到 20 個不同的指標 , ,在這一組虛擬變量中,每個個體 在時間 內(nèi)最多只有一個虛擬變量取值為 1。
3. Stata 實現(xiàn)
溫馨提示: 文中鏈接在微信中無法生效。請點擊底部「閱讀原文」。
Clarke (2017) 為溢出穩(wěn)健-雙重差分法提供了 Stata 外部命令 cdifdif
,相關(guān)程序可以到如下倉庫下載,并參照 -Stata: 外部命令的搜索、安裝與使用- 進行安裝:
- github 倉庫地址:https://github.com/damiancclarke/cdifdif
- 碼云倉庫地址:https:///arlionn/cdifdif
該命令的語法結(jié)構(gòu)如下:
cdifdif yvar xvars [if] [in] [weight], ///
distance(varname) maxdist(real) [options]
基本選項如下:
distance(varname)
:指定 距離變量,用于度量給定時間段內(nèi)給定 觀測值到最近的處理組的距離。當個體屬于處理組時,該變量取值為零。在政策實施前,該變量取值為零,或者設(shè)置為缺失值。
maxdist(real)
:指定測試 最優(yōu)帶寬的范圍,從最小值開始,以 delta(#)
為單位遞增,直到達到 maxdist
。請注意,maxdist
并不意味著不能估計超過設(shè)定數(shù)值的溢出效應(yīng),而是在選擇最優(yōu)帶寬時不會考慮超出 maxdist
所設(shè)定的數(shù)值。
delta(#)
:測試最佳距離帶寬時搜索網(wǎng)格的精細度 (步長)。該數(shù)值較小,表明后續(xù)測試的帶寬應(yīng)該是緊密間隔的,從而在確定RMSE最佳帶寬時考慮更多的帶寬選擇。該數(shù)值應(yīng)該基于距離變量(varname
) 的度量單位來加以設(shè)置。
regtype(string)
:指定用 yvar 和 xvars 估計的回歸模型,包括 areg
, regress
。此外,適用于areg
, regress
的選項,例如聚類穩(wěn)健標準誤 cluster()
或者固定效應(yīng)的選項 absorb()
也能直接使用
tlimit(#)
:顯著性水平設(shè)定,默認為 1.96
stub(string)
:指定近鄰處理變量的名稱, 默認情況下,自動返回一系列以 _close 開頭的變量
nogenerate
:不匯報近鄰處理變量,只輸出最優(yōu)的回歸模型
plotrmse
:將測試的每個溢出帶寬的 RMSE 值以圖表的方式呈現(xiàn)出來
kfold(#)
:在最小化 RMSE 估計最優(yōu)帶寬時,默認使用 k-fold 交叉驗證 (除非指定 loocv
),指定 kfold(#)
允許預測 時使用的參數(shù)可以改變。默認為kfold(10)
loocv
:估計最優(yōu)帶寬時使用 leave-one-out 交叉驗證,而不是 k-fold 交叉驗證,但當觀測值數(shù)目較多的時候,這種方法較慢
verbose
要求匯報更多方法細節(jié),建議在指定 loocv 時使用
nonoptimal
要求不使用最佳帶寬搜索過程,不建議使用該方法,因為研究者需要自行設(shè)定帶寬
h(#)
指定用于回歸的帶寬,只有在指定了 nonoptimal
時生效。
3.1 Stata 實例
接下來的實例中,我們控制了個體和時間固定效應(yīng),采用聚類在個體層級的聚類穩(wěn)健標準誤,將最優(yōu)帶寬的搜索范圍限定在 25 之內(nèi),回歸結(jié)果表明外溢效應(yīng)與政策效應(yīng)的方向一致,而且在統(tǒng)計上顯著,該溢出效應(yīng)隨著距離的增加而衰減。回歸結(jié)果還匯報了最優(yōu)帶寬為 5。
. webuse set 'http://www./data/'
. webuse 'spilloverDGPs', clear
. cdifdif y1 treat i.time, distance(distance) ///
maxdist(25) regtype(areg) abs(id) cluster(id)
Linear regression, absorbing indicators Number of obs = 1,000
Absorbed variable: id No. of categories = 500
F( 7, 499) = 591.12
Prob > F = 0.0000
R-squared = 0.9631
Adj R-squared = 0.9251
Root MSE = 0.9453
(Std. Err. adjusted for 500 clusters in id)
------------------------------------------------------------------------------
| Robust
y1 | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
treat | 10.09622 .2142248 47.13 0.000 9.675327 10.51711
1.time | .8729984 .1088206 8.02 0.000 .6591953 1.086801
_close_0_5 | 5.085146 .4182907 12.16 0.000 4.263318 5.906974
_close_5_10 | 3.931074 .3684214 10.67 0.000 3.207225 4.654922
_close_10_15 | 3.447174 .4837801 7.13 0.000 2.496677 4.397671
_close_15_20 | 2.12119 .5336645 3.97 0.000 1.072683 3.169696
_close_20_25 | .9494996 .4319377 2.20 0.028 .1008589 1.79814
_cons | 3.522413 .042297 83.28 0.000 3.43931 3.605515
------------------------------------------------------------------------------
Optimal Distance calculated is 5
Maximum spillover distance is 25
通過附加選項 plotrmse
,我們可以得到下圖,直觀地展示了在不同帶寬選擇下的 RMSE 值,我們可以觀察到在帶寬為 5 時,RMSE 取最小值,也驗證了上述最優(yōu)帶寬的選擇。
. cdifdif y1 treat i.time, distance(distance) ///
maxdist(25) regtype(areg) abs(id) cluster(id) plotrmse
我們還可以采用 leave-one-out 交叉驗證來估計最優(yōu)帶寬 (參見 Stata:交叉驗證簡介 ),該方法耗時較長,最終的結(jié)果與上面保持一致。
. cdifdif y1 treat i.time, distance(distance) maxdist(25) ///
regtype(areg) abs(id) cluster(id) loocv verbose
RMSE for 25 is 1.1252901
Linear regression, absorbing indicators Number of obs = 1,000
Absorbed variable: id No. of categories = 500
F( 7, 499) = 591.12
Prob > F = 0.0000
R-squared = 0.9631
Adj R-squared = 0.9251
Root MSE = 0.9453
(Std. Err. adjusted for 500 clusters in id)
------------------------------------------------------------------------------
| Robust
y1 | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
treat | 10.09622 .2142248 47.13 0.000 9.675327 10.51711
1.time | .8729984 .1088206 8.02 0.000 .6591953 1.086801
_close_0_5 | 5.085146 .4182907 12.16 0.000 4.263318 5.906974
_close_5_10 | 3.931074 .3684214 10.67 0.000 3.207225 4.654922
_close_10_15 | 3.447174 .4837801 7.13 0.000 2.496677 4.397671
_close_15_20 | 2.12119 .5336645 3.97 0.000 1.072683 3.169696
_close_20_25 | .9494996 .4319377 2.20 0.028 .1008589 1.79814
_cons | 3.522413 .042297 83.28 0.000 3.43931 3.605515
------------------------------------------------------------------------------
Optimal Distance calculated is 5
Maximum spillover distance is 25
4. 總結(jié)
經(jīng)典雙重查分模型的前提假設(shè)是處理組和控制組涇渭分明,井水不犯河水,但是考慮到外溢效應(yīng),這一假設(shè)往往并不滿足,可能會導致有偏的估計結(jié)果,所以 Clarke (2017) 提供了溢出穩(wěn)健雙重查分模型來解決這一問題,具體模型細節(jié)和證明請參閱原文,啟示是我們可以在穩(wěn)健性檢驗部分借鑒這一方法并且與基準模型相對比,從而增加結(jié)果的可信性和說服力。
5. 參考文獻
溫馨提示: 文中鏈接在微信中無法生效。請點擊底部「閱讀原文」。
- Damian Clarke 個人主頁 (damian.clarke@usach.cl)
- Clarke, D. (2017). Estimating Difference-in-Differences in the Presence of Spillovers. PDF
6. 相關(guān)推文