如何将累积危险概率转换为条件/边际概率?

时间:2017-05-24 05:14:51

标签: python statistics hazard survival

我正在使用Python中的Lifelines的AalenAdditiveFitter构建预测模型,以预测事件是否发生以及何时发生。

T(时间)=几个月 C(事件)= 1是,0不是

此外,我正在使用8个属性。

aaf = AalenAdditiveFitter(coef_penalizer=1., fit_intercept=True)
cx1 = aaf.fit(trainX.drop(['index'], axis=1), duration_col='T', event_col='C',show_progress=True)

我能够建立一个相对稳定的模型,并使用以下方法获得累积的危险概率:

stestXsurvived = cx1.predict_cumulative_hazard(stestX.drop(['T','C'], axis=1))

有没有办法直接从AalenAdditiveFitter程序获得条件/边际概率?

因此,在进行一些挖掘后,我可以假设以下内容吗?

  1. 我从Aalen Additive模型中获得累积风险概率
  2. 为了让他们了解每个月的条件概率,我可以采取前一个月的差异:P(t) - P(t-1)
  3. 这是基于https://quant.stackexchange.com/questions/21816/cumulative-vs-marginal-probability-of-default

    上发布的答案

    不确定此解决方案是否如此简单,请帮助。

1 个答案:

答案 0 :(得分:0)

如果您以建议的方式区分累积危险,则会得到h(t),即危险。 h(t)确实等于离散持续时间的条件概率。但请注意:对于连续持续时间,h(t)是速率(例如,它可以大于1)。

顺便说一句:我不记得Aalen的附加模型是否是半参数的。但是,如果是这样,累积危险只会在我们看到失败的月份内发生变化。它不会影响你的(月 - 上个月)计算 - 差异将变为0,当我们观察到没有失败时,半参数持续时间模型总是如此。

如果你想节省计算能力,你可以在一个失败时间(称为t_k)中累积危险,并在此之前的最后一次失败时间从累积危险中减去它(称之为t_k-1)。一旦你围绕新数量告诉你的内容,如果累积危险在t_k-1和t之间变化很大,以及半参数危害(因此,累积危险也只在我们看到失败时更新,然后在t_k-1和t之间的任何时间点都必须有0的危险。