1、倾向值匹配法(PSM)Q:为什么要使用PSM?nA:解决样本选择偏误带来的内生性问题n例:上北大有助于提高收入吗?n样本选择偏误:考上北大的孩子本身就很出色(聪明、有毅力、能力强)n解决方法:样本配对配对方法n同行业(一维配对)n同行业、规模相当(二维配对)n同行业、规模相当、股权结构相当、(多维配对)?nPSM:把多个维度的信息浓缩成一个(降维:多维到一维)配对过程中的两个核心问题(1)nQ1:哪个样本更好一些?A1:Sample2较好:比较容易满足共同支撑假设(common support assumption)配对过程中的两个核心问题(2)nQ2:stu c1,c2,c3三人中,谁是st
2、u PK的最佳配对对象?nA2:stu c3是最佳配对对象,比较容易满足平行假设(balancing assumption)ATT(Average Treatment Effect on the Treated)平均处理效应的衡量n运用得分进行样本匹配并比较,估计出ATT值。nATT=EY(1)-Y(0) |T=1Y(1):Stu PK 上北大后的年薪Y(0): Stu PK 假如不上北大的年薪可观测数据可观测数据不可观测数据,不可观测数据,采用配对者的采用配对者的收入来代替收入来代替ATT=12W-9W=3W实例介绍实例介绍n研究问题:培训对工资的效应n基本思想:分析接受培训行为与不接受培训
3、行为在工资表现上的差异。但是,现实可以观测到的可以观测到的是处理组接受培训的事实,而如果处理组没有接受培训会怎么样是不可观测的不可观测的,这种状态称为反事实。匹配法就是为了解决这种不可观测的事实的方法。实例介绍n分组:在倾向值匹配法中,根据处理指示变量将样本分为两个组。处理组处理组,在本例中就是在NSW(国家支持工作示范项目)实施后接受培训的组;控制组控制组,在本例中就是在NSW实施后不接受培训的组。n研究目的:通过对处理组和对照组的匹配,在其他条件完全相同的情况下,通过接受培训的组(处理组)与不接受培训的组(控制组)在工资表现上的差异来判断接受培训的行为与工资之间的因果关系。变量定义变量变量
4、定义定义treat接受培训(处理组)表示接受培训(处理组)表示1,没有接受培训(控制组)表示,没有接受培训(控制组)表示0age年龄年龄educ受教育年数受教育年数black种族虚拟变量,黑人时,种族虚拟变量,黑人时,black=1hsip民族虚拟变量,西班牙人时,民族虚拟变量,西班牙人时,hsip=1marr婚姻状况虚拟变量,已婚,婚姻状况虚拟变量,已婚,marr=1re741974年实际工资年实际工资re751975年实际工资年实际工资变量定义re781978年实际工资年实际工资u74当在当在1974年失业,年失业,u74=1agesqage*ageeducsqeduc*educre74s
5、qre74*re74re75sqre75*re75u74blcaku74*blcak倾向打分OLS回归结果工资的变化到底是来自个体的异质性工资的变化到底是来自个体的异质性性还是培训?性还是培训?倾向打分n1.设定宏变量(1)设定宏变量breps表示重复抽样200次命令:global breps 200(2)设定宏变量x,表示age agesq educ educsq married black hisp re74 re75 re74sq re75sq u74black命令:global x age agesq educ educsq married black hisp re74 re75 r
6、e74sq re75sq u74black倾向打分n2.通过logit模型进行倾向打分命令:pscore treat $x,pscore(mypscore) blockid(myblock) comsup numblo(5) level(0.05) logit注:$表示引用宏变量pscore结果倾向值分布倾向值分布block中样本的分布block中的描述性统计运用得分进行样本匹配并比较方法一:最邻近方法方法一:最邻近方法(nearest neighbor matching)n含义:最邻近匹配法是最常用的一种匹配方法,它把控制组中找到的与处理组个体倾向得分差异最小的个体,作为自己的比较对象 。n
7、优点:按处理个体找控制个体,所有处理个体都会配对成功,处理组的信息得以充分使用。n缺点:由于不舍弃任何一个处理组,很可能有些配对组的倾向得分差距很大,也将其配对,导致配对质量不高,而处理效应ATT的结果中也会包含这一差距,使得ATT精确度下降。 方法一:最邻近方法方法一:最邻近方法(nearest neighbor matching)n命令nset seed 10101(产生随机数种子)nattnd re78 treat $x,comsup boot reps($breps) dots logit方法一:最邻近方法方法一:最邻近方法(nearest neighbor matching)方法二:
8、半径匹配法方法二:半径匹配法(radius matching)n半径匹配法是事先设定半径,找到所有设定半径范围内的单位圆中的控制样本,半径取值为正。随着半径的降低,匹配的要求越来越严。方法二:半径匹配法方法二:半径匹配法(radius matching)n命令n set seed 10101n attr re78 treat $x,comsup boot reps($breps) dots logit radius(0.001)方法二:半径匹配法方法二:半径匹配法(radius matching)方法三:分层匹配法方法三:分层匹配法(stratification matching)n内容:分层
9、匹配法是根据估计的倾向得分将全部样本分块,使得每块的平均倾向得分在处理组和控制组中相等。n优点:Cochrane ,Chambers(1965)指出五个区就可以消除95%的与协变量相关的偏差。这个方法考虑到了样本的分层问题或聚类问题。就是假定:每一层内的个体样本具有相关性,而各层之间的样本不具有相关性。n缺点:如果在每个区内找不到对照个体,那么这类个体的信息,会丢弃不用。总体配对的数量减少。方法三:分层匹配法方法三:分层匹配法(stratification matching)n命令nset seed 10101natts re78 treat,pscore(mypscore) blockid(
10、myblock) comsup boot reps($breps) dots方法三:分层匹配法方法三:分层匹配法(stratification matching)方法四:核匹配法方法四:核匹配法(kernel matching)n核匹配是构造一个虚拟对象来匹配处理组,构造的原则是对现有的控制变量做权重平均,权重的取值与处理组、控制组PS值差距呈反向相关关系。方法四:核匹配法方法四:核匹配法(kernel matching)n命令nset seed 10101nattk re78 treat $x,comsup boot reps($breps) dots logit方法四:核匹配法方法四:核匹
11、配法(kernel matching)psmatch2匹配变量的筛选n1.设定宏变量设定宏变量x,表示age agesq educ educsq married black hisp re74 re75 re74sq re75sq u74black命令:global x age agesq educ educsq married black hisp re74 re75 re74sq re75sq u74black匹配变量的筛选n2.初步设定nlogit treat $x匹配变量的筛选n3.逐步回归nstepwise,pr(0.1):logit treat $xps值的计算npsmatch2
12、treat $x,out(re78)n倾向得分的含义是,在给定X的情况下,样本处理的概率值。利用logit模型估计样本处理的概率值。概率表示如下:nP(x)=PrD=1|X=ED|X匹配处理组n最近邻匹配n命令:psmatch2 treat $x(if soe=1),out(re78) neighbor(2) aten半径匹配n命令:psmatch2 treat $x,out(re78) ate radius caliper(0.01)n核匹配n命令:psmatch2 treat $x,out(re78) ate kernel匹配处理组n满足两个假设:A共同支撑假设B平行假设ATT(平均处理效
13、应的衡量)以半径匹配为例:psmatch2 treat $x,out(re78) ate radius caliper(0.01)1231、处理组平均效应(、处理组平均效应(ATT)2、控制组平均效应(、控制组平均效应(ATU)3、总体平均效应(、总体平均效应(ATE)ATT(平均处理效应的衡量)n匹配前后变量的差异对比n命令:pstest re78 $x(pstest re78 $x,both graph)匹配前后密度函数图twoway (kdensity _ps if _treat=1, legend(label(1 Treat) (kdensity _ps if (_wei!=1&_we
14、i!=.), legend(label(2 Control), xtitle(Pscore) title(After Matching)twoway (kdensity _ps if _treat=1, legend(label(1 Treat) (kdensity _ps if _treat=0, legend(label(2 Control),xtitle(Pscore) title(Before Matching)运用bootstrap获得ATT标准误n命令:bootstrap,reps(#):psmatch2 treat $x,out( re78)n在统计分析中,样本较少,采用bootstrap,可以减少小样本偏误。n步骤:首先,从原始样本中可重复地随机抽取n个观察值,得到经验样本;然后采用PSM计算改经验样本的平均处理效果ATT;将第一步和第二步重复进行#次,得出#个ATT值;计算#个ATT值的标准差。核匹配的Bootstrap检验