非比例危害的建议

机器算法验证 生存 cox模型 比例风险
2022-03-29 18:17:18

这是一个困扰我很久的问题,我在教科书、谷歌或 Stack Exchange 中都没有找到好的答案。

我有超过 100,000 名患者的数据集,正在比较四种治疗方法。研究问题是在调整了一堆临床/人口变量后,这些治疗之间的生存率是否不同。未调整的 KM 曲线如下。

在此处输入图像描述

我使用的每种方法都显示了非比例风险(例如,未调整的对数生存曲线以及与时间的相互作用以及 Schoenfield 残差和排名生存时间的相关性,这些都是基于调整后的 Cox PH 模型)。对数生存曲线如下。如您所见,不成比例的形式是一团糟。虽然单独进行两组比较都不会太难处理,但我有六个比较的事实确实让我感到困惑。我的猜测是,我无法在一个模型中处理所有事情。

在此处输入图像描述

我正在寻找有关如何处理这些数据的建议。考虑到比较的数量和不同形式的非比例性,使用扩展的 Cox 模型对这些影响进行建模可能是不可能的。鉴于他们对治疗差异感兴趣,整体分层模型不是一种选择,因为它不允许我估计这些差异。

所以,请随意撕裂我,但我正在考虑最初估计一个分层模型以获得其他协变量的影响(当然,测试无交互假设),然后重新估计每个单独的多变量 Cox 模型两组比较(因此,总共 6 个模型)。这样,我可以解决每个两组比较的非比例形式,并获得更少错误的估计 HR。我知道标准误差会有偏差,但考虑到样本量,一切都可能在“统计上”显着。

2个回答

你当然没有边际比例风险。这并不意味着您没有条件比例风险!

为了更深入地解释,请考虑以下情况:假设我们有第 1 组,它非常同质并且具有恒定风险 = 1。现在在第 2 组中,我们有一个异质种群;50% 的风险低于第 1 组(危险 = 0.5),其余的风险高于第 1 组(危险 = 3)。显然,如果我们知道第 2 组中的每个人的风险较高还是较低,那么每个人都会有成比例的风险。这就是条件危害。

但是让我们假设我们不知道(或忽略)第 2 组中的某个人是处于高风险还是低风险。然后他们的边际分布是混合模型的边际分布:他们有风险 = 0.5 的概率为 50%,他们有风险 = 3 的概率为 50%。下面,我提供了一些 R 代码以及两个风险的图。

# Function for computing the hazards from 
# a 50/50 heterogenious population
mix_hazard <- function(x, hzd1 = 0.5, hzd2 = 3){
  x_dens <- 0.5 * dexp(x, hzd1) + 0.5 * dexp(x, hzd2)
  x_s    <- 1 - ( 0.5 * pexp(x, hzd1) + 0.5 * pexp(x, hzd2)) 
  hzd    <- x_dens/x_s
  return(hzd)
}

x <- 0:100/20
plot(x, mix_hazard(x), 
     type = 'l',
     col = 'purple', ylim = c(0, 2), 
     xlab = 'Time', 
     ylab = 'Hazard', 
     lwd = 2)
lines(x, rep(1, length(x)), col = 'red', lwd = 2)

legend('topright', 
       legend = c('Homogeneous',
                  'Heterogeneous'), 
       lwd = 2,
       col = c('red', 'purple'))

在此处输入图像描述

我们清楚地看到了非比例边际危害!但请注意,如果我们知道第 2 组中的受试者是高风险还是低风险受试者,我们就会有成比例的风险。

那么这对你有什么影响呢?好吧,你提到你有很多关于这些主题的其他协变量。很有可能当我们忽略这些协变量时,风险是不成比例的,但是在对它们进行调整后,您可能会捕捉到不同组中异质性的原因,并解决您的非比例风险问题。

奇妙的问题奇妙的答案。我要补充一点,您应该考虑一个模型做出许多不同的假设,例如对数正态生存模型。对 y_axis 使用正常的反函数而不是 log-log。仍然需要协变量调整。因此,还要查看按治疗分层的残差的正态性。这在我的课程笔记结束时的案例研究中有所介绍,网址为http://biostat.mc.vanderbilt.edu/rms