哪种算法计算三个或更多组的对数秩检验的 p 值最好?

机器算法验证 生存 对数秩检验
2022-03-21 18:06:04

似乎有两种不同的算法可以使用 logrank 检验比较三个或更多生存曲线。

算法 A. 在AltmanMachin的书中找到由 GraphPad Prism 计算。该方法使用一种易于理解的算法,根据观察到的和预期的死亡人数之间的差异计算卡方(df=组数减 1)。基本上:

Chi2 = SumForAllCurves[(Oi - Ei)^2 / Ei]

算法 B. 由 SAS 和SPSS和 NCSS 计算。还计算卡方(也使用 df=# groups 减 1),但使用更复杂的方程。基本上:

    Chi2 = U'*(V^-1)*U, where
    U, V - vector and covariance matrix defined at p.6 of the same pdf

以下是 Excel 文件形式的示例数据。

方法 A 计算卡方 = 4.094;df = 2; P = 0.1291
方法 B 计算卡方 = 4.844;df = 2; P = 0.0888

为什么有区别?是一种简化吗?他们会做出不同的假设吗?一个过时了吗?(请注意,两者都是 logrank 方法的变体,它在任何时候对死亡赋予相同的权重。您可以通过使用 Gehan-Wilcoxon、Tarone-Ware 或 Peto-Peto 对死亡进行不同的加权来获得不同的结果......但这些选择不'不要解释我看到的区别。)

2个回答

据我所知,已知更简单的公式是更复杂版本的保守近似。在经典的 Cox 和 Oakes “生存数据分析”一书中,第 7.7 章描述了对数秩检验的推导作为两个样本情况下的分数检验,并展示了更简单的公式如何对应于使用不同的(更大的)信息矩阵的估计。我假设这个论点将推广到两个以上的样本。

如果您想查看更长公式的推导,它非常简单,并且例如在 Klein 和 Moeschberger “生存分析”教科书中写出来。

综上所述,毫无疑问,更复杂的公式是“正确的”公式,但可以通过更容易理解和手工计算的更简单的公式来近似。

这份关于生存分析的非常完整的讲义(来自奥胡斯大学的 Michael Vaeth)在第 40 页上说:

“一些计算机包和教科书使用名称对数等级测试来进行稍微不同的测试统计,即:AltChi2 = (O1 - E1)^2/E1 + (O2 - E2)^2/E2。日志的替代版本秩检验(略微)保守,因为总是满足 AltChi2 < Chi2。因此来自替代检验的 p 值太大。如果数据不包含绑定事件,则差异最小,但差异会随着关系的数量而增加在未经审查的观察中。”

讲义并不完全是一本书的章节或期刊文章,但他同意更简单的方法纯粹是一种计算捷径,它给出的 P 值不太准确(更保守,即更大)。