如何对 King and Zeng (2001) 中描述的罕见事件进行修正?

机器算法验证 物流 不平衡类 加权回归 罕见事件 病例对照研究
2022-03-27 10:16:07

我有一个包含二元(生存)响应变量和 3 个解释变量(A= 3 个级别,B= 3 个级别,C= 6 个级别)的数据集。在这个数据集中,数据很平衡,每个ABC类别有 100 个人。我已经用这个数据集研究了这些ABC变量的影响;他们的影响是显着的。

我有一个子集。在每个ABC类别中,100 个人中有 25 个人,其中大约一半活着,一半已经死亡(当少于 12 人活着或死亡时,数字与其他类别一起完成),进一步调查第四个变量(D)。我在这里看到三个问题:

  1. 我需要对King and Zeng (2001)中描述的罕见事件校正数据加权,以考虑到较大样本中的大约 50% - 50% 不等于 0/1 比例。
  2. 这种 0 和 1 的非随机抽样导致个人在每个ABC类别中被抽样的概率不同,所以我认为我必须使用每个类别的真实比例,而不是大样本中 0/1 的全局比例.
  3. 第 4 个变量有 4 个级别,这 4 个级别的数据确实不平衡(90% 的数据在这些级别的 1 个范围内,比如 level D2)。

我仔细阅读了 King and Zeng (2001) 的论文,以及导致我阅读 King and Zeng (2001) 论文的这个 CV 问题,以及后来导致我尝试包的另一个问题logistf(我使用 R)。我试图应用我从 King and Zheng (2001) 中所理解的内容,但我不确定我所做的是否正确。我理解有两种方法:

  • 对于先前的校正方法,我理解您只校正截距。在我的例子中,截距是A1B1C1类别,在这个类别中生存率为 100%,因此大数据集和子集中的生存率是相同的,因此校正不会改变。我怀疑这个方法无论如何都不应该适用于我,因为我没有一个整体的真实比例,而是每个类别的比例,而这个方法忽略了这一点。
  • 对于加权方法:我计算了w i,并且根据我在论文中的理解:“所有研究人员需要做的就是计算公式(8)中的w i,在他们的计算机程序中选择它作为权重,然后运行一个 logit 模型”。所以我首先运行我glm的:

    glm(R~ A+B+C+D, weights=wi, data=subdata, family=binomial)
    

    我不确定我应该包括ABC作为解释变量,因为我通常认为它们对这个子样本的生存没有影响(每个类别都包含大约 50% 的死活)。无论如何,如果它们不重要,它不应该改变很多输出。通过这个更正,我很适合水平D2(大多数人的水平),但完全不适合DD2优势)的其他水平。见右上图:

适合 拟合非加权glm模型和加权glm模型w i每个点代表一个类别。Proportion in the big datasetABC大数据集中类别中1Proportion in the sub dataset的真实比例,是子数据集中类别中 1 的真实比例ABC,是与子数据集拟合Model predictions的模型的预测。glm每个pch符号代表一个给定的水平D三角形是水平的D2

只是后来看到有一个logistf,我虽然这可能没那么简单。我现在不确定。执行时logistf(R~ A+B+C+D, weights=wi, data=subdata, family=binomial),我得到估计值,但预测函数不起作用,默认模型测试返回无限卡方值(1 除外)和所有 p 值 = 0(1 除外)。

问题:

  • 我是否正确理解了 King and Zen (2001)?(我离理解还有多远?)
  • 在我glm适合的情况下,AB、 和C有显着影响。这意味着我从我的子集中的 0 和 1 的一半/一半比例中分解了很多,并且在不同的ABC类别中有所不同——不是吗?
  • 尽管我对每个值而不是全局值,但我可以应用 King and Zeng (2001) 加权校正吗?y¯ABC
  • 我的变量如此不平衡是否是一个问题,D如果是,我该如何处理?(考虑到我已经不得不为罕见的事件校正加权......“双重加权”,即加权权重,可能吗?)谢谢!

编辑:看看如果我从模型中删除 A、B 和 C 会发生什么。我不明白为什么会有这样的差异。

适合2 拟合模型中没有 A、B 和 C 作为解释变量

2个回答

logistf() 函数不实现罕见事件逻辑回归,这是由relogit() Zelig 包中的函数在 CRAN 上完成的。你应该测试那个!

我意识到我在第一张图右上角的拟合比例和实际比例的比较并不是评估模型拟合的最佳方法,因为在大数据中我可以计算 ABC 类别的比例,但是模型拟合在哪里包括所有四个变量,预测每个 ABCD 类别的比例。

我在子数据上安装了一个新模型,在其中删除了 D:

glm(R~A+B+C, family=binomial, data=subdata)

这样我就可以比较这个模型与子数据集的预测,以及大数据集中的真实比例,并评估我的权重是否达到了我的预期。

结果是:

适合3 新模型对大数据集中比例的预测。

现在我认为答案是:是的,肯定的。

因此,这回答了我的问题 1(我正确理解 King and Zheng (2001),至少是加权方法)和 3(我可以应用 King and Zheng (2001) 的加权校正,尽管我的值是以及每个 ABC 类别的值而不是全局值)。τy¯

另外两个问题是:

  • 为什么在模型中包含 A、B 和 C 以获得良好拟合如此重要,以及为什么它们的效果显着。是否正如我所建议的那样,我从我的子集中的 0 和 1 的一半/一半比例中分解了很多,并且在不同的 ABC 类别中有所不同?

    -> 我认为我的期望在模型中包含 A+B+C 应该没有效果,因为所有 ABC 类别应该包含大约一半的 0 和 1 观察值对于非加权线性模型来说是正确的(实际上,当你比较我的两个左上角的图形,它们之间并没有太大的区别……但是,B 和 C 在这个非加权线性模型中仍然有显着的影响。我会认为这是因为偏离了 50 /50),但不一定使用加权线性模型。

  • 我的 D 变量如此不平衡是否是一个问题,如果是,我该如何处理?(“双重加权”,即加权权重,可能吗?)。

    -> 我考虑使用'car'库的 Anova 函数进行逻辑回归(指定'test.statistic="LR"')。在这种情况下,该函数直接对单元格进行加权以生成 II 型 SS,因此我可以保留'weight'罕见事件校正的选项。