Cox 比例风险模型和涉及较高案例交互时的系数解释

机器算法验证 r 相互作用 回归系数 cox模型
2022-03-25 19:57:16

这是我使用的 Coxph 模型的摘要输出(我使用了 R,输出基于最佳最终模型,即包括所有重要的解释变量及其相互作用):

 coxph(formula = Y ~ LT + Food + Temp2 + LT:Food + LT:Temp2 + 
Food:Temp2 + LT:Food:Temp2) # Y<-Surv(Time,Status==1)

n= 555

               coef         exp(coef)          se(coef)      z           Pr(>|z|)     
LT             9.302e+02      Inf             2.822e+02    3.297        0.000979 *** 
Food           3.397e+03      Inf             1.023e+03    3.321        0.000896 *** 
Temp2          5.016e+03      Inf             1.522e+03    3.296        0.000979 *** 
LT:Food        -2.250e+02    1.950e-98        6.807e+01    -3.305       0.000949 *** 
LT:Temp2       -3.327e+02    3.352e-145       1.013e+02    -3.284       0.001022 ** 
Food:Temp2     -1.212e+03    0.000e+00        3.666e+02    -3.307       0.000942 *** 
LT:Food:Temp2   8.046e+01    8.815e+34        2.442e+01     3.295       0.000986 *** 
--- 
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Rsquare= 0.123   (max possible= 0.858 ) 
Likelihood ratio test= 72.91  on 7 df,   p=3.811e-13 
Wald test            = 55.79  on 7 df,   p=1.042e-09 
Score (logrank) test = 78.57  on 7 df,   p=2.687e-14 

问题是:

在这种情况下如何解释系数和 exp(coef) 值,因为它们是非常大的值?还涉及到 3-case 交互,这更加混淆了解释。

到目前为止,我在网上找到的所有关于 Coxph 模型的示例都非常简单,涉及交互项(结果总是不显着)以及系数值(=危险率)和这些的指数(=危险比)已经非常小且“易于处理”的数字,例如系数 = 1.73 -> exp(coef) = 5.64。但是从摘要输出(上图)中可以看出,我的数字要大得多。而且由于它们的价值如此之大,它们几乎似乎没有任何意义。

当交互作用增加一个单位(?)时,认为存活率是例如 8.815e+34(取自交互作用 LT:Food:Temp2 的风险比)倍降低似乎有点荒谬。

实际上我也不知道如何解释这种 3-case 交互。这是否意味着当交互中的所有变量都增加一个单位时,存活率会减少一定的量(由 exp(coef) 值告知)?

如果有人可以在这里帮助我,那就太好了。:)

以下是我用于 cox 分析的数据表的一部分。在这里您可以看到,我已经多次使用相同的解释变量值(即 LT、Food 和 Temp2)来处理几个“时间、状态响应变量”。这些解释变量值已经是这些变量的平均值(由于自然界中的实地工作设置,不可能为每个观察到的响应个体获得单独的解释变量值,因此在这个阶段已经使用了平均值),这将回答建议1(?)(见第一个答案)。

建议2(见第一个答案):我正在使用R,我还不是它的超级神。:) 因此,如果我使用函数 predict(cox.model,type="expected"),我会得到大量不同的值,并且不知道它们所指的解释变量和顺序。或者是否可以在预测函数中突出显示某些交互项?我不确定我是否在这里说得很清楚。

建议3(见第一个答案):在下面的数据表部分,可以看到不同解释变量的单位。它们都是不同的,包括小数。这可能与考克斯的结果有关吗?

部分数据表:

Time (days)     Status      LT(h) Food (portions per day) Temp2 (ºC)
28                0         14.42        4.46             3.049
22                0         14.42        4.46             3.049
9                 1         14.42        4.46             3.049
24                0         15.33        4.45             2.595
24                0         15.33        4.45             2.595
19                1         15.33        4.45             2.595  
1个回答

一些建议,与 CoxPH 没有直接关系,但与相互作用和共线性有关

1)当你得到这样的“疯狂”值时,一种可能性是共线性。当您进行交互时,这通常是一个问题。您是否将所有变量居中(通过从每个变量中减去平均值)?

2)你不能这么容易地解释许多人之间的一种互动。LT、food 和 temp2 都参与了许多相互作用。因此,请查看来自不同组合的预测值。

3) 检查不同变量的单位。当你得到疯狂的参数时,有时它是单位的问题(例如以毫米或公里测量人的身高)

4)一旦你理顺了这些东西,我发现考虑不同交互(尤其是更高级别的交互)的影响的最简单方法是用独立值的不同组合绘制预测值。