事件预测的生存分析

机器算法验证 分类 生存
2022-03-22 04:28:45

对于我的数据集中的每条记录,我有以下信息

(X1 , ,Xm ,δ ,T )

在哪里Xi是特征,δ如果目标事件发生则为 1,否则为 0,并且T是发生事件的时间戳。尤其,T如果没有事件或设置跟踪结束的时间,则可能会丢失。

我想为我的数据集中的每条记录计算一个风险指数。

我正在考虑使用使用特征的分类模型Xi预测类δ. 然而,T很重要:如果事件δ可能很快就会发生风险应该更高。

这就是为什么生存分析应该适合这个问题。我不需要对S(t)=P(T>t)但只是代表单个记录风险的单个索引。

可以为每条记录计算的平均生存时间似乎是一个不错的风险指数——风险越低,风险越高。

我的问题是:

  1. 生存分析是否适合我的目的?
  2. 如何评估模型的性能?

关于问题(2):我热衷于使用 Harrell'sc-index 例如,但我不确定使用哪个预测结果来计算它。从 Harrell 的书 Regression Modeling Strategies 第 247 页:

cindex [...] 是通过获取所有可能的受试者对来计算的,这样一个受试者有反应而另一个没有。该指数是此类对的比例,其中响应者的预测响应概率高于非响应者。

如果生存分析被证明是一个正确的选择,我认为应该很容易使用一些标准方法来引入时变协变量Xi(t).

1个回答

生存分析是否适合我的目的?

使这似乎不太适用于生存分析的唯一原因是:

...TT如果没有事件或设置跟踪结束的时间,则可能会丢失。

对于大多数模型,您将需要知道观察到此人活着的最后一个时期。否则,它应该简单明了并且适用于使用生存分析。例如,R 中的 Cox 比例风险survival::coxph或具有 的参数模型survival::survreg

可以为每条记录计算的平均生存时间似乎是一个不错的风险指数——风险越低,风险越高。

是的,您可以对前面提到的两个(类别)模型使用平均生存时间或仅使用线性预测器。

如何评估模型的性能?

cindex 对我来说似乎是一个明智的选择,因为它是 AUC 的“自然”概括。请注意,这是在 R 中实现的,例如Hmisc::rcorr.cens.