ROC和 区别p值和q值
ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。
灵敏度是指受患病者中被某种诊断方法检出阳性的百分率,也叫真阳率;特异度是指无病者中被某诊断方法检出阴性的百分率,也叫真阴性。使用任何一种检测方法通过“阳性”“阴性”来判断疾病都有可能出现以下四种情况:

1.真阳性(true positive,TP):有病且检测结果为阳性

2.假阴性(false negative,FN):有病但检测结果为阴性

3.假阳性(falsepositive,FP):无病但检测结果为阳性

4.真阴性(truenegative,TN):无病且检测结果为阴性
再以灵敏度(即TPR)为纵坐标、1-特异度(即FPR)为横坐标绘制成ROC曲线,分别反映了A,B两种方法对某种疾病的的诊断结果。

   阳性        阴性           合计

有 TP真阳性 FN假阴性 实际病人数TP+FN

无 FP假阳性 TN真阴性 实际非病人数FP+TN

当需要确定诊断标准的时候必须从若干个临界值中选择一个最佳的临界点(最佳工作点,Optimal Operating Point)。每个临界值都有相应的灵敏度与特异度,因此最佳临界点应当是灵敏度与特异度的最佳组合。当某一临界值所对应的灵敏度与特异度都为1.0时,则说明该临界值对阳性以及阴性的准确率都达到了100%,这一个临界值自然是理想的最佳临界点,但是在临床现场或是研究中常常是很难达到这一水准的。

若我们使用甲,乙,丙三种找诊断方法对同一疾病进行诊断并在同一个坐标系中画出其ROC曲线如下图4-1:(甲=红,乙=黄,丙=蓝)

(1)图中的横纵坐标

纵坐标代表的是灵敏度,该指标越高代表诊断的准确率越高;横坐标代表的是1-特异度,该指标越低就代表误判率越低。所以总的来看越是靠近ROC空间的左上角的点,其诊断效果越好。

(2) 图中四个特殊的点和一条特殊的线

第一个点是(0,1)即FPR=0,TPR=1的点,这一点意味着这个分类器很强大,他将所有的样本都正确分类了;

第二个点(1,0)即FPR=1,TPR=0,类似的可以发现这是一个很糟糕的分类器,它成功的避开了所有的正确答案。

第三个点(0,0)即FPR=TPR=0,可以发现该分类器将所有的样本都分为负样本。

第四个点(1,1)即FPR=TPR=1,同理该分类器将所有的样本都分成正样本。

(3)特殊的线

一条特殊的线是图中的虚线y=x。在这条对角线上的点其实表示的是一个采用随机猜测策略的分类器对样本进行分类的结果,例如(0.5,0.5)就表示分类器随机对一半的样本猜测为正样本,另一半的样本为负样本的分类结果。

(4)红,黄,蓝三条线比较

最后我们来看看甲,乙,丙三种方法对应的三条线,前面已经说到了越是靠近左上角的ROC曲线,其对应的分类器性能越好。

从图中可以直观地看出红线最靠近左上角的ROC曲线,即甲分类器的性能最好,其最佳临界点就是最靠近的左上角的A点。

相比于甲方法来说,乙方法就要差一点。我们可以在X轴上做一条垂线,经过红,黄两条线上的两个点,可以知道两个点的FPR值相同即两个方法此时的误判率相同;但是红线上点的TPR值大于黄线上的点,即甲方法的灵敏度大于乙方法,这就意味着在这一点甲方法的准确率高于乙方法。

再说丙方法,像蓝线这样的ROC曲线一般是不会出现的,因为ROC曲线基本都是在对角线之上的。硬要分析的话只能说丙方法实在是太糟糕了,以至于随机分类的正确率都要比该方法高。一般我们以对角线作为参照线,认为在对角线以上的ROC曲线有诊断意义,对角线以下的ROC曲线没有诊断意义。如果很不幸,你在实验中得到一个为于对角线下方的ROC曲线的话,一个最直观的补救方法就是将所有的预测结果反向,即若分类器输出的结果为正,则最终的分类结果就为负,反之就分为正。

还有一点要说的是ROC曲线之所以是从左下角到右上角,即ROC曲线单调递增是因为从保守分类到激进分类,其TPR与FPR都是上升的。这其实很好理解,你的标准越来越低,那么实际有病的人被诊断为有病的概率上升,但是原本将健康的人被判为有病的概率也升高。

H0 is true H1is true Total
Not Significant TN FN TN+FN
Significant FP TP FP+TP
Total TN+FP FN+TP m

             无                                有

阴性不显著 TN真阴性 FN假阴性

阳性显著 FP假阳性 TP真阳性

total 实际非病人数FP+TN 实际病人数TP+FN

首先从上面的混淆矩阵来展示p值域q值的计算公式,就可以看出它们之间的区别:

p值实际上就是false positive rate(FPR,假正率):直观来看,p值是用上面混淆矩阵的第一列算出来的.p值衡量的是一个原本应该是 H0 的判断被错误认为是H1的比例,所以它是针对单次统计推断的一个置信度评估;
q值实际上就是false discovery rate (FDR):直观来看,q值是用上面混淆矩阵的第二行算出来的.q值衡量的是在进行多次统计推断后,在所有被判定为显著性的结果里,有多大比例是误判的

最近用limma作差异分析,接触p.value和adj.p.value比较多,今天就重点解释下p.value和FDR吧:
在topTable函数的结果里,我们都会看到p.value和adj.p.value:
对H0和H1的一个较好的解释:

H0:差别是由抽样误差所致;

H1:差别不是由抽样误差所致,即并不来自同一总体;

将所有p.value直接用p.adjust中的‘BH’方法进行校正,head展示前六个结果,可以看出得到的结果与topTable一致;

仅将第一个p.value用p.adjust中的‘BH’方法进行校正,得到的结果其实与p.value一致;

综上:
在多重检验的时候,需要对p值进行校正;

FDR(Benjamini and Hochberg(BH))是p值的校正方法之一;(所以,统计学家对统计方法抱有的态度比较客观,认为其本身并不完美,需要进行校正)
FDR计算方法:

总计m次检验的结果按由小到大进行排序,k为其中一次检验结果的P值所对应的排名;

找到符合原始阈值α的最大的k值,满足P(k)<=αk/m,认为排名从1到k的所有检验存在显著差异,并计算对应的q值公式为q = p(m/k),q值即FDR;

若后一个FDR小于前一个FDR,则以前一位的计算结果为FDR,所以会在结果中看到相同的数值;

  1. 多重假设检验的必要性
    统计学中的假设检验的基本思路是:

设立零假设(null hypothesis)H0 以及与零假设H0 相对应的非零假设(alternative hypothesis, or reject null hypothesis)H1,在假设H0 成立的前提下,计算出H0 发生的概率,若H0 的发生概率很低,基于小概率事件几乎不可能发生,所以可以拒绝零假设

但是这些传统的假设检验方法研究的对象,都是一次试验

在一次试验中(注意:是一次试验, 即single test),0.05 或0.01的cutoff足够严格了(想象一下,一个口袋有100个球,95个白的,5个红的, 只让你摸一次,你能摸到红的可能性是多大?)

但是对于多次试验,又称多重假设检验,再使用p值是不恰当的,下面来分析一下为什么:

大家都知道墨菲定律:如果事情有变坏的可能,不管这种可能性有多小,它总会发生

用统计的语言去描述墨菲定律:

在数理统计中,有一条重要的统计规律:假设某意外事件在一次实验(活动)中发生的概率为p(p>0),则在n次实验(活动)中至少有一次发生的概率为

pn = 1 - (1 - p)n

由此可见,无论概率p多么小(即小概率事件),当n越来越大时,pn越来越接近1

这和我们的一句俗语非常吻合:常在河边走,哪有不湿鞋;夜路走多了,总能碰见鬼

在多重假设检验中,我们一般关注的不再是每一次假设检验的准确性,而是控制在作出的多个统计推断中犯错误的概率,即False Discover Rate(FDR),这对于医院的诊断情景下尤其重要:

假如有一种诊断艾滋病(AIDS)的试剂,试验验证其准确性为99%(每100次诊断就有一次false positive)。对于一个被检测的人(single test))来说,这种准确性够了;但对于医院 (multiple test))来说,这种准确性远远不够

因为每诊断10 000个个体,就会有100个人被误诊为艾滋病(AIDS),每一个误诊就意味着一个潜在的医疗事故和医疗纠纷,对于一些大型医院,一两个月的某一项诊断的接诊数就能达到这个级别,如果按照这个误诊率,医院恐怕得关门,所以医院需要严格控制误诊的数量,宁可错杀一万也不能放过一个,因为把一个没病的病人误判为有病,总比把一个有病的病人误判为没病更保险一些

利用Benjamini–Hochberg方法计算FDR的计算及R语言实现
FDR的计算相当简单,包括以下几步:

1.对p值进行从小到大的排序,标记上序号1~n;

2.其中,最大的FDR(不考虑重复则为第n位)等于最大的p值;

3.对于n-1位的FDR,取下面两者的较小值:

上一步(第n位)计算得出的FDR值;

p-value*n/(n-1)

4.不断迭代第三步(n-2,n-3…),直至计算到最小p值对应的FDR。

下面直接在R里实现:

###例如这10个p值进行校正

temp <- c(0.01,0.11,0.21,0.31,0.41,0.51,0.61,0.71,0.81,0.91)
p.adjust(temp, method=“fdr”)

temp <- c(0.01,0.11,0.21,0.31,0.41,0.51,0.61,0.71,0.81,0.91)
p.adjust(temp, method=“fdr”)
[1] 0.1000000 0.5500000 0.7000000 0.7750000 0.8200000 0.8500000 0.8714286 0.8875000 0.9000000 0.9100000

根据上述定义,我们知道以此计算出的FDR是有可能出现相同值的—即使其原始p值不同。在上面的例子中,第9位的p值为0.81,根据公式计算出的待选FDR值为0.81*10/9=0.9,比第10位的0.91要小,因此成为真正的FDR。如果我们更改一下条件,将0.81改成0.90,那么结果就会有所不同:
###将0.81改为0.9

temp <- c(0.01,0.11,0.21,0.31,0.41,0.51,0.61,0.71,0.9,0.91)
p.adjust(temp, method=“fdr”)
[1] 0.1000000 0.5500000 0.7000000 0.7750000 0.8200000 0.8500000 0.8714286 0.8875000 0.9100000 0.9100000

因此这个现象是很正常的。
Benjamini–Hochberg方法的几何解释
我们已经知道,p值实际上是拒绝0假设的置信度。这也就意味着,对于n个样本,我们就会期望产生n*p个错误判断。换而言之,对于实际上没有区别的分布进行随机抽样,我们计算出来的p值应该是均一分布的。

注:也就是说有5%的可能性抽出假阳性出来。

如果我们从两个有差别的分布中抽样,那么p值的分布将富集在左侧,而这种趋势与差异程度显然是正相关的:

ROC和 区别p值和q值相关推荐

  1. Day Nine——白噪声检测及确定p、d、q值和模型的检验

    Day Nine--白噪声检测及确定p.d.q值和模型的检验 完整代码及数据地址 第一部分数据discdata.xls 第二部分数据discdata_processed.xls 第三部分数据discd ...

  2. matlab求传递函数在某个频率点的增益_EQ均衡器频率特性的原理——Q值与带宽、滤波器...

    均衡器(Equalizer)是一种可以分别调节各种频率成分电信号放大量的电子设备. 原先在录音环境不好的时候,均衡器常用于纠正音频的缺陷,使得输出信号尽可能接近输入信号.但现在随着录音设备以及录音水平 ...

  3. 使用 PTC Mathcad Prime 软件绘制电源谐振Q值曲线

      最近在学习电源谐振电路,每个电源资料上都会出现一个电源的谐振曲线图.如下图所示.   基本上每个资料都是围绕这个图来分析谐振点的,一直很好奇这个图是怎么制作出来的.在网上搜了好多资料都没找到这种图 ...

  4. hcg值小于0.1_电容的Q值

    在做射频的时候,选择电感电容时特别关注他们的Q值,那什么是Q值呢?Q值是什么意思,它为什么重要? 品质因数Q:表征一个储能器件(如电感线圈.电容等).谐振电路所储能量同每周损耗能量之比的一种质量指标. ...

  5. 对公平席位分配问题的探讨:最大余数法、Q值法和D’Hondt方法及其特例|公平分配原则等

    公平席位分配问题 本文研究公平的席位分配问题.对席位分配问题中经典的最大余数法.Q值法和D'Hondt方法进行研究和比较,在提出公平性判断原则的基础上,分析其优缺点.本文使用Matlab搭建三种席位分 ...

  6. 电容的q值计算公式_(生活小贴士)一分钟了解“三星贴片电容的结构与材料特性”...

    三星贴片电容器的结构和材料特性,其实贴片电容器的结构相似,表现的不同点在于电容值和功率方面,以下的小编向你说明电容器结构和材料特性. (1)三星贴片电容器结构:从下图可以看出,贴片电容器主要由陶瓷介质 ...

  7. 缺省值和null值的区别和作用

    许多人认为缺省值就是null值,甚至有些书籍上也是这么写的. 但是事实上,缺省值是default-value:而null值是空值,是缺省值的一种,常见的缺省值还有0和False. 定义: 区别: 使用 ...

  8. 谐振电路的品质因数(Q值)

    [size=medium] 在研究各种谐振电路时,常常涉及到电路的品质因素Q值的问题,那末什么是Q值呢?下面我们作详细的论述.[/size] [img]http://dl.iteye.com/uplo ...

  9. 谐振电路的品质因数(Q值)zz

    在研究各种谐振电路时,常常涉及到电路的品质因素Q值的问题,那末什么是Q值呢?下面我们作详细的论述. 1是一串联谐振电路,它由电容C.电感L和由电容的漏电阻与电感的线电阻R所组成.此电路的复数阻抗Z为三 ...

  10. hash值和history值详解区别

     赠人玫瑰 Vue作为前端主流的渐进式开发框架被大量程序员熟知应用,Vue中为了构建SPA(single page web application,单页Web应用),需要引入前端路由系统,这也就是 V ...

最新文章

  1. Assembly.Load()不能加载程序集的问题
  2. 用python倒序输出一个字符串_Python 反转字符串(reverse)的方法小结
  3. Python陷阱:为什么不能用可变对象作为函数的默认参数值
  4. CentOS7中使用yum安装Nginx的方法(亲测启动方法)
  5. C++中的wchar_t(转)
  6. PHP源码_运营服务器打包微盘,外汇盘,时间盘
  7. jeesite如何配置swagger_Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解...
  8. TIOBE 12 月编程语言排行榜:争夺年度编程语言,Java、C、Python、C# 即将开战!...
  9. SOA项目失败十大原因及完善建议(转)
  10. thinkphp 前台html调用函数 格式化输出
  11. Grub 启动时的 Error 13: Invalid or unsupported executable 问题的解决
  12. 给大家赠送一个我最近写的鼠标连点器的源代码!
  13. ps滤镜下载大全-PSCC 64位滤镜收集
  14. iPhone MSN评测报告
  15. ArcGIS自动矢量化~
  16. vp9 segment 详细分析
  17. mysql二叉树_mysql如何创建二叉树
  18. 每日三省吾身:2014-1-16
  19. 笔迹识别(一 笔迹特征)
  20. 如何保存计算机重要文档,如何备份电脑中重要的文件|电脑备份文件的详细步骤...

热门文章

  1. 根据qq宠物等级计算级别
  2. 7.Flink实时项目之独立访客开发
  3. Mac使用技巧:M1芯片的电脑恢复模式如何开启
  4. 计算机图片怎么截图快捷键,电脑怎么截图,常见的截图快捷键
  5. 当今社会到底更需要专才还是通才
  6. nginx php fastcgi curl locahost 48 timeout
  7. 超市购物管理系统php,超市进销存管理系统PHP源码
  8. h5 android 重力 晃动,H5案例分享:html5重力感应事件(示例代码)
  9. C++中的delete——读书笔记
  10. WebView打不开或者显示异常可能原因