0

我正在使用 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)

这是基于发布在https://quant.stackexchange.com/questions/21816/cumulative-vs-marginal-probability-of-default上的答案

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

4

1 回答 1

0

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

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

如果您想节省计算能力,您可以在一个故障时间(称为 t_k)中获取累积风险,然后从此之前的最后一次故障时间的累积风险中减去它(称为 t_k-1)。你得到的答案是一样的,一旦你把注意力集中在新数量告诉你的东西上:如果累积风险在 t_k-1 和 t 之间变化很大,以及半参数风险(因此,累积风险,也)只有在我们看到失败时才更新,那么落在 t_k-1 和 t 之间的任何时间点的风险都必须为 0。

于 2017-10-05T14:11:50.657 回答