匹配罕见结果的分析策略

机器算法验证 倾向评分 匹配 方法 治疗效果
2022-03-18 06:20:19

我正在处理约 100,000 人的数据集,其中约 500 人(0.5%)接受了治疗。

对于我想在治疗和未治疗之间比较的所有观察结果,我有几个连续的和计数的结果。分析在几个特征(可能是二元的、连续的或分类的)上匹配个体是很重要的。

我正在与 Stata 合作。

我正在集思广益几种可能的情况,包括:

  1. 治疗和未治疗的分层分析

  2. 将其视为案例对照研究,并尝试将“对照”与匹配标准允许的所有“案例”相匹配。然后继续进行适合该设置的分析(条件 logit 将适用于二元结果..不确定连续和计数结果..)

  3. 治疗效果估计,可能使用倾向得分匹配(虽然不确定是否以及如何包含分类变量......)

哪种分析最适合此类数据集?

3个回答

在我看来,从分析中删除好的数据在科学上是可疑的,而幼稚的匹配方法效率低下。使用普通回归模型调整患者特征可能非常容易,注意线性假设等。当然,最好查看治疗组之间协变量分布的重叠,以了解治疗与特征之间没有相互作用的假设可能在摇摇欲坠的基础上,无法测试。

根据评论和如此庞大的对照组的可用性,我可能会建议首先对年龄组和性别进行精确匹配,也许还有常见的疾病组。因此,你建立了不同的阶层。在第二步中,您可以应用倾向得分匹配来确保治疗组和对照组在剩余可观察量方面尽可能平衡。

您显然可以使用 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 & RubinHo 等人。, 因本斯和伍尔德里奇

倾向得分 (PS) 是一个平衡得分,表示以观察到的基线特征为条件的治疗分配概率。在随机对照试验 (RCT) 中,PS 是已知的。因此,PS 的估计和应用模拟 RCT 的一些特定特征,因此是在观察性研究中估计治疗效果的首选方法,前提是您没有未测量的混杂因素并且所有受试者接受的概率均非零治疗。

您可以使用逻辑回归或广义增强方法估计 PS,因此包括所有观察到的(连续和分类)基线变量。值得注意的是,您不包括结果参数。(有一个持续的争论,包括哪些变量,但是,奥斯汀假设包括所有观察到的基线变量是安全的https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3144483/)。重要的是要强调,您的目标不是找到最好的“预测模型”,而是找到最能平衡协变量的模型。在使用分层、匹配、逆概率治疗权重或协变量调整应用 PS 后(所有这些都有利有弊,并且在某种程度上取决于您的数据),您可以测试治疗对您的结果的影响。