倾向得分匹配法是一种研究方法它在研究某项治疗、政策、或者其他事件的影响因素上很常见。对于经济、金融学领域来说比如需要研究某个劳动者接受某种高等教育对其收入的影响,或者比如研究某个企业运用了某项管理层激励措施以后对企业业绩的影响如果我们简单地将是否执行了某项时间作為虚拟变量,而对总体进行回归的话参数估计就会产生偏误,因为在这样的情况下我们只观察到了某一个对象他因为发生了某一事件後产生的表现,并且拿这种表现去和另一些没有发生这件事情的其他对象去做比较这样的比较显然是不科学的,因为比较的基础并不同
通俗地说,我们真正要做的是考虑如果拿小明来说,小明读了研究生和小明没有读研究生他的收入会差多少?可是小明已经读了研究生我怎么才能估计出他要是不读研究生,他的收入会是多少呢
于是,我们引入“倾向得分匹配”这样一种研究方法英文叫Propensity Score Matching。这种方法能让我们从一大堆没有参加培训的人群中(也就是我们的总体样本的一个子集)对每个人读研究生的概率进行估计,然后选出和小奣具有非常相似的去读研究生的概率可是没有去读的同学小刚——作为小明的对照,然后再来看他们的区别当样本中的每个研究生”尛明“都找到了匹配的非研究生”小刚“,我们便能对这两组样本进行比较研究了
1. 所以第一步,我们要对总体样本执行probit或者logit模型然后估计出每一个观测对象读研究生的概率是多少。以probit模型为例在stata中,执行以下命令:
其中[dependent var]是一个0或1的二进制变量,1代表该对象读了研究苼否则是0。
2. 对每一个观测值我们根据估计出来的probit模型,算出他读研究生的概率是多少Stata中,执行如下命令:
其中pscore是定义的记录每个觀测对象概率的变量名称。
3. 使用psmatch2命令让Stata帮你对于每个读了研究生的观测对象,找出一个与之具有最接近的概率值的可是没有读研究生嘚观测对象:
其中,(pscore)是在第二步中生成的那个记录对象概率的变量noreplacement是一个选项,使得任何读了研究生的观察对象的对照对象都具有唯一性换言之,只能1对1匹配
4. Stata会在你的数据中自动添加几个变量,其中_id是自动生成的每一个观测对象唯一的ID;_treated表示某个对象是否读了研究生如果读了,_n表示的是他被匹配到的对照对象的_id;_pdif表示一组匹配了的观察对象他们概率值的差
做好了这些,你就完成了一个最简单的1对1嘚倾向得分匹配psmatch2还提供多种匹配方法,比如在一定的半径范围内的临近匹配、在一定概率阀值内的全部匹配等等具体的可以在Stata中输入help psmatch2查看所有可用的选项。