原标题:如何手动计算倾向匹配嘚分匹配得分教程(附PSM操作应用、平衡性检验、共同取值范围、?核密度函数图)
本文主要包括如何手动计算倾向匹配得分匹配得分命令簡介、语法格式、如何手动计算倾向匹配得分匹配得分操作步骤 思路涉及如何手动计算倾向匹配得分匹配得分应用、平衡性检验、共同取值范围检验、核密度函数图等内容。
上述主要介绍了如何获得PSM相关的命令总结一下目前市面上用的较好的命令为psmatch2.
持续获取最新的 PSM 信息囷程序
logit指定使用logit模型进行拟合,默认的是probit模型;
pstest $X, both做匹配前后的均衡性检验理论上说此处只能对连续变量做均衡性检验,对分类变量的均衡性检验应该重新整理数据后运用χ2检验或者秩和检验但此处对于分类变量也有一定的参考价值。
psgraph对匹配的结果进行图示
研究目的:檢验接受该项目(培训)与不接受该项目(培训)对工资的影响。基本思想:分析接受培训组(处理组 treatment group )接受培训行为与不接受培训行為在工资表现上的差异。但是现实可以观测到的是处理组接受培训的事实,而处理组没有接受培训会怎样是不可能观测到的这种状态吔成为反事实( counterfactual )。
匹配法就是为了解决这种不可观测事实的方法在如何手动计算倾向匹配得分得分匹配方法( Propensity Score Matching )中,根据处理指示变量将样本分为两个 组一是处理组,在本例中就是在 NSW 实施后接受培训的组;二是对照组 ( comparison group )在本例中就是在 NSW 实施后不接受培训的组。如哬手动计算倾向匹配得分得分
匹配方法的基本思想是在处理组和对照组样本通过一定的方式匹配后,在其他 条件完全相同的情况下通過接受培训的组(处理组)与不接受培训的组(对照组)在工资表现上的差异来判断接受培训的行为与工资之间的因果关系。
1、首先进行數据结构查看
3.1 首先进行排序生成随机数种子
3.3 查看匹配后数据
打开数据编辑窗口,会发现软件自动生成了几个新变量:
其中_pscore是每个观测值對应的如何手动计算倾向匹配得分值;
_id是自动生成的每一个观测对象唯一的ID(事实上这列变量即是对_pscore排序);
_treated表示某个对象是否试验组;
_n1表示的是他被匹配到的对照对象的_id(如果是1:3匹配还会生成_n2, _n3);
_pdif表示一组匹配了的观察对象他们概率值的差。
}
作者:丁海 (华中科技大学)
Note: 助教招聘信息请进入「课程主页」查看
在 PSM 匹配时,用treat变量对控制变量进行Logit回归得到如何手动计算倾向匹配得分得分值。如何手动计算倾向匹配得分得分值最接近的控制组个体即为实验组的配对样本通过这种方法可以最大程度减少实验组与控制组个体存在的系统性差异,从而減少估计偏误在进行PSM匹配后的其他估计前比如PSM-DID
估计前,还需进行协变量的平衡性假设检验即匹配后各变量在实验组和控制组之间是否變得平衡,也就是说实验组和控制组协变量的均值在匹配后是否具有显著差异如果不存在显著差异,则支持进一步的模型估计
在平衡性检验之前,我们先使用psmatch2
命令进行PSM匹配处理变量为train,协变量为age、educ、black结果变量为re78,采用一对一近邻匹配具体操作如下:
PSM 匹配完成之后,我们需要检验匹配后的样本是否满足平衡性假设即实验组与控制组的匹配协变量是否没有显著性差异,在这里可以使用pstest
命令进行检验具体如下:
平衡性假设检验结果如下:
根据t检验结果发现,以上5个协变量在实验组与控制组之间不存在显著性差异
那么,在进行 PSM 分析の前应当如何选择匹配协变量,使模型实现最佳的拟合效果呢今天介绍的 psestimate
命令可以通过比较不同模型的极大似然值,帮助我们选择能實现最佳拟合效果的协变量的一阶和二阶形式
1. 命令的安装与示例数据导入
在Stata命令窗口执行第一行代码即可完成对 psestimate
命令的下载,然后输入苐二行命令下载网上示例数据 nswre74.dta(LaLonde, 1986)并执行第三行命令导入数据。
各个主要选项的含义如下: - depvar
必选项,填入处理变量(如 treat)即标记是否参与实验的虚拟变量 - indepvars
,可选项指定基准模型中的协变量 - totry(indepvars)
,可选项放入供选择的协变量列表,默认为全部 -
notry(varlist)
可选项,指定不包括的协變量列表默认为没有 - nolin
,可选项指定不进行一阶多项式的选择 - noquad
,可选项指定不进行二阶多项式的选择 - clinear(real)
,可选项指定一阶协变量似然仳检验的门槛值,默认值为 1 -
cquadratic(real)
可选项,指定二阶协变量似然比检验的门槛值默认值是 2.71 - iterate(#)
,可选项指定在每个 logit 中执行循环的最大值,默认徝是 16000 - genpscore(newvar)
可选项,由于指定程序自动生成的用于记录如何手动计算倾向匹配得分得分值的新变量的名称 -
genlor(newvar)
可选项,生成对数似然比的新变量嘚名称
下面本文将基于 psestimate
命令的作者提供的数据集 nswre74.dta 来简要说明如何使用 psestimate
这一命令来选择能最好拟合处理变量 (treat) 的协变量的一阶及二阶形式
在這里,我们事先选定教育变量 ed 作为基准模型中的一个协变量意味着 Stata 自动将 ed 放入基准模型中。另外我们将指定 age、black、hisp、nodeg 四个变量作为待选協变量。代码如下:
根据以上结果可以确定在如何手动计算倾向匹配得分得分匹配中,我们应该选取的一阶协变量为 nodeg、hisp二阶协变量为 c.nodeg#c.ed。综上根据 psestimate
命令的运算结果,我们应该选取 ed、nodeg、hisp、c.nodeg#c.ed
等四个变量作为如何手动计算倾向匹配得分得分匹配的协变量
psestimate
命令在运算中会耗费較长时间,而通常来说该命令在选择协变量的一阶形式时要快于二阶形式的选择,因此为了加快运算速度,我们可以首先通过加入noquad
选項只对协变量的一阶形式进行筛选,当一阶形式选定后将其作为解释变量放入基准模型中,然后加入nolin
选项跳过一阶形式筛选步骤只對协变量的二阶形式进行筛选。具体操作如下
首先,加入入noquad
选项只筛选协变量的一阶形式,如下:
一阶协变量的筛选结果如下:
然后将选定的ed、nodeg、hisp作为解释变量放入基准模型中,加入nolin
选项值进行二阶形式的筛选操作如下:。
二阶协变量的筛选结果如下:
4.1 协变量一阶形式的选择
第一步该程序首先在基准模型(logit treat ed
)基础上通过循环分别加入 totry()
中指定的四个变量 age、black、hisp、nodeg,进行四次模型估计如下所示:
每次估计完成后,它将得到的新的极大似然值与基准模型比较选择上述四个模型中对数极大似然值 (Log-Likelihood, 简称 LL 值) 最大的模型中的协变量放入基准模型中,除非上述四个模型的极大似然值都低于 clinear(real)
中指定的门槛值若此处假设为 nodeg,则基准模型扩展为 logit treat ed
nodeg
, 然后第二步它将估计如下模型:
这一步的协变量筛选原则与第一步相同。可以看出当供选择的协变量数量为 $C$ 时,在确定协变量的一阶形式时该程序理论上会估计 $∑C$ 个 Logit 模型。本例中有 4 个供选择的协变量则需要估计 10 次(如下括号中所示),该命令选择的协变量一阶形式结果如下:
4.2 协变量二阶形式的选择
在协變量二阶形式的选择上主要分为协变量平方项以及协变量间的交乘项。 如果在一阶形式中只选择了 a 这一个协变量则二阶形式的选择只需要检验 a^2 这一变量。但是如果有 a、b 两个一阶协变量被选择则二阶形式的选择需要检验 a^2、b^2、ab
三个二阶协变量形式。具体到本例确定的一階协变量有 ed、nodeg、hisp 三个,则需要检验的二阶协变量有六个即
如下流程图可以更加直观地展现psestimate
筛选协变量一阶及二阶形式的过程,为简化分析我们可供选择的协变量为a、b两个变量,假设各模型的对数极大似然值存在如下大小关系LL1>LL2> clinear()
>LL3,LL4>LL5>LL6>
5. PSM估计的完整流程示例
第一步,使用psestimate
筛选匹配變量
基于上述匹配变量进行PSM匹配:
可以发现匹配后实验组与控制组的匹配变量均没有显著差异,满足平衡性假设条件
5.4 psgraph 绘图直观呈现各匹配变量的平衡性状况
图中也可以直观看出实验组与控制组的如何手动计算倾向匹配得分得分值分布大致平衡。
连享会-直播课 上线了!
支歭回看所有课程可以随时购买观看。
主讲嘉宾:司继春 || 游万海
已上线:可随时购买学习+全套课件 已经放置板书和 FAQs
主讲嘉宾:连玉君 | 鲁曉东 | 张宁
Note: 部分课程的资料,PPT 等可以前往 主页查看下载。
-
Stata 连享会 由中山大学连玉君老师团队创办定期分享实证分析经验。 有很多视频课程可以随时观看。
- 和 300+ 推文,实证分析不再抓狂
连享会小程序:扫一扫,看推文看视频……
扫码加入连享会微信群,提问交流更方便
}