如何运行“生命线”中基线风险呈指数分布的时变-Cox-比例-危害模型?

时间:2019-07-08 15:18:19

标签: python-3.x survival-analysis baseline hazard lifelines

我有一个后续调查to this question

初始情况: 我想用基准风险的指数分布来估计Cox-比例风险模型。解决方案的第1.)部分是仔细研究显示的危害函数,

h(t|x) = lambda_0 * exp(beta * x)

可以使用加速故障时间(AFT)模型进行估算,其中危害为:

h(t|x) = lambda_0 * exp(-beta * x)

解决方案的第2部分)是定义具有所需属性的唯一类。

当前情况:现在,我想扩展我的模型,以纳入时变协变量。 Lifelines has a documentation for this。此类模型的危害是

h(t|x(t)) = lambda_0(t) * exp(beta * x(t))

试图解决我从第1部分开始的问题。),危害(imo)是

h(t|x(t)) = lambda_0 * exp(beta * x(t))

因此是前面提到的危险的特殊情况(所有lambda_0(t) = lambda_0的{​​{1}})。 我的奋斗来自第二部分。在cox_time_varying_fitter.py中,函数t中的(时变)基线危害是由_compute_cumulative_baseline_hazard非参数建模的,我希望可以使用类似的函数在参数上重新定义此函数。

death_counts / hazards_at_t.sum()

但后来我不知道,从何处获得def _cumulative_hazard(self, params, T, Xs): # params is a dictionary that maps unknown parameters to a numpy vector. # Xs is a dictionary that maps unknown parameters to a numpy 2d array lambda_ = np.exp(np.dot(Xs['lambda_'], params['lambda_'])) return T / lambda_ ,以及与非时变AFT模型有什么不同的解决方案。

示例数据

lambda_

目标不是要了解哪个协变量会影响观察事件的机会;相反,目标更多是为变量from lifelines import CoxPHFitter import pandas as pd df = pd.DataFrame({ 'id': [1, 1, 1, 2, 2, 2, 3, 3, 3], 'start': [0, 1, 2, 0, 1, 2, 0, 1, 2], 'stop' : [1, 2, 3, 1, 2, 3, 1, 2, 3], 'timevarying': [-1, 0, 1, 2, 0, -2, -3, 0, 3], 'event': [0, 0, 1, 0, 0, 0, 0, 0, 1] }) ctv = CoxTimeVaryingFitter() ctv.fit(df, id_col="id", event_col="event", start_col="start", stop_col="stop") 的不同时变值预测危险。目前,我仅设法获得部分危害,但我也需要基准危害。当然,在文档中指出,在这种情况下的预测并非微不足道,但可以将timevarying视为某个区域的温度以及是否发生过明火-在这种情况下,我认为使用Wheather预测的预测数据是可行的。

问题:如何在timevarying中运行具有基线风险指数分布的时间变化-Cox-比例-危险模型?

0 个答案:

没有答案