广义倾向得分匹配GPSM实证数据, 代码和相关解读结果公开!
凡是搞计量经济的,都关注这个号了
稿件:econometrics666@126.com
**********************************************************************
/*Basic Analysis: Save the observations both in 2010 2012 and 2013*/
**********************************************************************
clear all
set memory 4g
cd C:\Users\fu64\Desktop\广义倾向得分匹配\data
use basic_2010.dta,clear
/*Samples Cleaning*/
keep if export_1!=. & export_2!=. & export_3!=.
gen export_avg=(export_1+export_2+export_3)/3
/*Key Varable: size as treatment var*/
/*Find 99% of size and use it for standardization*/
gen treat=size/gross_value
drop if treat==.
replace treat=1 if treat>1
/*Cutpoints*/
gen cut=0.031 if treat<=0.031
replace cut=0.068 if treat>0.031 & treat<=0.068
replace cut=0.124 if treat>0.068 & treat<=0.124
replace cut=0.440 if treat>0.124 & treat<=0.440
replace cut=1 if treat>0.440 & treat<=1
/*Next choose represantitive treatment-level*/
matrix tp=J(101,1,0)
scalar j=0
forvalues i=1/101{
mat tp[`i',1]=j
scalar j=j+0.01
}
*************************************************
xi i.ind_code2d i.area
*************************************************
doseresponse2 lgross_value lnk tfp finan age ex RD subsidy NZ _I*, outcome(export_avg) ///
t(treat) gpscore(gps) predict(t_hat) sigma(sd) cutpoints(cut) index(mean) ///
nq_gps(4) flag_b(0) dose_response(dose_res) reg_type_t(cubic) reg_type_gps(cubic) ///
family(bin) link(logit) tpoints(tp) bootstrap(yes) boot_reps(100) analysis(yes) ///
analysis_level(0.95) filename("output_avg_cubic_boostap_2010") ///
graph("graph_avg_cubic_boostrap_2010")
******************************************************
/*Case 1:Lage 1 period */
******************************************************
clear all
set memory 4g
use basic_2010.dta,clear
/*Samples Cleaning*/
keep if export_1!=.
/*Key Varable: size as treatment var*/
/*Find 99% of size and use it for standardization*/
gen treat=size/gross_value
drop if treat==.
replace treat=1 if treat>1
/*Cutpoints*/
gen cut=0.0316 if treat<=0.0316
replace cut=1 if treat>0.0316 & treat<=1
/*Next choose represantitive treatment-level*/
matrix tp=J(101,1,0)
scalar j=0
forvalues i=1/101{
mat tp[`i',1]=j
scalar j=j+0.01
}
*************************************************
xi i.ind_code2d i.area
*************************************************
doseresponse2 lgross_value lnk tfp finan age ex RD subsidy NZ _I*, outcome(export_1)///
t(treat) gpscore(gps) predict(t_hat) sigma(sd) cutpoints(cut) index(mean) ///
nq_gps(8) flag_b(0) dose_response(dose_res) reg_type_t(cubic) reg_type_gps(cubic)///
family(bin) link(logit) tpoints(tp) filename("output_lag1_cubic_2010")///
graph("graph_lag1_cubic_2010")
*************************************************
/*Case 2: lage 2 period */
clear all
set memory 4g
use basic_2010.dta,clear
/*Samples Cleaning*/
keep if export_2!=.
/*Key Varable: size as treatment var*/
/*Find 99% of size and use it for standardization*/
gen treat=size/gross_value
drop if treat==.
replace treat=1 if treat>1
/*Cutpoints*/
gen cut=0.0095 if treat<=0.0095
replace cut=1 if treat>0.0095 & treat<=1
/*Next choose represantitive treatment-level*/
matrix tp=J(101,1,0)
scalar j=0
forvalues i=1/101{
mat tp[`i',1]=j
scalar j=j+0.01
}
*************************************************
xi i.ind_code2d i.area
*************************************************
doseresponse2 lgross_value lnk tfp finan age ex RD subsidy NZ _I*, outcome(export_2)///
t(treat) gpscore(gps) predict(t_hat) sigma(sd) cutpoints(cut) index(mean)///
nq_gps(8) flag_b(0) dose_response(dose_res) reg_type_t(cubic) reg_type_gps(cubic)///
family(bin) link(logit) tpoints(tp) filename("output_lag2_cubic_2010") ///
graph("graph_lag2_cubic_2010")
*************************************************
/*Case 3: Lag 3 period*/
clear all
set memory 4g
use basic_2010.dta,clear
/*Samples Cleaning*/
keep if export_3!=.
/*Key Varable: size as treatment var*/
/*Find 99% of size and use it for standardization*/
gen treat=size/gross_value
drop if treat==.
replace treat=1 if treat>1
/*Cutpoints*/
gen cut=0.0295 if treat<=0.0295
replace cut=1 if treat>0.0295 & treat<=1
/*Next choose represantitive treatment-level*/
matrix tp=J(101,1,0)
scalar j=0
forvalues i=1/101{
mat tp[`i',1]=j
scalar j=j+0.01
}
*************************************************
xi i.ind_code2d i.area
*************************************************
doseresponse2 lgross_value lnk tfp finan age ex RD subsidy NZ _I*, outcome(export_3)///
t(treat) gpscore(gps) predict(t_hat) sigma(sd) cutpoints(cut) index(mean)///
nq_gps(8) flag_b(0) dose_response(dose_res) reg_type_t(cubic)///
reg_type_gps(cubic) family(bin) link(logit) tpoints(tp)///
filename("output_lag3_cubic_2010") graph("graph_lag3_cubic_2010")
****************************************************************************************
/*Rgmediation Regression: Mechanism Check */
clear all
set memory 4g
use Check_2010.dta,clear
/*Samples Cleaning*/
keep if export_1!=. & export_2!=. & export_3!=.
gen export_avg=(export_1+export_2+export_3)/3
********************************************
/*Using tfp_1 as Innovation Proxy*/
sgmediation export_avg if treat<=0.6,mv(tfp_1)iv(treat) cv(lgross_value lnk tfp finan age EX RD Sub NZ _I*)
长按以上二维码即可提取广义倾向得分匹配的文章、数据和代码
Source:康志勇,张宁,汤学良,刘馨.“减碳”政策制约了中国企业出口吗[J].中国工业经济,2018(09):117-135.
1. PSM倾向匹配Stata操作详细步骤和代码,干货十足,2.处理效应模型选择标准,NNM和PSM,赠书活动,3.PSM和马氏匹配已淘汰, '遗传匹配'成因果推断匹配之王,4.PSM, RDD, Heckman, Panel模型的操作程序, selective文章精华系列,5.广义PSM,连续政策变量因果识别的不二利器,6.PSM-DID, DID, RDD, Stata程序百科全书式的宝典,7.在教育领域使用IV, RDD, DID, PSM多吗? 使用具体References,8.分位数DID, PSMDID, 政策前协变量平衡性检验操作步骤和案例,9.逐年匹配的PSM-DID操作策略, 多时点panel政策评估利器,10.执行PSM的标准操作步骤, 不要再被误导了,11.PSM匹配后如何保留配对样本? 1:1, 1:4或更多情况呢?12.逐年PSM匹配后再DID识别因果的实证范文, 这就是逐年PSM-DID的操作范式!13.英诺丁汉大学校长为你讲解逐年PSM匹配-DID方法的操作, 并配上自己写的一篇范文!14.内生性问题和倾向得分匹配, 献给准自然试验的厚礼,15.粗化精确匹配CEM文献推荐, 程序步骤可复制,16.DID, 合成控制, 匹配, RDD四种方法比较, 适用范围和特征,17.匹配方法(matching)操作指南, 值得收藏的16篇文章,18.中国工业企业数据库匹配160大步骤的完整程序和相应数据,19.Match匹配估计做敏感性检验的最新方法, 让不可观测变量基础上的选择无处遁形,20.无需检查协变量平衡性的CEM匹配, 到底有多神气和与众不同,21.因果推断中的匹配方法:最全回顾和前景展望,22.内生性问题和倾向得分匹配, 献给准自然试验的厚礼,23.倾向值匹配与因果推论,史上最全面精妙的锦囊,24.匹配还是不匹配?这真是个值得考虑的问题,25.匹配比OLS究竟好在哪里?这是一个问题,26.倾向匹配分析深度(Propsensity matching analysis)
2.5年,计量经济圈近1000篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
数据系列:空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 | 夜间灯光 | 官员方言 | 微观数据 | 内部数据计量系列:匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID数据处理:Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |干货系列:能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验计量经济圈组织了一个计量社群,有如下特征:热情互助最多、前沿趋势最多、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。