匹配估计的思想:假如你要研究企业的R&D投入对performance的影响,匹配思想是这样的:假如有两家企业,其R&D投入明显不同,但是其他各方面都高度相同,例如公司规模,杠杆率,所属行业,公司治理结构等,那么在其他各方面都高度相同的情况下,这时就可以把公司performance的差异归因到R&D投入的差异。这种找到一个控制组的个体,使得该个体与处理组的个体在除自变量外其他各因素都相似(也就是匹配),在通过自变量的差异解释因变量差异的行为,就是匹配的思想。

一般来说,每个样本有多个属性,例如一家公司,属性有公司规模,公司年龄,杠杆率,增长率,市场占有率,治理结构相关变量,行业等,这就意味着匹配时要考虑诸多属性,也就是进行高维度匹配。一个比较好的思路是定义高维空间的距离,然后计算两个样本在高维空间的距离。

倾向得分的定义是一个个体进入处理组的概率,为什么要引入这个概念?因为如果针对多个可观察特征X进行对比匹配非常困难,所以,可将多维协变量X用一个一维变量——倾向得分P(x)来代替,这样,研究者就只需要对单一的倾向得分变量进行匹配,从而大大减少了匹配的困难。这个方法最早由Rosenbaum and Rubin(1983)提出。

PSM在stata的实现过程。

首先,如果自变量是连续变量,需要转换为二元离散变量,比如自变量是企业R&D投入,你需要找到一个临界值,把R&D投入分为高R&D投入组和低R&D投入组,临界值包括:平均数,上下三分位数,及其他分位数等,没有明确规定。在具体做时,可找一篇类似topic的好点的期刊,看看他们是怎么分的,这样在分组时也有依据。如果自变量本身就是二元离散变量,更简单,都不用分组了,直接按0-1分组。在stata上代码如下

对于离散变量:

gen dv_dum=2 //dv是指变量,dv_dum是指生成自变量的二元变量。 replace dv_dum=0 if dv=0 replace dv_dum=1 if dv=1

如果你的自变量本身就是标为0和1,这一步可以不用,但是如果标为1和2或者其他符号,一定要转换为0和1.

对于连续变量:

quantities dv, gen (dv_dum) nq(3)//根据分位数产生三个虚拟变量,也就是决定选择一个三分位数(上三分位或者下三分位数)为临界值。

replace dv_dum=0 if dv_dum==1 replace dv_dum=0 if dv_dum==2 replace dv_dum=1 if dv_dum==3//意思是把自变量从小到大排列,最大的1/3作为较高的组,标为1,剩余较小的2/3作为较低的组,标为0.

在这一部完成后,就可以开始匹配了。

set seed 10101 gen ranorder=runiform() sort ranorder psmatch2 dv_dum 匹配变量1 匹配变量2 匹配变量3......, outcome (因变量) 匹配方法 ate ties logit common

对上一条代码的解释:psmatch2是stata里的匹配命令,如果没有安装需要先安装:ssc install psmatch2;

匹配变量1 匹配变量2 匹配变量3......是指你认为应该让两者一致的变量,比如,你要研究R&D对performance的影响,你就要想想应该让这两家公司的哪些特征一致然后再来比较两家公司R&D对performance的影响。这里的匹配变量可以是控制变量,也可以不仅仅是控制变量,看你能想到什么特征,能得到什么数据。具体在选择匹配变量时,还是要看看类似topic的好点的期刊怎么选的。

匹配方法:陈强书上介绍了8种方法,你可以每一种都试试,一般来说集中方法匹配的最终结果差异不大。

ate:同时汇报ATE,ATU与ATT的结果

ties :包括所有倾向得分相同的个体

logit: 这次匹配用到的回归方法是logit回归。

common:仅对共同取值范围内的个体匹配,默认对所有个体进行匹配。

对匹配结果的解读,以陈强书为例:

倾向得分匹配法数据分析(倾向得分匹配PSM的原理与步骤)(1)

这是陈强书548页的一个匹配结果,这张表关注的点不是上面变量的系数符号与显著性,关注的是ATT的difference值及其T值(实际上这个T值也可不关注)。ATT是个体在干预状态下的平均干预效应,也就是在控制其他匹配变量不变的情况下,自变量从0变为1,因变量的变化。

这里ATT的difference是1.41,意思是在其他匹配变量一致的情况下,自变量是1与自变量是0导致的因变量的差异是1.41个单位,这就是我们要求的系数。接下来根据T值确定p值,这里的T值就是个T检验,T值1.96对应的p值是0.05,一半要求大于1.96,具体可查看T检验统计表。不过Note提示了,这个表格的标准误差有两个问题,就是没有考虑倾向得分为估计所得的事实,即假设倾向得分为真实值,然后求标准误,并且该标准误假设同方差,也可能不成立。为此,考虑使用自助法求标准误,尽管自助标准误差也未必正确。

set seed 10101 bootstrap r(att) r(atu) r(ate), reps(500): psmatch2 dv_dum controls , outcome (Y) ties ate logit common

倾向得分匹配法数据分析(倾向得分匹配PSM的原理与步骤)(2)

p值求出来了,大于0.1,不显著。这不能说明PSM得到了一个不显著的结果。刚才用的匹配法是一对一匹配,一般来说要把几种常见匹配都试试。陈强书中就把8种匹配法都试了,其中有几种得到了显著的结果。例如用核匹配得到的结果,T值大于1.96,不过这里也应该用自助法求出控制异方差的p值。

倾向得分匹配法数据分析(倾向得分匹配PSM的原理与步骤)(3)

用PSM求系数的步骤已经完成了,还有一步是检验匹配结果是否平衡。

pstest Y 匹配变量1 匹配变量2 匹配变量3......, both

还是以陈强书为例,这张表格,要得到的结果是每个匹配变量在匹配后,各匹配变量的均值不存在显著差异,其标准化误差小于10%,以age为例,5.6就是匹配后样本组与控制组的age的标准化差异,小于10%。只有一个变量u74的标准化误差大于10% ,但是也不大很多,并且只有一个变量,因此这个匹配的平衡性可以接受。平衡性检验了可以在匹配前进行,也可以在匹配后进行,只要检验结果可接受。

倾向得分匹配法数据分析(倾向得分匹配PSM的原理与步骤)(4)

PSM的过程在这里就可以结束了,不过有的文章还会用匹配后的数据做个回归,你主分析用的什么回归,这里就用什么回归,只不过样本变了。

匹配后的多元回归,首先要把不参与匹配的样本删除,代码: drop if _weight==. //_weight是指样本是否参与了匹配,参与了则标为数字,没参与则标为点.,因此这一步是把没参与匹配的样本去掉。 xtset firm year xtreg Y dv_dum controls, fe r

PSM的使用有一些条件:1.样本量尽量大,如果样本太小,会导致处理组许多样本在控制组中找不到能匹配的样本,或者能匹配,但是距离很远,也就是控制组的这个样本与处理组的这个样本相对是最匹配的,但是绝对匹配度依然不高。

2.处理组与控制组的倾向得分有较大共同取值范围,否则会丢失较多样本,导致匹配的样本不具备代表性。

需要注意的是,PSM 只能缓解由可观测变量带来的内生性问题,无法处理最为关键的由不可观测变量带来的内生性问题。以上面的例子为例,如果影响企业是否披露R&D投资的因素是不可观测的,那么PSM就不适用了。

参考文献:

Hamilton, B. H., & Nickerson, J. A. (2003). Correcting for endogeneity in strategic management research.Strategic Organization,1(1), 51-78.

Rosenbaum, P. R., & Rubin, D. B. (1983). The central role of the propensity score in observational studies for causal effects.Biometrika,70(1), 41-55.

文章材料整理源于网络,仅用于学习交流,不作商业用途,如有侵权,请联系删除。

,