机器学习模型(GBM,NN等)如何用于生存分析?


13

我知道传统的统计模型,例如Cox比例风险回归和一些Kaplan-Meier模型,可以用来预测直到下次事件发生的天数,例如失败等,例如生存分析

问题

  1. 机器学习模型(例如GBM,神经网络等)的回归版本如何用于预测事件发生之前的天数?
  2. 我相信仅将发生之前的天数用作目标变量并仅运行回归模型是行不通的?为什么不起作用?如何解决?
  3. 我们可以将生存分析问题转换为分类,然后获得生存概率吗?如果那么该如何创建二进制目标变量?
  4. 机器学习方法与Cox比例风险回归和Kaplan-Meier模型等的优缺点是什么?

想象一下样本输入数据的格式如下

在此处输入图片说明

注意:

  • 传感器每隔10分钟对数据进行ping操作,但有时由于网络问题等原因可能会丢失数据,如带有NA的行所示。
  • var1,var2,var3是预测变量,解释变量。
  • failure_flag告知计算机是否发生故障。
  • 每个机器ID每10分钟间隔有最近6个月的数据

编辑:

预期的输出预测应采用以下格式 在此处输入图片说明

注意:我想预测未来30天每天每台计算机发生故障的可能性。


1
我认为如果您能解释为什么这是时间事件数据,将会有所帮助;您要建模的响应到底是什么?
Cliff AB

我已经编辑并添加了预期的输出预测表以使其清晰。如果您还有其他问题,请告诉我。
GeorgeOfTheRF

1
在某些情况下,有一些方法可以将生存数据转换为二进制结果,例如,离散时间危害模型:statisticalhorizo​​ns.com/wp-content/uploads/Allison.SM82.pdf。某些机器学习方法(例如随机森林)可以通过使用对数秩统计量作为划分标准来对事件数据的时间进行建模。
dsaxton

@dsaxton谢谢。您能解释一下如何将上述生存数据转化为二进制结果吗?
GeorgeOfTheRF

仔细研究之后,看来您已经对有了二元结果failure_flag
dsaxton '16

Answers:



2

看一下这些参考:

https://www.stats.ox.ac.uk/pub/bdr/NNSM.pdf

http://pcwww.liv.ac.uk/~afgt/eleuteri_lyon07.pdf

还要注意,传统的基于危害的模型(例如Cox比例危害(CPH))并非旨在预测事件发生的时间,而是根据i)事件的观察以及因此ii)生存曲线推断变量的影响(相关)。 。为什么?查看CPH的MLE。

因此,如果您想更直接地预测“直到发生的天数”之类的内容,CPH可能不建议使用;如上述两个参考中所述,其他模型可能会更好地满足您的任务。


1

正如@dsaxton所说,您可以建立离散时间模型。您将其设置为预测p(鉴于直到前一天的存活时间,这一天都失败)。您的输入是当前日期(以您想要的任何形式表示),例如,一个热编码,整数,..样条曲线...以及您可能想要的任何其他自变量

因此,您创建了数据行,对于在时间t-1之前存活的每个样本,它是否在时间t(0/1)处死亡。

因此,现在存活到时间T的概率是p的乘积(在给定的t时刻t不会死亡,t不会在t-1死亡),即从模型中进行T个预测,然后相乘。

我要说的是,它没有这样一种直接预测故障时间的想法是因为问题的隐藏结构。例如,您为没有故障的机器输入了什么。底层结构实际上是独立事件:给定时间t失败,直到t-1才失败。因此,例如,如果您假设它是恒定的,那么您的生存曲线将变成指数(请参阅危害模型)

请注意,在这种情况下,您可以每隔10分钟进行建模,也可以汇总分类问题,直至达到当天的水平。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.