检查比例风险假设

机器算法验证 r 生存 cox模型
2022-03-31 01:29:19

我对 cox 比例风险模型有疑问,特别是比例假设。我在 R 中使用 cox.zph() 函数来检查是否满足比例假设。cox.zph() 的全局检验的 p 值远大于 0.05,但协变量之一的 p 值接近 0.01。在这种情况下,我应该进行重塑(可以是分层或时间交互),还是应该说假设仍然没有违反,因为全球范围内它并不重要?谢谢

2个回答

比例风险的全局测试没有得到很好的校准。您没有控制多重比较。很难衡量测试的力量。在大多数样本量中,该测试在大样本量下任意强大。您确定的协变量可能是一个虚假的发现,并且它源于对事件发生时间数据的观察中的自然变化。α=0.05

即使风险不成比例,改变模型以适应一组假设也会从根本上改变科学问题。正如 Tukey 所说,“最好是对确切问题的近似答案,而不是对近似问题的确切答案。” 如果要在存在非比例风险的情况下拟合 Cox 模型,那么净效应是什么?功率略小。事实上,您可以通过稳健的标准误差(指定robust=TRUEcluster = ~id)恢复大部分功能。在这种情况下,(指数化的)模型系数的解释是风险比的时间加权平均值——我每次都这样做。

当对随时间变化的实际风险比感兴趣时,可以使用灵活的方法来估计其值。您可以使用基样条创建灵活的多项式时间表示,并拟合它们与协变量的交互以估计风险比时间函数。Cox 模型的威力可能会因此受到影响。使用对时间进行样条调整的参数指数生存模型可以很好地逼近 Cox 模型的半参数推断,并且能够更好地检测时间与一个或多个协变量的相互作用。

如果假设检验是您的主要目标,那么您根本不应该做任何事情,并坚持使用您在查看数据之前预期使用的模型。

根据 cox.zph() 测试的结果更改预定义模型可能会导致估计有偏差和 p 值无效。

参见 Sim 论文:https ://harlanhappydog.github.io/files/SiM.pdf