科学网

 找回密码
  注册
科学网 标签 ROC

tag 标签: ROC

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

受试者工作特征曲线ROC
itso310 2015-10-22 18:05
个人分类: 数据挖掘|4 次阅读|0 个评论
A bug in Schrodinger's Enrichment Calculator
klmh001 2013-4-21 11:52
When providing the input file, if the decoys share the same name, the resulting ROC will always be 1. Solution: make sure the titles of the decoys (or actives) don't conflict. Version: 2012, Maestro v9.3
个人分类: Tricks|1553 次阅读|0 个评论
Plot ROC curves with R
chuangma2006 2012-10-23 06:08
package candidates: 1) pROC 2) ROCR
个人分类: R|2 次阅读|0 个评论
[转载]ROC曲线及AUC评价指标
shixuanlv305 2012-3-10 10:56
ROC曲线及AUC评价指标 转自: http://bubblexc.com/y2011/148/ 很多时候,我们希望对一个二值分类器的性能进行评价,AUC正是这样一种用来度量分类模型好坏的一个标准。现实中样本在不同类别上的不均衡分布(class distribution imbalance problem),使得accuracy这样的传统的度量标准不能恰当的反应分类器的性能。举个例子:测试样本中有A类样本90个,B 类样本10个。若某个分类器简单的将所有样本都划分成A类,那么在这个测试样本中,它的准确率仍为90%,这显示是不合理的。为了解决上述问题,人们从医疗分析领域引入了一种新的分类模型performance评判方法——ROC分析。在介绍ROC之前,首先讨论一下混淆矩阵(Confusion matrix)。 混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息(outcom vs. ground truth)。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。在混淆矩阵中,每一个实例可以划分为四种类型之一,True Positive\False Positive\False Negative\True Negetive(TP\FP\FN\TN),如图1所示。其中,Positive代表预测实例来自正类,Negetive代表预测实例来自负类;True代表预测正确,False代表预测错误。 图1:Confusion Matrix 由混淆矩阵可以计算一系列的评价指标,如accurancy、precision、recall等等。 回到ROC上来,ROC的全名叫做Receiver Operating Characteristic。ROC关注两个指标 true positive rate (TPR= TP / ) 和 false positive rate (FPR= FP / ),直观上,TPR代表能将正例分对的概率,FPR代表将负例错分为正例的概率。在ROC 空间中,每个点的横坐标是FPR,纵坐标是TPR,这也就描绘了分类器在TP(真正的正例)和FP(错误的正例)间的trade-off。ROC的主要分析工具是一个画在ROC空间的曲线——ROC curve。我们知道,对于二值分类问题,实例的值往往是连续值,我们通过设定一个阈值,将实例分类到正类或者负类(比如大于阈值划分为正类)。因此我们可以变化阈值,根据不同的阈值进行分类,根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve。ROC curve经过(0,0)(1,1),实际上(0, 0)和(1, 1)连线形成的ROC curve实际上代表的是一个随机分类器。一般情况下,这个曲线都应该处于(0, 0)和(1, 1)连线的上方。如图2所示。 图2 ROC Curve 用ROC curve来表示分类器的performance很直观好用。可是,人们总是希望能有一个数值来标志分类器的好坏。于是Area Under roc Curve(AUC)就出现了。顾名思义,AUC的值就是处于ROC curve下方的那部分面积的大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。 计算ROC curve的AUC值的代码可以 在这 找到。 Precision 和 Recall 定义: Precision = tp/(tp+fp) Recall = tp/(tp+fn) 查准率(Precision ) = 识别出的真正的正面观点数/所有的识别为正面观点的条数 查全率(Recall) =识别出的真正的正面观点数/样本中所有的真正正面观点的条数 参见: http://en.wikipedia.org/wiki/Precision_and_recall 参考资料: http://en.wikipedia.org/wiki/Receiver_operating_characteristic http://blog.csdn.net/chjjunking/archive/2010/10/11/5933105.aspx
个人分类: 计算机视觉资料|7596 次阅读|0 个评论
ROC,PRC还是China?
热度 2 yzhang111 2011-8-14 12:47
几天不来科学网,忽然发现生命科学领域两个重要级人物“掐”起来了,并造成了严重围观现象。本人也斗胆发表一下个人意见,做一次和事佬(尽管不够级别 ),也奉劝围观的同学们别把事情搞太大。 本人学习过金冬雁教授翻译的《分子克隆》和《现代分子生物学辞典》 (和黎孟枫合译) ,受益匪浅。也亲耳听过饶毅教授的学术讲座,获益良多。非常不希望他们之间有什么矛盾。 饶毅教授和台湾学者合作,估计是因为突然发现如果按现行常规,同一篇文章会出现两个不同的China。这种事情的确有点儿让人难为情。外国人肯定奇怪中国人怎么连这点儿智慧也没有呀?还分ROC和PRC?其实最好的折衷方案还真是用China合适一些,感觉ROC同胞也应该意见不大吧?(意见大之前,应该考虑一下如何解决问题。 )反正大家都有China嘛。饶教授说美国人发表文章都用USA估计是指在美国以外的杂志上(完全猜测,没有进行数据调查 )。在自己家里的杂志上发论文用不用USA,感觉无所谓,应该和美国人霸道不霸道没啥关系吧? 有美国以外的合作者时, 出于尊重 估计也会想到加USA? 虽然我是外国人,但我也经常有样学样,发表论文时忘了加上国家名,也从没把这种事情当成大事。 自然科学工作者一般对政治兴趣不大,也应该没有多少所谓政治家的智慧。反正我不觉得这点小事能升级到政治高度。不成就算了呗,等n年后更聪明的Chinese来解决不就完了?
20804 次阅读|6 个评论
如何写一篇高质量的ROC分析文章
chlljy 2009-8-8 20:12
一,ROC分析的基础。 检验医学的论文大题可以分为两类,一类是方法学论文,只要是质量控制,方法学评价,对比等,另一类就是实验室指标的应用,使用指标诊断疾病,观察指标与疾病预后和病理分期的关系等。ROC分析的文章就属于后者,其目的主要是评价某指标对某种疾病的诊断意义。如AFP在肝癌诊断中的作用,CEA,NSE联合诊断肺癌等。 众所周知,用单一实验室指标去诊断疾病,单独提高敏感性必然会降低特异性,反之亦然;换句话说,减少误诊必然增加漏诊。比如,某医师欲采用AFP诊断肝癌,该医师制定的诊断标准是AFP大于10mmol/L,显然按照此标准诊断肝癌,具有很高的敏感性,是不会漏诊肝癌的的,因为几乎所有的肝癌患者AFP都大于10 mmol/L。但是另一方面,依据此标准却容易造成误诊,因为AFP大于10 mmol/L的病人中,除了肝癌还有肝炎和肝硬化等肝脏疾病。该医师意识到这个问题后,将肝癌诊断标准从10 mmol/L提高到1000 mmol/L,并以此作为诊断肝癌的标准,显然,以此为标准,自然是不会误诊病人,因为AFP大于1000 mmol/L几乎就可以肯定是肝癌了。但是另一方面,却增加了漏诊,因为不是所有的肝癌患者AFP都大于1000 mmol/L的。由此可见,漏诊和误诊之间是相互矛盾的,减少误诊必然以增加漏诊为代价,减少漏诊又必然以增加误诊为代价,敏感性与特异性始终是鱼与熊掌不可兼得的矛盾。 那么该如何协调灵敏度和特异性呢?最好的方法就是做ROC分析(注意:ROC只是针对计量指标)。将病例组和与之难以鉴别诊断的疾病放在一起,采用需要研究的指标去诊断疾病,以1-特异度为横坐标,敏感性为纵坐标。观察指标变化时,敏感性与特异性的关系,绘制ROC曲线(具体程序都有SPSS完成)。然后根据曲线的结果对指标进行判断。 ROC 有什么用途呢?大体上说,主要有以下几种用途:1,判断单一指标的诊断效力,曲线下面积越大,指标的诊断效力越大;2,比较不同指标的诊断效力。 不懂的再看看相关书籍。 二,如何设计一个高质量的ROC分析。 2.1.样本例数的估计 大部分研究,在开展之前,一定要进行样本数的估计,样本量太少,统计效率低下,容易犯2类错误。样本量太高,不仅造成经济上的浪费,还增加了很多不可控制的因素,降低了实验质量。国内部分医务人员单纯认为样本量越大,研究结果越可靠,这是片面的。实际上,个人认为,一般研究,把样本量控制在最小估计样本量的上限再加20%就可以了(主要是在前瞻性的研究中防止脱落)。 样本量的估计由于园子里无法打公式,我就不写了,具体可以参考相关书籍。 2.2对照组和实验组的设置 一个实验室指标,要不仅要强调其敏感性,还要强调其特异性,对照组的设置主要是为了体现指标的特异性,即鉴别诊断的能力。基于此,对照组的设置应该是和疾病组症状相似,如果不采用实验室诊断指标是很难进行鉴别的疾病。比如肝硬化和肝癌。国内部分文章,在设立对照组时加入了健康人群组,这是不科学的。因为健康人群和有疾病的人群通过症状体征基本就能鉴别,何需实验室指标。当然,如果一个指标是很新颖的指标,或者无症状疾病的诊断(这类疾病很少),在首次或者最初的研究中可以加入健康对照组,以观察疾病组和健康对照组之间是否具有差别,这是可以理解的,但是对于研究有明显症状,可以轻而易举和健康人区分的疾病,是不需要设立健康对照组的。实验组和对照组应该充分体现在均质上面,就是不采用实验室指标,光凭症状病史很难进行鉴别诊断的一类人群。最好的方法就是采用统一的纳入标准。比如,欲使用AFP诊断肝癌,较好的纳入标准就是将医院所有年龄大于40周岁,有黄疸或者其它肝病症状,怀疑为肝癌患者的首诊人群,至于纳入研究的人群是肝癌还是其它良性肝病,先不用管,使用指标鉴别诊断就是。需要说明的是,具体的标准根据专业知识而定,上面列出的标准仅仅供参考。一个ROC研究质量的高低,在很大程度上取决于纳入标准的科学性,这也是对研究者能力的考验。 国内部分杂志甚至部分国外杂志,在纳入研究对象的时候,仅仅说实验组有多少名病例组成,对照组有**病**例,**病**例。这实际上是不科学的,或者不值得提倡的。比如同样对RF诊断RA进行研究,某研究人员只是简单交待对照(RA)是否需要鉴别,因为有的强直性脊柱炎和红斑狼疮因为症状比较典型,是不需要和RA进行鉴别的。同时还牵涉到另外一个问题,就是没有对疾病进行病理分期。 很多指标,与疾病的病理分期有关。比如肿瘤标志物。也有的与疾病的病程密切相关,比如心肌损伤标志物。在对这一类指标进行研究时,一定要考虑疾病的分层。比如研究CK对AMI的诊断作用,一定要在纳入标准中限制就诊时间,比如规定本研究只纳入急性胸痛后2小时内就诊的人群,且都在一个时间段内(比如胸痛后3-4小时)进行检测,当然,限制的时间越窄,研究质量越高,但是病例越少,研究难度越大,所以自己需根据研究能力,专业知识等决定纳入标准。对于与病理分期有关的疾病,如果有足够的病例进行分层,可以分层研究,如果没有,应该交待病例构成,病例构成最好能接近实际情况(依据专业知识掌握),有的还可以根据专业进行其它基线特征的比较,比如:在AFP诊断肝癌的研究中,可以采用卡方检验对病例组和对照组的肝功能(分级)进行比较。实际上,在进行ROC分析前,最好比较两组的其它指标是否均衡,若不均衡,那说明纳入标准还不是很严谨,或者说明该指标也可以作为诊断指标,可将其也进行ROC分析。 国内多数论文不交待病例构成,没有两组其它特征的比较,甚至连基本的年龄,性别比较都没有。让读者无法判断两组病例是否均质,该研究是否有意义。 需要说明的时,研究纳入标准越严格,病例分层越细,研究质量越高,但是研究难度越大。具体需要达到什么样的研究目的,有无必要进行分层和严格限制等,研究者根据实际情况而定。 2.3 实验组一定要有金标准 所谓金标准,就是确诊一个疾病的方法或者方案。对于实验组病例的纳入,一定要使用金标准确诊。换句话说,纳入实验组的病例就应该是纳入一个算一个。相反的,有时病例组要求不是太严格。 常用的确诊方法,比如:RA,应采用1987年美国风湿病学会的诊断标准确诊,肿瘤应根据病例确诊,胆结石应该根据术中所见确诊。具体的金标准可以参考各个专业的相关知识。国内多数ROC分析文章对金标准交待不明确,让读者无法判断研究的质量。这是不严谨的表现。 2.4ROC相关参数的解释 由ROC曲线产生的参数较多,cut-off值,敏感性,特异性,曲线下面积(AUC),阳性预测值,阴性预测值,阳性似然比,阴性似然比,约登指数等。在进行专业解释时,一般无需全部列出,但是cut-off值,敏感性,特异性,曲线下面积(AUC)是必须交待的。 国内部分论文在讨论相关指标时,常犯的错误有:各个指标没有可信区间,以样本代替总体,简单地认为AUC越大,诊断效力越高。有的甚至认为约登指数才是判断诊断效力的关键,实际上约登指数只是对一个点而言,并不能反映指标的变化后,敏感性与特异性的变化,同时约登指数也只能初略地确定cut off。 在同一个试验中比较两种指标时,要得出单一指标的诊断效力高,一定要使用AUC比较,但是这个比较并不是简单数值上的比较,而应该使用相关的统计方法。其方法比较繁琐,建议找专业人士。关于敏感性和特异性的比较,也因该有相关的比较检验方法。因为我们研究的是样本,存在抽样误差,不能用样本代替总体进行讨论。 同时AUC的取值是介于0.5和1之间的,不可能低于0.5,国内部分文章,在处理某些降低才具有意义的指标时,受定式思维的影响,居然出现了AUC小于0.5。纯属无稽之谈。 讲个例子,某人喜欢预测别人生男孩还是生女孩,如果预测的情况90%都是正确的,那可以说某人预测得比较准,如果某人预测的情况90%都是错误的,难道这个预测就没有用了吗?聪明点的人就会反过来想,要是预测生男孩,就可以理解为要生女孩,且不是准确性又是90%。 2.5 多个指标的联合诊断 指标之间的联合诊断可分为系列诊断实验(串联)和平行诊断实验(并联),具体用什么联合方法,依据专业而定。有的疾病,如果需要早期诊断,早诊断对预后影响巨大的,采用并联,如急性心肌梗死。有的疾病强调特异性的,比如SLE,可以采用串联,提高特异性。说简单点:串联就是所有指标阳性才算阳性,并联就是只要有一个指标阳性就算阳性。 当然,几乎所有的疾病,都是越早诊断越好,诊断越准确越好,有时很难划分清楚二者界限,除了少数疾病。因此,从谨慎的角度出发,研究者可以同时列出串联模式和并联模式,供读者自己选择。 国内部分论文,在使用指标联合诊断时,要不不交待联合方式,要不就是串并联混乱使用,让读者无从理解。 实际上,根据常识可以推断,两个指标不管是串联还是并联,提高敏感性就会降低特异性。串联时多个指标共同阳性才算诊断成立,因此提高了特异性,同时降低了敏感性,并联时只要有一个指标阳性,诊断就成立,提高了敏感性,降低了特异性。多个指标联合诊断是不可能出现敏感性和特异性同时升高的情况的。也就是说联合诊断是,如果敏感性较任何一个指标高(至少相等),那说明作者用的是并联,特异性就应该较任何一个参与联合的单一指标低;反之,如果联合诊断后特异性较任何一个指标高(至少相等),那说明作者用的是串联,敏感性就应该较任何一个参与联合的单一指标低;国内部分论文,在联合诊断后,居然出现指标敏感性和特异性同步升高的情况,是不符合逻辑的,说轻点就是计算错误,说重点就是――― 同时,指标之间的联合是一个点与点的联合,是两个cut-off的联合,不存在AUC这一个指标,AUC是在指标变化的时候产生的曲线面积,指标已经固定某值,何来AUC。国内部分论文在联合时又冒出个联合AUC,也属无稽之谈。 有的文章甚至抛开ROC曲线,使用参考范围上限作为诊断界值,实属不理解ROC分析所致。 2.6 站在临床的角度,客观评价ROC分析 从理论上讲,多数情况下,多个指标的联合有助于提高疾病诊断的准确性,但是我们应该意识到,多个指标联合,会增加病人的经济负担,在诊断效力相似的情况下,肯定优先选择少量廉价的指标诊断。同时,一个指标,要成功运用于临床,必然要综合其各方面优缺点的,比如,是否易于检测,是否稳定,是否廉价,是否及时等。国内多指标联合诊断的ROC分析论文,多忽视临床需要,盲目推荐多个指标的联合诊断,脱离临床实际,削弱了文章的使用推广价值。因此在下结论推荐诊断指标,或者指标组合时,因充分考虑以上因素,慎重推荐。 2.7 理智对待ROC分析 ROC分析虽然综合了敏感性和特异性,客观评价了指标的诊断效力,但是也有自身的缺陷,比如:有的时候特别注重对疾病特异性的诊断,比如AIDS的确诊,假如发现某定量指标对诊断AIDS有帮助,这时切不可用ROC分析,应该结合临床实际。注重研究特异性为100%的情况,不要过多地考虑敏感性。同时,部分疾病,其诊断对实验室指标依赖性不强,很多指标变化只是疾病作为的结果,也不宜使用ROC分析,因为实验室指标还面临来自影像学,病理学,病史,物理检查的挑战,在实验室指标不具备优势的情况下,不要盲目采用ROC分析。如从理论上讲,WBC计数可以用于诊断创伤,但是创伤的诊断绝对不依赖于WBC,因为其诊断主要靠病史。且不要闹笑话,采用ROC分析,分析WBC在创伤诊断中的作用。 好了,就想到这么多,写到这里吧。本人才疏学浅,文章定有不妥之处,欢迎批评指正,欢迎讨论,严谨谩骂以及人生攻击。 转载时请注明是丁香园检验版hzdlj写的拙文。
个人分类: 生活点滴|17552 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-12 16:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部