我正在嘗試使用 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 ' ' 1Concordance = 0.602然后我需要計算部分風險,例如,使用我的生存數據選項卡的第一行,即:PD oil curr Durat binar matur0 0.135760 62.799048 59.004243 1.446575 0 179它必須是這樣的:PD = 0.13576oil = 62.799048curr = 59.004243matur = 179np.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 的值,我認為這是正確的數字。例如,我們有 Baseline SP = 0.7 并且通過 (0.7^0.32) 到部分風險,我們會得到類似 0.892136633056215 的值,這是正常的。什么是錯誤?我們如何以正確的方式計算部分風險?非常感謝!
1 回答

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
生命線的作者在這里。
生命線中的部分風險是通過首先去除變量的含義來計算的,因此在生命線中,計算類似于
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 中修復它。
添加回答
舉報
0/150
提交
取消