当前位置:文档之家› 倾向值匹配模型(PSM模型)

倾向值匹配模型(PSM模型)

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