错误使用倾向得分匹配法方法的例子有哪些

倾向得分匹配法(PSM)举例及stata实现_中华文本库
第1页/共6页
1倾向得分匹配法(PSM )举例及stata 实现
——读书笔记
【例】培训对工资的效应1
政策背景:国家支持工作示范项目(National Supported Work,NSW)
研究目的:检验接受该项目(培训)与不接受该项目(培训)对工资的影响。 基本思想:分析接受培训组(处理组,treatment group)接受培训行为与不接受培训行为在工资表现上的差异。但是,现实可以观测到的是处理组接受培训的事实,而处理组没有接受培训会怎样是不可能观测到的,这种状态也成为反事实(counterfactual )。匹配法就是为了解决这种不可观测事实的方法。在倾向得分匹配方法(Propensity Score Matching)中,根据处理指示变量将样本分为两个组,一是处理组,在本例中就是在NSW 实施后接受培训的组;二是对照组(comparison group),在本例中就是在NSW 实施后不接受培训的组。倾向得分匹配方法的基本思想是,在处理组和对照组样本通过一定的方式匹配后,在其他条件完全相同的情况下,通过接受培训的组(处理组)与不接受培训的组(对照组)在工资表现上的差异来判断接受培训的行为与工资之间的因果关系。
变量定义:
TREAT * 处理指示变量,1表示接受培训(处理组),0表示没有接受培训(对照组)
年龄(年)
受教育年数(年)
种族虚拟变量,黑人时,1BLACK =
民族虚拟变量,西班牙人时,=1HSIP
婚姻状况虚拟变量,已婚,1MARR = 74RE
1974年实际工资(1982年美元)
1975年实际工资
1978年实际工资
当在1974年失业,741U =
当在1975年失业,751U = NODEGREE
当12EDUC &时,1NODEGREE =,否则为0 AGESQ
AGE AGE × 1 本例选自Cameron&Trivedi《微观计量经济学:方法与应用》(中译本,上海财经大学出版社,2010)pp794-800 所有数据及程序均来自于本书的配套网站(http://cameron.econ.ucdavis.edu/mmabook/mmaprograms.html)。本文是末学向两位善知识Cameron 和Trivedi 的教材恭敬学习后整理的读书笔记,没有任何创意,只是简化整理一番而已,整理中难免错谬之处,敬请指正,不胜感激。末学联系方式
第1页/共6页
寻找更多 ""华师2016心理学在线作业100分的_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
华师2016心理学在线作业100分的
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢倾向得分加权匹配分析方法的R实现
1.1 PSW Package 简介
PSW : Propensity Score Weighting Methods for Dichotomous Treatments.
该包由Huzhang Mao 和LiangLi两位作者贡献,首次发布于2017年10月;该包主要运用倾向得分加权分析方法实现因果效应的推断;主要由5个函数模块构成:
(1)倾向得分共同取值范围以及各匹配变量的标准化偏差的可视化图示;
(2)检验匹配后数据是否平衡(平衡性假设检验);
(3)倾向值模型设定检验;
(4)处理效应的加权估计;
(5)处理效应的双重稳健性估计;
由于篇幅所限,本文仅关注对average treatment effect of the treated (ATT)的估计。
1.1.1 载入需要的程辑包 # 加载第三方包
# 为读入本文所需要用到的Stata数据集
library(haven) library(RStata)library(readstata13)library(foreign)
#同时载入需要的程辑包
library(stats) library(Hmisc)library(survival)library(Formula)library(ggplot2)library(gtools)library(graphics)library(lattice)library(PSW)# 读取 ldw_exper.dta数据集ldw_exper &- read_dta(file = file.choose())
# 强制转换为数据框结构ldwdf &- as.data.frame(ldw_exper) #转换为数据框格式,便于计算# 变量激活,便于直接使用变量名attach(ldwdf) 1.1.2 本文使用的数据集(ldw_exper.dta)简介
该数据集介绍可参见《高级计量经济学与Stata应用第二版(陈强)》;
re78为1978年实际收入,t是否参加就业培训,age年龄,educ教育年限,black是否为黑人,hisp是否为拉丁族,married是否结婚,re74、re75为1974和75年的实际收入,u74,u75为74和75年是否为失业状态;笔者选择该数据集,核心目的对照书中传统的倾向得分匹配分析方法与本文所介绍的用倾向得分加权匹配分析方法的异同。
1.2 Propensity score weighting in R
本节主要介绍倾向得分加权匹配分析的实现过程.
1.2.1 构建 Propensity score model # generate Propensity score modelform.ps &- "t ~ age + educ + black + hisp+married+re74+re75+u74+u75"# calculate Standardized differnce with "ATT"tmp1 &- psw( data = ldwdf, form.ps = form.ps, weight = "ATT" )# display ps.model M1&-tmp1$ps.modelsummary.glm(M1)#由于glm函数未给出logit模型的整体性是否显著P值,故需通过手动编制计算with(M1, pchisq(null.deviance - deviance, df.null - df.residual, lower.tail = FALSE))
结果输出:
1.2.2 平衡性检验 Balance checking using standardized mean difference
# generate A vector of covariatesV.name &- c("age","educ","black", "hisp","married","re74","re75","u74","u75")# compute the standardized mean difference for balance diagnosis.tmp2 &- psw.balance( data = ldwdf, weight = "ATT", form.ps = form.ps,V.name = V.name )# 为方便演示,此处仅提取匹配前、后的标准化均值差异 tmp2$std.diff.tmp2$std.diff.
输出结果:
我们可以进一步提取以下非常有用的信息,具体包括以下内容(fitted propensity score model, estimated propenstity scores, estimated propensity score weights, standardized mean difference before and after weighting adjustment).从tmp2列示的结果来看,我们发现,通过倾向得分加权法,匹配后偏差大幅度下降,通过了平衡性检验。
1.2.3 模型设定检验 Propensity score model specification test
This test is a goodness-of-fit test of propensity score model. 备注:该检验原假设为倾向性得分模型被正确设定
# generate A vector of transformation types for covariates in V.name.trans.type &- c( "identity","identity","identity","identity","identity","identity","identity","identity","identity") # compute Propensity score model specification test.tmp3&-psw.spec.test( data = ldwdf, weight = "ATT", form.ps = form.ps,V.name = V.name, trans.type = trans.type )# 为方便演示,这里仅提取 Propensity score model specification test的P值信息tmp3$pvalue
由此,我们可以得出模型设定不拒绝原假设,可以接受被正确设定的结论。
1.2.4 Propensity score weighting estimator
This is used to estimate the weighted estimator, hat{Δ}, and make inference using the sandwich variance estimator that takes into account the sampling variability in the estimated propensity score.
备注:仍以估计ATT的值为例;需注意一下gaussian和binomial的用法
# estimate the weighted treatment effect estimator.tmp4 &- psw.wt( data = ldwdf, weight = "ATT", form.ps = form.ps,out.var = "re78", family = "binomial" )# display tmp4head(tmp4)
结果输出:
可以根据自己需求提取相应信息,包括本部分所关心的weighted estimator for risk difference、standard error for est.risk.wt、weighted estimator for relative risk以及standard error for est.rr.wt等内容.
用倾向得分加权分析方法得到的ATT值为1.7381,标准误为0.6887,与传统的PSM分析所用的匹配方法得出的结论基本一致。
非常感谢各位网友向“每天进步一点点2015”公众号投递原创性文章,同时也欢迎各位网友一起参与知识分享和交流。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点

我要回帖

更多关于 广义倾向得分匹配 的文章

 

随机推荐