如何将累积危险概率转换为 conditional/marginal 概率?

How can I convert cumulative hazard probabilities to conditional/marginal probabilities?

我正在使用 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 过程中获得 conditional/marginal 概率?

所以在进行更多挖掘之后,我可以假设以下内容吗?

  1. 我从 Aalen Additive 模型中获得了累积风险概率
  2. 为了让他们得到每个月的条件概率,我可以取前一个月的差值:P(t) - P(t-1)

这是基于 https://quant.stackexchange.com/questions/21816/cumulative-vs-marginal-probability-of-default

上发布的答案

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

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

顺便说一句:我不记得 Aalen 的加法模型是否是半参数的。然而,如果是这样,累积风险的价值只会在我们看到失败的月份发生变化。它不会影响您的(月份 - 上个月)计算 - 差异将变为 0,当我们没有观察到故障时,半参数持续时间模型总是这种情况。

如果你想节省计算能力,你可以在一个失败时间(称为t_k)计算累积风险,然后从这次失败之前的最后一次失败时间(称为这个)的累积风险中减去它t_k-1)。你得到的答案是一样的,一旦你全神贯注于新数量告诉你的内容:如果累积风险在 t_k-1 和 t 之间变化那么大,以及半参数风险(因此,累积风险也)仅在我们看到失败时更新,那么落在 t_k-1 和 t 之间的任何时间点的风险都必须为 0.