本文格式为Word版,下载可任意编辑倾向得分匹配 倾向得分匹配(Propensity Score Matching) 的通俗解析及在Stata里的运用 徐惟能 · 2 年前 倾向得分匹配法是一种研究方法,它在研究某项治疗、政策、或者其他事情的影响因素上很常见对于经济、金融学领域来说,譬如需要研究某个劳动者采纳某种高等教导对其收入的影响,或者譬如研究某个企业运用了某项管理层鼓舞措施以后对企业业绩的影响假设我们简朴地将是否执行了某项事情作为虚拟变量,而对总体举行回归的话,参数估计就会产生偏误,由于在这样的处境下,我们只查看到了某一个对象他由于发生了某一事情后产生的表现,并且拿这种表现去和另一些没有发生这件事情的其他对象去做对比这样的对比鲜明是不科学的,由于对比的根基并不同 通俗地说,我们真刚要做的是考虑,假设拿小明来说,小明读了研究生和小明没有读研究生,他的收入会差多少?可是小明已经读了研究生,我怎么才能估计出他要是不读研究生,他的收入会是多少呢? 于是,我们引入“倾向得分匹配”这样一种研究方法英文叫Propensity Score Matching这种方法能让我们从一大堆没有读研究生的人群中(也就是我们的总体样本的一个子集),对每个人读研究生的概率举行估计,然后选出和小明具有分外好像的去读研究生的概率,可是没有去读的同学小刚——作为小明的对照,然后再来看他们的识别。
当样本中的每个研究生”小明“都找到了匹配的非研究生”小刚“,我们便能对这两组样本举行对比研究了 1. 所以第一步,我们要对总体样本执行probit或者logit模型,然后估计出每一个观测对象读研究生的概率是多少以probit模型为例,在stata中,执行以下命令: probit [dependent var] [independent var] 其中,[dependent var]是一个0或1的二进制变量,1代表该对象读了研究生,否那么是0 2. 对每一个观测值,我们根据估计出来的probit模型,算出他读研究生的概率是多少Stata中,执行如下命令: predictpscore, p 其中,pscore是定义的记录每个观测对象概率的变量名称 3. 使用psmatch2命令,让Stata帮你对于每个读了研究生的观测对象,找出一个与之具有最接近的概率值的,可是没有读研究生的观测对象: psmatch2 [dependent var], pscore(pscore) noreplacement 其中,(pscore)是在其次步中生成的那个记录对象概率的变量,noreplacement是一个选项,使得任何读了研究生的查看对象的对照对象都具有唯一性,换言之,只能1对1匹配。
4. Stata会在你的数据中自动添加几个变量,其中_id是自动生成的每一个观测对象唯一的ID;_treated表示某个对象是否读了研究生,假设读了,_n表示的是他被匹配到的对照对象的_id;_pdif表示一组匹配了的查看对象他们概率值的差 做好了这些,你就完成了一个最简朴的1对1的倾向得分匹配psmatch2还供给多种匹配方法,譬如在确定的半径范围内的邻近匹配、在确定概率阀值内的全部匹配等等概括的可以在Stata中输入help psmatch2查看全体可用的选项 需要留神的是,psmatch2会在每一轮匹配的时候重新刷新_ID,所以假设譬如你需要对psmatch2参与if语句,举行屡屡循环匹配的话,需要在每一次终止的时候即使将match的结果使用你自己数据的ID导出到其他变量,否那么全体本轮_ID以及_n的信息会在下一轮匹配中被除掉,事后你将无法判断对照对象到底为哪个 — 3 —。