Python中的生命线生存分析。该方法的部分危害是什么?

时间:2018-11-02 11:51:08

标签: python survival-analysis lifelines

我正在尝试使用Python Lifelines软件包来校准和使用Cox比例风险模型。

因此,结果摘要为:

coef  exp(coef)  se(coef)        z      p  lower 0.95  upper 0.95 
PD    -1.1446     0.3183    0.0814 -14.0563 0.0000     -1.3042     -0.9850  ***
oil   -0.1275     0.8803    0.0016 -79.2128 0.0000     -0.1306     -0.1243  ***
curr  -0.1353     0.8735    0.0020 -67.3416 0.0000     -0.1392     -0.1313  ***
matur -0.0002     0.9998    0.0000 -13.6039 0.0000     -0.0002     -0.0002  ***
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Concordance = 0.602

然后我需要计算局部危害,例如,使用“生存数据”选项卡的第一行,即:

PD  oil curr    Durat   binar   matur
0   0.135760    62.799048   59.004243   1.446575    0   179

必须是这样的:

PD = 0.13576
oil = 62.799048
curr = 59.004243
matur = 179
np.exp(-1.1446*PD - 0.1275*oil - 0.1353*curr -0.0002*matur)

且等于9.387106981409155e-08,所以它很小,导致所有t的生存概率均等于1.0。但是,当我得到cph.predict_partial_hazard(cox_surv)方法时,它给了我类似0.32的值,并且我认为这个正确的数字。例如,我们有基准SP = 0.7,按(0.7 ^ 0.32)进行部分危害,我们将得到类似0.892136633056215的信息,这是正常的。怎么了我们如何以正确的方式计算局部危害?非常感谢!

1 个答案:

答案 0 :(得分:0)

生命线的作者在这里。

生命线中的局部危险是通过首先 de-意义变量来计算的,因此在生命线中,计算就像

np.exp(-1.1446*(PD-mean_PD) - 0.1275*(oil-mean_oil) - 
          0.1353*(curr-mean_curr) -0.0002*(matur-mean_matur))

这可能会给您带来更大的局部危害(但是所有受试者的相对等级保持不变)。

文档字符串未提及此问题,但是,我将针对v0.15.0进行修复。