Stata中kmatch与psmatch2核匹配观测数差异原因咨询
kmatch与psmatch2核匹配观测数差异的核心原因 以下是导致两者控制组样本数不同的关键区别:
共同支持域处理逻辑差异
kmatch默认会自动截断控制组样本,只保留倾向得分(PS)落在处理组PS的最小值到最大值区间内的控制组;而psmatch2默认不做这个限制,会纳入所有控制组样本,无论其PS是否在处理组的PS范围内。这是最常见的样本数差异来源。
验证方法:给psmatch2加上common选项,重新运行后控制组样本数应该会和kmatch接近。有效匹配样本的判定规则不同
即使带宽设置一致,两个命令对“可参与匹配的样本”定义有区别:kmatch可能会自动剔除权重低于某一隐性阈值的控制组样本,而psmatch2会保留所有能计算出核权重的样本,哪怕权重极低。- 两者对边界样本的核函数处理细节有差异,比如
kmatch可能对靠近共同支持域边缘的样本做额外截断,进一步减少有效控制组数量。
处理组样本的保留规则差异
虽然都默认计算ATT,但kmatch可能会剔除那些周围没有足够控制组样本匹配的处理组个体;而psmatch2默认会保留所有处理组样本,哪怕其匹配的控制组权重总和极低。你可以对比两个命令输出中的处理组样本数是否一致,来确认这一点。
验证步骤
- 先获取处理组PS的范围:
sum PSD if D==1 - 统计符合
kmatch默认共同支持域的控制组数量:
这个数值应该和count if D==0 & PSD>=r(min) & PSD<=r(max)kmatch输出的控制组样本数一致。 - 给
psmatch2加上common选项重新运行,观察控制组样本数变化:psmatch2 D, outcome(Y) pscore(PSD) kernel bwidth(0.05) common
内容的提问来源于stack exchange,提问作者Anis
相关产品推荐
相关产品推荐

