您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 绩效管理 > 倾向得分匹配法(PSM)举例及stata实现
1倾向得分匹配法(PSM)举例及stata实现——读书笔记【例】培训对工资的效应1政策背景:国家支持工作示范项目(NationalSupportedWork,NSW)研究目的:检验接受该项目(培训)与不接受该项目(培训)对工资的影响。基本思想:分析接受培训组(处理组,treatmentgroup)接受培训行为与不接受培训行为在工资表现上的差异。但是,现实可以观测到的是处理组接受培训的事实,而处理组没有接受培训会怎样是不可能观测到的,这种状态也成为反事实(counterfactual)。匹配法就是为了解决这种不可观测事实的方法。在倾向得分匹配方法(PropensityScoreMatching)中,根据处理指示变量将样本分为两个组,一是处理组,在本例中就是在NSW实施后接受培训的组;二是对照组(comparisongroup),在本例中就是在NSW实施后不接受培训的组。倾向得分匹配方法的基本思想是,在处理组和对照组样本通过一定的方式匹配后,在其他条件完全相同的情况下,通过接受培训的组(处理组)与不接受培训的组(对照组)在工资表现上的差异来判断接受培训的行为与工资之间的因果关系。变量定义:变量定义TREAT*处理指示变量,1表示接受培训(处理组),0表示没有接受培训(对照组)AGE年龄(年)EDUC受教育年数(年)BLACK种族虚拟变量,黑人时,1BLACK=HSIP民族虚拟变量,西班牙人时,=1HSIPMARR婚姻状况虚拟变量,已婚,1MARR=74RE1974年实际工资(1982年美元)75RE1975年实际工资78RE1978年实际工资74U当在1974年失业,741U=75U当在1975年失业,751U=NODEGREE当12EDUC时,1NODEGREE=,否则为0AGESQAGEAGE×1本例选自Cameron&Trivedi《微观计量经济学:方法与应用》(中译本,上海财经大学出版社,2010)pp794-800所有数据及程序均来自于本书的配套网站()。本文是末学向两位善知识Cameron和Trivedi的教材恭敬学习后整理的读书笔记,没有任何创意,只是简化整理一番而已,整理中难免错谬之处,敬请指正,不胜感激。末学联系方式houhh1125@163.com2EDUCSQEDUCEDUC×74RESQ7474RERE×75RESQ7575RERE×74UBLACK74UBLACK×74UHSIP74UHSIP×*说明:1974、1975年NSW计划还没有实施,1978年NSW计划已经实施,如果1974、1975年的样本在NSW计划实施后接受了培训计划,那么1TREAT=,否则0TREAT=,1978年的样本亦然。按处理组分类统计【statacommand】.bysortTREAT:sumAGEEDUCNODEGREEBLACKHISPMARRU74U75RE74RE75RE78TREAT变量均值处理组对照组AGE25.8162234.8506EDUC10.3459512.11687NODEGREE.7081081.3052209BLACK.8432432.2506024HISP.0594595.0325301MARR.1891892.8662651U74.7081081.0863454U75.6.1RE742095.57419428.75RE751532.05619063.34RE786349.14521553.92TREAT10培训对工资的效应影响有很多种估计方法,作者列举了五种方法,分别是:TREATMENT-CONTROLCOMPARISON(处理-对照比较法)CONTROLFUNCTIONESTIMATOR(控制函数估计量)DIFFERENCE-IN-DIFFERENCES(差异中差分法或倍差法)BEFORE-AFTERCOMPARISON(前后比较法)propensityscoreswithmatching(倾向得分匹配法)3其中倾向得分匹配法的stata实现过程如下:总的讲来分为两大部分:一是为倾向打分,二是运用得分进行样本匹配并比较。由于stata11没有倾向得分匹配法相关的命令,所以要通过网络下载相关的命令,相关的内容见附录。一、倾向打分第一步:设定宏变量breps表示重复抽样200次.globalbreps200第二步,设定宏变量XDW02,表示变量AGEAGESQEDUCEDUCSQMARRNODEGREEBLACKHISPRE74RE75RE74SQU74U75U74HISP.globalXDW02AGEAGESQEDUCEDUCSQMARRNODEGREEBLACKHISPRE74RE75RE74SQU74U75U74HISP第三步,通过logit模型进行倾向打分.pscoreTREAT$XDW02,pscore(myscore)comsupblockid(myblock)numblo(5)level(0.005)logit【注释】$表示引用宏变量。【注意】一定要把处理指示变量放在最前面【options相关说明】pscore(newvar)isrequiredandasksuserstospecifythevariablenamefortheestimatedpropensityscore,whichisaddedtothedataset.blockid(newvar)allowsuserstospecifythevariablenamefortheblocknumberoftheestimatedpropensityscore,whichisaddedtothedataset.logitusesalogitmodeltoestimatethepropensityscoreinsteadofthedefaultprobitmodelcomsuprestrictstheanalysisofthebalancingpropertytoalltreatedplusthosecontrolsintheregionofcommonsupport.Adummyvariablenamedcomsupisaddedtothedatasettoidentifytheobservationsinthecommonsupport.level(real)allowstosetthesignificancelevelofthetestsofthebalancingproperty.Thedefaultis0.01.numblo(real)allowstosetthenumberofblocksofequalscorerangetobeusedatthebeginningofthetestofthebalancinghypothesis.Thedefaultissetto54blocks.相关的结果参见stata窗口,总之这一步估计出了三个东西,一是myscore(Estimatedpropensityscore);二是myblock(Numberofblock);三是comsup(Dummyforobs.incommonsupport)第四步,作者在do文件中说道:ForcompletenessdosamewithcommonsupportoptionNOTselected,相关命令如下:.dropmyscoremyblock.pscoreTREAT$XDW02,pscore(myscore)blockid(myblock)numblo(5)level(0.005)logit至此,倾向打分结束。接下来是根据倾向得分运用各种方法估计ATT值。二、运用得分进行样本匹配并比较方法一:Nearestneighbormatching(randomversion)最邻近方法首先,产生随机数种子.setseed10101然后.attndRE78TREAT$XDW02,comsupbootreps($breps)dotslogit【说明】注意变量排列次序,RE78正是我们所关心的变量,放在最前面;其次是处理指示变量,最后是其他变量。关于选项内容,使用helpattnd命令可以详细学习。通过stata结果窗口可看到有三张表格:第一张表格处理组样本数对照组样本数ATT*标准差**T统计量185601285.7823895.0440.330*ATT(ATET)表示已处理的平均处理效应(averagetreatmenteffectonthetreated)**Analyticalstandarderrors第三张表格5处理组样本数对照组样本数ATT标准差***T统计量185601285.7821283.7641.002***Bootstrappedstandarderrors第一张表与第三张表的差别在于标准差的估计,第一张表使用的是解析标准差,第三张表使用自助法得到标准差。当然t统计量也随之发生变化。方法二:Radiusmatching(半径匹配法).setseed10101.attrRE78TREAT$XDW02,comsupbootreps($breps)dotslogitradius(0.001)【说明】选项radius(),括号内填写半径值,例如0.1,0.5,0.00001等,本例的半径值为0.001。同样也需要注意变量排列次序问题,RE78正是我们所关心的变量,放在最前面;其次是处理指示变量,最后是其他变量。另外,关于选项内容,使用helpattr命令可以详细学习。通过stata结果窗口可看到有三张表格,表格结构与最邻近方法类似。方法三:StratificationMatching(分成匹配法).setseed10101.attsRE78TREAT,pscore(myscore)blockid(myblock)comsupbootreps($breps)dots方法四:KernelMatching(核匹配方法).setseed10101.attkRE78TREAT$XDW02,comsupbootreps($breps)dotslogit附录:pscore,attk,attnd,attnw,attr,atts相关命令下载第一步:查询在stata命令窗口中点击.finditpscore第二步:点击链接SJ-5-3st0026_2..............Softwareupdateforpscoresuite......................S.O.BeckerandA.Ichino(helpattk,attnd,attnw,attr,atts,andpscoreifinstalled)Q3/05SJ5(3):4706bugfixforpscore第三步:点击下载链接------------------------------------------------------------------------------packagest0026_2from(S)EstimationofaveragetreatmenteffectsbySaschaO.Becker,UniversityofMunichAndreaIchino,EUISupport:so.b@gmx.net,andrea.ichino@iue.itAfterinstallation,typehelpattk,attnd,attnw,attr,atts,
本文标题:倾向得分匹配法(PSM)举例及stata实现
链接地址:https://www.777doc.com/doc-4949135 .html