Python計(jì)算雙重差分模型DID及其對(duì)應(yīng)P值使用詳解
1. DID(Differences-in-Differences)定義
雙重差分法,其主要被用于社會(huì)學(xué)中的政策效果評(píng)估。這種方法需要兩個(gè)「差異」數(shù)據(jù)。一個(gè)是干預(yù)前后的「差異」,這個(gè)是自身實(shí)驗(yàn)前后的差異。另外一個(gè)是干預(yù)組與對(duì)照組的「差異」。DID利用這兩個(gè)「差異」的差異來推算干預(yù)的效果。因此,顧名思義叫做雙重差分法。
其原理是基于一個(gè)反事實(shí)的框架來評(píng)估政策發(fā)生和不發(fā)生這兩種情況下被觀測(cè)因素y的變化。如果一個(gè)外生的政策沖擊將樣本分為兩組:受政策干預(yù)的Treat組和未受政策干預(yù)的Control組(在政策沖擊前,Treat組和Control組的y沒有顯著差異)。那么,可以將Control組在政策發(fā)生前后y的變化看作Treat組未受政策沖擊時(shí)的狀況(反事實(shí)的結(jié)果)。通過比較Treat組y的變化(D1)以及Control組y的變化(D2),就可以得到政策沖擊的實(shí)際效果(DD=D1-D2)。
注意:只有在滿足“政策沖擊前Treat組和Control組的y
沒有顯著差異”(即平行性假定)的條件下,得到的雙重差分估計(jì)量才是無偏的。
如下圖所示:
干預(yù)組實(shí)驗(yàn)前為A1,實(shí)驗(yàn)后為A2。對(duì)照組實(shí)驗(yàn)前為B1,實(shí)驗(yàn)后為B2。對(duì)于干預(yù)組實(shí)驗(yàn)前后差異為A2-A1,對(duì)于對(duì)照組實(shí)驗(yàn)后為B2-B1。兩者之差(A2-A1)-(B2-B1)即為DID結(jié)果,因果效應(yīng)/處理效應(yīng)。如下圖處理效應(yīng)所代表的部分。
2. DID模型形式
為分組虛擬變量(處理組=1,控制組=0);
為分期虛擬變量(政策實(shí)施后=1,政策實(shí)施前=0);
交互項(xiàng) 表示處理組在政策實(shí)施后的效應(yīng),其系數(shù)即為雙重差分模型重點(diǎn)考察的處理效應(yīng)。
3. OLS多項(xiàng)式擬合
根據(jù)DID公式,我們可以通過使用多項(xiàng)式擬合的方法來求得DID及其P值。以下為Pyhton方法:使用statsmodels庫中ols方法,需要根據(jù)上述公式準(zhǔn)備數(shù)據(jù),t代表時(shí)間(干預(yù)前=0,干預(yù)后=1)、g代表分組(干預(yù)組=1,對(duì)照組=0)、還有一個(gè)是交叉項(xiàng)tg(計(jì)算其t*g即可)。
代碼如下:
import statsmodels.formula.api as smf import pandas as pd v1 =[0.367730,0.377147,0.352539,0.341864,0.29276,0.393443,0.374697,0.346989,0.385783,0.307801] t1 = [0,0,0,0,1,0,0,0,0,1] g1 =[1,1,1,1,1,0,0,0,0,0] tg1 = [0,0,0,0,1,0,0,0,0,0] aa = pd.DataFrame({'t1':t1,'g1':g1,'tg1':tg1,'v1':v1}) X = aa[['t1', 'g1','tg1']] y = aa['v1'] est = smf.ols(formula='v1 ~ t1 + g1 + tg1', data=aa).fit() y_pred = est.predict(X) aa['v1_pred'] = y_pred print(aa) print(est.summary()) print(est.params)
準(zhǔn)備數(shù)據(jù)格式如下:
OLS結(jié)果Summary如下:
交叉項(xiàng)的系數(shù)就是DID結(jié)果,處理效應(yīng)。P>| t |為其P值,小于0.05表示差異顯著。
參考資料:
1. 雙重差分法(DID)入門必看 - 知乎
2. 什么是雙重差分模型(:difference-in-differences model)? - 知乎
3. Python 普通最小二乘法(OLS)進(jìn)行多項(xiàng)式擬合的方法
以上就是Python計(jì)算DID及其對(duì)應(yīng)P值使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Python計(jì)算DID及對(duì)應(yīng)P值的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。