根据评论和如此庞大的对照组的可用性,我可能会建议首先对年龄组和性别进行精确匹配,也许还有常见的疾病组。因此,你建立了不同的阶层。在第二步中,您可以应用倾向得分匹配来确保治疗组和对照组在剩余可观察量方面尽可能平衡。
您显然可以使用 Stata 的 psmatch2 包来执行此操作(我只是出于兴趣而暂时使用了该包)。
帮助文件中给出了一个代码示例:
g att = .
egen g = group(groupvars)
levels g, local(gr)
qui foreach j of local gr {
psmatch2 treatvar varlist if g==`j', out(outvar)
replace att = r(att) if g==`j'
}
sum att
请参阅此处了解更多信息
http://repec.org/bocode/p/psmatch2.html
您应该——当然——验证每个层内的治疗组和对照组之间是否有足够的重叠。
* 更新:对 Frank Harrell 评论的回应 *
为什么我主张匹配:
这是一种权衡,一方面是在治疗组和对照组之间尽可能接近地平衡协变量,另一方面是删除数据(弗兰克哈雷尔强调的)。
很明显,如果您删除数据,估计器在第一步中的效率会降低,您应该证明忽略数据是合理的。但 radek 要求提供匹配的方法,我同意这是一个好主意。
如果治疗组和对照组之间的协变量分布不同,则匹配在一定程度上避免了“外推偏差”。你放弃了很少或任何关于治疗效果的信息的观察,因为它们的协变量离样本很远。
因此,许多著名的研究人员推荐匹配或子分类加回归。
参见
Imbens & Rubin、
Ho 等人。,
因本斯和伍尔德里奇