Stata新命令:psestimate - 倾向得分匹配中协变量的筛选
作者:丁海 (华中科技大学)
Stata 连享会: 知乎 | 简书 | 码云 | CSDN
Stata连享会 精品专题 || 精彩推文
2019暑期“实证研究方法与经典论文”专题班-连玉君-江艇主讲
net describe st0328, from(http://www.stata-journal.com/software/sj14-1)
在平衡性检验之前,我们先使用psmatch2
命令进行PSM匹配,处理变量为train,协变量为age、educ、black,结果变量为re78,采用一对一近邻匹配,具体操作如下:
use ldw_exper.dta,clearpsmatch2 train age educ black, out(re78) logit ate neighbor(1) common caliper(.05) ties
PSM 匹配完成之后,我们需要检验匹配后的样本是否满足平衡性假设,即实验组与控制组的匹配协变量是否没有显著性差异,在这里可以使用pstest
命令进行检验,具体如下:
pstest age educ black hisp married , t(train)
------------------------------------------------------------------------------| Mean | t-test | V(T)/
Variable | Treated Control %bias | t p>|t| | V(C)
------------------------+--------------------------+---------------+----------
age | 25.527 24.714 11.4 | 1.19 0.234 | 1.24
educ | 10.291 10.401 -6.0 | -0.59 0.557 | 1.60*
black | .84066 .87363 -8.9 | -0.90 0.370 | .
hisp | .06044 .09066 -10.9 | -1.09 0.277 | .
married | .18681 .1522 9.2 | 0.88 0.380 | .
------------------------------------------------------------------------------
根据t检验结果发现,以上5个协变量在实验组与控制组之间不存在显著性差异。
1. 命令的安装与示例数据导入
在Stata命令窗口执行第一行代码即可完成对 psestimate
命令的下载,然后输入第二行命令下载网上示例数据 nswre74.dta(LaLonde, 1986),并执行第三行命令导入数据。
ssc install psestimate, replace //安装命令
net get psestimate //下载命令附带的数据到当前工作路径下
use "psestimate.dta", replace
2. 命令的语法
该命令的语法如下:
psestimate depvar [indepvars] [if] [in] [, options]options: totry(indepvars) notry(varlist) nolin noquad clinear(real) cquadratic(real) iterate(#) genpscore(newvar) genlor(newvar)
各个主要选项的含义如下:
depvar
,必选项,填入处理变量(如 treat),即标记是否参与实验的虚拟变量indepvars
,可选项,指定基准模型中的协变量totry(indepvars)
,可选项,放入供选择的协变量列表,默认为全部notry(varlist)
,可选项,指定不包括的协变量列表,默认为没有nolin
,可选项,指定不进行一阶多项式的选择noquad
,可选项,指定不进行二阶多项式的选择clinear(real)
,可选项,指定一阶协变量似然比检验的门槛值,默认值为 1cquadratic(real)
,可选项,指定二阶协变量似然比检验的门槛值,默认值是 2.71iterate(#)
,可选项,指定在每个 logit 中执行循环的最大值,默认值是 16000genpscore(newvar)
,可选项,由于指定程序自动生成的用于记录倾向得分值的新变量的名称genlor(newvar)
,可选项,生成对数似然比的新变量的名称
3. 命令操作
3.1 命令基本操作
下面本文将基于 psestimate
命令的作者提供的数据集 nswre74.dta 来简要说明如何使用 psestimate
这一命令来选择能最好拟合处理变量 (treat) 的协变量的一阶及二阶形式。
在这里,我们事先选定教育变量 ed 作为基准模型中的一个协变量,意味着 Stata 自动将 ed 放入基准模型中。另外,我们将指定 age、black、hisp、nodeg 四个变量作为待选协变量。代码如下:
use "nswre74.dta", clear
psestimate treat ed, totry(age black hisp nodeg)
运行结果如下:
Selecting first order covariates... (10)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
...s..s..
Selected first order covariates are: nodeg hisp
Selecting second order covariates... (21)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.....s.....
Selected second order covariates are: c.nodeg#c.ed
Final model is: ed nodeg hisp c.nodeg#c.ed
根据以上结果,可以确定在倾向得分匹配中,我们应该选取的一阶协变量为 nodeg、hisp,二阶协变量为 c.nodeg#c.ed。综上,根据 psestimate
命令的运算结果,我们应该选取 ed、nodeg、hisp、c.nodeg#c.ed 等四个变量作为倾向得分匹配的协变量。
3.2 提升运算速度
psestimate
命令在运算中会耗费较长时间,而通常来说,该命令在选择协变量的一阶形式时要快于二阶形式的选择,因此,为了加快运算速度,我们可以首先通过加入noquad
选项,只对协变量的一阶形式进行筛选,当一阶形式选定后,将其作为解释变量放入基准模型中,然后加入nolin
选项跳过一阶形式筛选步骤,只对协变量的二阶形式进行筛选。具体操作如下。
首先,加入入noquad
选项,只筛选协变量的一阶形式,如下:
use "nswre74.dta", clear
psestimate treat ed, totry(age black hisp nodeg) noquad
一阶协变量的筛选结果如下:
Selecting first order covariates... (10)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
...s..s..
Selected first order covariates are: nodeg hisp
Final model is: ed nodeg hisp
然后,将选定的ed、nodeg、hisp作为解释变量放入基准模型中,加入nolin
选项值进行二阶形式的筛选,操作如下:。
psestimate treat ed nodeg hisp , totry(age black hisp nodeg) nolin
二阶协变量的筛选结果如下:
Selecting second order covariates... (21)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.....s.....
Selected second order covariates are: c.nodeg#c.ed
Final model is: ed nodeg hisp c.nodeg#c.ed
4. psestimate 的核心思想
4.1 协变量一阶形式的选择
第一步,该程序首先在基准模型(logit treat ed
)基础上通过循环分别加入 totry()
中指定的四个变量 age、black、hisp、nodeg,进行四次模型估计,如下所示:
logit treat ed age
logit treat ed black
logit treat ed hisp
logit treat ed nodeg
每次估计完成后,它将得到的新的极大似然值与基准模型比较,选择上述四个模型中对数极大似然值 (Log-Likelihood, 简称 LL 值) 最大的模型中的协变量放入基准模型中,除非上述四个模型的极大似然值都低于 clinear(real)
中指定的门槛值。若此处假设为 nodeg,则基准模型扩展为 logit treat ed nodeg
, 然后第二步,它将估计如下模型:
logit treat ed nodeg age
logit treat ed nodeg black
logit treat ed nodeg hisp
这一步的协变量筛选原则与第一步相同。可以看出,当供选择的协变量数量为 CCC 时,在确定协变量的一阶形式时,该程序理论上会估计 ∑C∑C∑C 个 Logit 模型。本例中有 4 个供选择的协变量,则需要估计 10 次(如下括号中所示),该命令选择的协变量一阶形式结果如下:
Selecting first order covariates... (10)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
...s..s..
Selected first order covariates are: nodeg hisp
4.2 协变量二阶形式的选择
在协变量二阶形式的选择上,主要分为协变量平方项以及协变量间的交乘项。
如果在一阶形式中只选择了 a 这一个协变量,则二阶形式的选择只需要检验 a^2 这一变量。但是如果有 a、b 两个一阶协变量被选择,则二阶形式的选择需要检验 a2**、**b2、ab 三个二阶协变量形式。具体到本例,确定的一阶协变量有 ed、nodeg、hisp 三个,则需要检验的二阶协变量有六个,即 ed2**、**nodeg2、hisp^2、c.ed#c.nodeg、c.ed#c.hisp、c.nodeg#c.hisp,筛选过程与选择协变量一阶形式的方法一致。因此本例中共需估计 ∑6∑6∑6 即 21 次(如下括号中所示),结果如下所示:
Selecting second order covariates... (21)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.....s.....
Selected second order covariates are: c.nodeg#c.ed
Final model is: ed nodeg hisp c.nodeg#c.ed
4.3 流程图展示
如下流程图可以更加直观地展现psestimate
筛选协变量一阶及二阶形式的过程,为简化分析,我们可供选择的协变量为a、b两个变量,假设各模型的对数极大似然值存在如下大小关系,LL1>LL2> clinear()
>LL3,LL4>LL5>LL6> cquadratic()
>LL7>LL8。
5. PSM估计的完整流程示例
5.1 psestimate 筛选匹配变量的一阶、二阶形式
第一步,使用psestimate
筛选匹配变量
use "nswre74.dta", clear
psestimate treat ed, totry(age black hisp nodeg)
匹配变量选择如下:
Selecting first order covariates... (10)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
...s..s..
Selected first order covariates are: nodeg hisp
Selecting second order covariates... (21)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.....s.....
Selected second order covariates are: c.nodeg#c.ed
Final model is: ed nodeg hisp c.nodeg#c.ed
最终选择的匹配变量为ed、nodeg、hisp、c.nodeg#c.ed
5.2 psmatch2 基于筛选出的匹配变量进行PSM匹配
基于上述匹配变量进行PSM匹配:
psmatch2 treat ed nodeg hisp c.nodeg#c.ed, logit ate neighbor(1) common caliper(.05) ties
结果如下:
Logistic regression Number of obs = 445LR chi2(4) = 17.03Prob > chi2 = 0.0019
Log likelihood = -293.58317 Pseudo R2 = 0.0282------------------------------------------------------------------------------treat | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------ed | .5093428 .3298117 1.54 0.123 -.1370762 1.155762nodeg | 6.506319 4.112404 1.58 0.114 -1.553845 14.56648hisp | -.5954105 .3754841 -1.59 0.113 -1.331346 .1405248|
c.nodeg#c.ed | -.6068825 .3375387 -1.80 0.072 -1.268446 .0546813|_cons | -6.021438 4.05441 -1.49 0.138 -13.96794 1.925059
------------------------------------------------------------------------------
5.3 pstest 进行平衡性假设检验
pstest ed nodeg hisp c.nodeg#c.ed, t(treat)
结果如下:
------------------------------------------------------------------------------| Mean | t-test | V(T)/
Variable | Treated Control %bias | t p>|t| | V(C)
------------------------+--------------------------+---------------+----------
ed | 10.29 10.464 -9.6 | -0.91 0.363 | 1.28
nodeg | .71585 .69399 5.3 | 0.46 0.648 | .
hisp | .06011 .06011 -0.0 | -0.00 1.000 | .
c.nodeg#c.ed | 6.7814 6.694 2.1 | 0.18 0.854 | 0.96
------------------------------------------------------------------------------
可以发现,匹配后实验组与控制组的匹配变量均没有显著差异,满足平衡性假设条件
5.4 psgraph 绘图直观呈现各匹配变量的平衡性状况
psgraph
结果如下:
图中也可以直观看出,实验组与控制组的倾向得分值分布大致平衡。
参考文献
- Dehejia, Rajeev H. and Sadek Wahba. 1999. “Causal Effects in Nonexperimental Studies”. Journal of the American Statistical Association 94(448): 1053-1062.
- Imbens, Guido W. and Donald B. Rubin. 2015. Causal Inference in Statistics, Social, and Biomedical Sciences. New York: Cambridge University Press.
- Imbens, Guido W. 2015. “Matching Methods in Practice: Three Examples.” Journal of Human Resources 50 (2): 373–419. [PDF1], [PDF2-wp]
- LaLonde, Robert J. 1986. “Evaluating the Econometric Evaluations of Training Programs with Experimental Data.” The American Economic Review 76 (4): 604–20. [PDF]
关于我们
- 【Stata 连享会(公众号:StataChina)】由中山大学连玉君老师团队创办,旨在定期与大家分享 Stata 应用的各种经验和技巧。
- 公众号推文同步发布于 CSDN-Stata连享会 、简书-Stata连享会 和 知乎-连玉君Stata专栏。可以在上述网站中搜索关键词
Stata
或Stata连享会
后关注我们。 - 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
- Stata连享会 精品专题 || 精彩推文
联系我们
- 欢迎赐稿: 欢迎将您的文章或笔记投稿至
Stata连享会(公众号: StataChina)
,我们会保留您的署名;录用稿件达五篇
以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。 - 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
- 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
- 联系邮件: StataChina@163.com
往期精彩推文
- Stata连享会 精品专题 || 精彩推文
Stata新命令:psestimate - 倾向得分匹配中协变量的筛选相关推荐
- Stata:psestimate-倾向得分匹配(PSM)中协变量的筛选
全文阅读:https://www.lianxh.cn/news/2da90377100cf.html 目录 1. 命令的安装与示例数据导入 2. 命令的语法 3. 命令操作 3.1 命令基本操作 3. ...
- 倾向得分匹配只看这篇就够了
一.倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的,首次运用在生物医药领域,后来被广泛运用在药物治疗.计量研究.政策实施评价等领域.倾向得分匹配模型主要用来解 ...
- 倾向得分匹配的stata命令_计量方法的适用条件汇总(二):倾向得分匹配
独家揭秘: 计量经济学的魅力与激情:陈强老师的高级计量现场班侧记(2019.5.1) 如何学好高级计量:探秘陈强老师的高级计量及Stata现场班(2019.10.1) 接上期推文,本期探讨倾向得分匹配 ...
- 倾向得分匹配的stata命令_培训对工资是否影响显著:倾向得分匹配法(PSM)及stata实现...
第一部分 模型背景 1.研究目的 2.基本思想 第二部分 数据介绍以及语法简介 1.数据介绍 2.语法格式 第三部分 案例讲解以及stata实现 1.变量介绍以及数据描述性统计 2.倾向匹 ...
- psm倾向得分匹配法举例_一文读懂倾向得分匹配法(PSM)举例及stata实现(一)
原标题:一文读懂倾向得分匹配法(PSM)举例及stata实现(一) 一.倾向匹配得分应用之培训对工资的效应 政策背景:国家支持工作示范项目( National Supported Work,NSW ) ...
- stata 倾向得分匹配操作
倾向得分匹配法是一种研究方法,它在研究某项治疗.政策.或者其他事件的影响因素上很常见.对于经济.金融学领域来说,比如需要研究某个劳动者接受某种高等教育对其收入的影响,或者比如研究某个企业运用了某项管理 ...
- 倾向得分匹配(Propensity Score Matching) 通俗解析及在Stata里的运用
转载: http://blog.sina.com.cn/s/blog_626867f30101h3ea.html 倾向得分匹配法是一种研究方法,它在研究某项治疗.政策.或者其他事件的影响因素上很常见. ...
- psm倾向得分匹配法举例_倾向得分匹配法(PSM)举例及stata实现
倾向得分匹配法 (PSM) 举例及 stata 实现 偏好分数匹配法 (PSM) 和 stata 实施 - 阅读注释 [ 示例 ] 政策背景 : 国家支持的工作,新南威尔士州 ) 研究目标 : 测试接 ...
- psm倾向得分匹配法举例_倾向得分匹配法(PSM)举例和stata实现.pdf
倾向得分匹配法(PSM )举例及stata 实现 --读书笔记 1 [例]培训对工资的效应 政策背景:国家支持工作示范项目(National Supported Work,NSW ) 研究目的:检验接 ...
- psm倾向得分匹配法举例_倾向得分匹配法(PSM)举例及stata实现.pdf
倾向得分匹配法(PSM)举例及stata实现.pdf 倾向得分匹配法(PSM )举例及stata 实现 --读书笔记 1 [例]培训对工资的效应 政策背景:国家支持工作示范项目(National Su ...
最新文章
- 5分钟就能完成的5个Python小项目,赶紧拿去练习吧
- 第十六周程序阅读(6)
- 如何做网络营销推广浅析网站SEO外链发布的技巧分享!
- 大型企业云化2.0的深度思考与展望
- python基础中apply()函数的正确用法
- vnc连接linux颜色灰色,VNC 灰色的屏幕解决方法
- 禅道开源版用户手册_Docker搭建开源版禅道以及项目基本流程介绍
- 眼下很多创业者之所以会创业失败
- 编译内核出错:invalid option `abi=aapcs-linux'
- 键盘不能使用或者提示没有键盘开不了机的【解决办法】
- 《物联网Android程序开发案例式教程》Demo1:线性布局
- 贪心算法详细讲解(附例题,一看就会)
- 修改WordPress网站默认wp-content/uploads上传文件路径
- 数据结构—队列的C语言实现
- Qt5.12 使用FFmpeg实时解码播放H264/H265摄像头记录(直传数据法)
- 网络游戏程序员须知 目录
- Kali Linux安装2019.2.28
- 社工工具包 SEToolkit
- NASA WIND卫星观测数据作图——origin
- 函数的参数(形参与实参)的理解
热门文章
- 天津大学仁爱学院哪个计算机专业2013山西理科录取分数,天津大学仁爱学院2020年录取分数线(附2017-2020年分数线)...
- 什么是 480i、576i、480p、1080i、720p?什么是 HDTV?
- ssh publisher_3种Microsoft Publisher的开源替代品
- Android 手机遥控器控制机顶盒(电视)
- 21秋信源编码技术作业(1)——使用Audacity软件绘制清浊音频谱图并进行分析
- 6572 Phone call分析
- Linux中reboot和shutdown的异同
- 算法(c++)——循环比赛日程安排问题
- 微信服务号 权限 access_token 失效问题
- CSS3渐变、过渡、2D、3D和动画