楼主: Gin1994
3227 15

[问答] 请问各位大大:如何绘制生存树的ROC曲线并求AUC [推广有奖]

11
Gin1994 发表于 2020-8-8 18:21:04 来自手机 |只看作者 |坛友微信交流群
llb_321 发表于 2020-8-6 22:43
另外,有几个包我们一起学习一下阿。看看有没有你需要的。
intcensROC
risksetROC
感谢大佬!
我试过一个方式,即用predict函数导出每个样本的对应的终点node的survival函数的平均值,然后使用survivalROC包,将这个值当成marker来绘制roc曲线。这个应该是最接近真实的roc曲线的啦。但是,survivalROC包本质上是把marker当成连续变量来绘制的,而不是将其当成分类变量。而node或者说这个survival平均值,本质上是分类变量。那么肯定不对。
我之前看过一篇文章,说决策树这种分类预测能画出roc曲线是因为每个节点都有对应的阳性率和阴性率,依靠这个来画出ROC,而不是将其当成连续变量来画。
就很纠结。

使用道具

12
llb_321 在职认证  发表于 2020-8-8 20:33:51 |只看作者 |坛友微信交流群
赞 现在像您这样肯钻研的同学不多啦
我理解
1. coxph 模型考虑了生存风险的多种影响因素,与分类树对多个变量节点进行分类,应该是异曲同工的,所以,是不是可以先用concordance函数做一次分析。
2.既然分类树做出了每个样本的预测生存曲线, 那么能不能用这个样本曲线得到的中位生存时间,与样本的观察值做个比较判断,如果观察值在预测中位生存时间的95%区间内,我们就认为TP,否则即TN,这样就可以构建每个样本的TP、TN、FP、FN,从而得到ROC.
3.分类树预测,实际上是不是将整体的生存曲线(可能根据不同方案设置了样本分组),依据各种影响变量进行树形分类后分解成了多个生存曲线(分解后的曲线考虑的是生存时间的影响因子比如年龄性别之类的,当然也可能包括分组处置方案),如果是这样的话,我感觉除了2.说的方法以外,可能找不到ROC所需的单个样本的观察值和预测值。因为无论整体生存曲线还是分解的生存曲线,都是相应多个样本的综合统计结果,只是说明只要符合某个条件(分解曲线)或者属于某个方案(整体曲线),那么样本就可以参考某个具有统计意义的曲线估计预后生存风险或者生存可能性,但这个曲线并不是观察值也不是预测值。
4.依据3的理解,整体曲线和分解曲线应该不具有比较的意义。我猜啊。
5.如果非要比较不同曲线,可能曲线的斜率(死亡速率)更有代表性,但是比较哪一点的斜率呢,这又是个问题。
我不是啥大佬,只是在这里交流学习。我觉得,从你的分析目的出发,看所需要的分析手段,可能想更多地考察生存曲线的影响因子吧,如果是这样,coxph也能在某种程度上实现,而且我理解cox本身就是一种统计检验,rpart分类树是换了一种方式,分解,那么我们只要考虑分类树的检验,而这个检验并不一定用ROC。
我能想到的也就这么多了。祝顺

使用道具

13
llb_321 在职认证  发表于 2020-8-8 20:43:42 来自手机 |只看作者 |坛友微信交流群
另外,rpart后预测的单个样本曲线,应该有相应的log rank p值,理论上这个值小于0.05,就可以认为单个样本的曲线具有统计意义,那么我们是否可以统计一下p值小于0.05的样本占比,作为考察分类树预测的显著性的一种方法呢

使用道具

14
llb_321 在职认证  发表于 2020-8-8 23:06:32 |只看作者 |坛友微信交流群
从另一个角度讲,既然分类树形成的多个预测曲线是整体曲线的分解,那么某个具体的样本必定适用某个预测的曲线,也就不存在TP、FP的问题,可以说在整体曲线的ROC约束内,分类预测曲线都是TP。

使用道具

15
Gin1994 发表于 2020-8-11 20:46:15 来自手机 |只看作者 |坛友微信交流群
llb_321 发表于 2020-8-8 20:33
赞 现在像您这样肯钻研的同学不多啦
我理解
1. coxph 模型考虑了生存风险的多种影响因素,与分类树对多个 ...
感谢大佬!我试试您提到的第二个方法,谢谢!

使用道具

16
742586585 发表于 2020-9-14 14:58:15 |只看作者 |坛友微信交流群
请问ROC曲线要用什么软件做呢?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 18:49