什么是一致性指数?

C-index,英文名全称concordance index,中文里有人翻译成一致性指数,最早是由范德堡大学(Vanderbilt University)生物统计教教授Frank E Harrell Jr1996年提出,主要用于计算生存分析中的COX模型预测值与真实之间的区分度(discrimination),和大家熟悉的AUC其实是差不多的;在评价肿瘤患者预后模型的预测精度中用的比较多。一般评价模型的好坏主要有两个方面,一是模型的拟合优度(Goodness of Fit),常见的评价指标主要有R方、-2logL、AIC、BIC等;另外一个是模型的预测精度,顾名思义就是模型的真实值与预测值之间差别大小,均方误差,相对误差等。在临床应用上更注重预测精度,建模的主要目的是用于预测,而C-index它就属于模型评价指标中的预测精度。

C-index的计算方法是把所研究的资料中的所有研究对象随机地两两组成对子,以生存分析为例,两个病人如果生存时间较长的一位其预测生存时间长于另一位,或预测的生存概率高的一位的生存时间长于另一位,则称之为预测结果与实际结果相符,称之为一致。

C-index的计算步骤为:

一、所有样本互相配对,共有N*(N-1)/2对,其中N为样本数

二、去除配对中两个病人都没有达到事件终点(比如死亡),或者其中的一个病人A的生存时间短于另一个病人B,然而病人A还没有到达事件终点(死亡)~ps:这种配对无法判断出谁先死的。此时剩下的配对数记为:M

三、计算剩下的配对中,预测结果和实际相一致的配对数记为K,即(两个病人如果生存时间较长的一位其预测生存时间长于另一位,或预测的生存概率高的一位的生存时间长于另一位,则称之为预测结果与实际结果相符,称之为一致)

(4)计算C-index=K/M。

从上述计算方法可以看出C-index在0.5-1之间(任意配对随机情况下一致与不一致刚好是0.5的概率)。0.5为完全不一致,说明该模型没有预测作用,1为完全一致,说明该模型预测结果与实际完全一致。一般情况下C-index在0.50-0.70为准确度较低:在0.71-0.90之间为准确度中等;而高于0.90则为高准确度,跟相关系数有点类似。

光从C-index一个数字上还是很难以衡量到底是准确度高还是低,所以人们就想着用一个统计学检验来说服证明这个高低,正如筛选基因差异是光看差异倍数来判断表达差异还过于武断,此时引入重抽样技术(Bootstrap)来检验预测模型的准确度。Bootstrap是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。

Bootstrap方法核心思想和基本步骤如下:

(1)采用重抽样技术从原始样本中抽取一定数量的样本,此过程允许重复抽样。

(2)根据抽出的样本计算给定的统计量T。

(3)重复上述N次(一般大于1000),得到N个统计量T。

(4)计算上述N个统计量T的样木方差,得到统计量的方差。

另如果数据集很大的话可以按照不同的比例将数据集拆分,一部分用于建模一部分用于验证。关于交叉验证(Cross-validation),如5-fold、10-fold等。

虽然看起来很复杂,但是事实上已经有人做了这些事情,在R中有包可以直接计算一致性指数:Hmisc 、compareC,两个包都可以计算c-index

今天就用一个例子来说明一下,数据准备:

表达谱矩阵:

生存时间和死亡事件

具体代码如下:

方法一、

library(survival)

library(Hmisc)

fmla

cox

fp

cindex=1-rcorr.cens(fp,Surv(time,status)) [[1]]#计算一致性指数

方法二、

summary(cox)

方法三

library(survcomp)

library(survival)

fmla

cox

cindex

,method = "noether")

cindex$c.index; cindex$lower; cindex$upper

从以上结果可以看出方法三直接输出了95%的置信区间

R语言C指数,在R中求一致性指数( Harrell'concordance index:C-index)案例相关推荐

  1. R语言C指数,如何在R软件中求一致性指数( Harrell concordance index:C-index)?

    C-index,c指数即一致性指数(index of concordance),用来评价模型的预测能力.c指数是资料所有病人对子中预测结果与实际结果一致的对子所占的比例.它估计了预测结果与实际观察到的 ...

  2. R语言计算资本资产定价模型(CAPM)中的Beta值和可视化

    原文链接:http://tecdat.cn/?p=22588 今天我们将计算投资组合收益的CAPM贝塔.这需要拟合一个线性模型,得到可视化,从资产收益的角度考虑我们的结果的意义. 简单的背景介绍,资本 ...

  3. r语言平均值显著性检验_最全的R语言统计检验方法_数据挖掘中R语言的运用

    最全的R语言统计检验方法_数据挖掘中R语言的运用 统计检验是将抽样结果和抽样分布相对照而作出判断的工作.主要分5个步骤:建立假设 求抽样分布 选择显著性水平和否定域 计算检验统计量 判定 假设检验(h ...

  4. R语言在气象、水文中数据处理及结果分析、绘图

    R语言是一门由统计学家开发的用于统计计算和作图的语言(a Statistic Language developed for Statistic by Statistician),由S语言发展而来,以统 ...

  5. R语言glmnet包lasso回归中分类变量的处理

    我们在既往文章<手把手教你使用R语言做LASSO 回归>中介绍了glmnet包进行lasso回归,后台不少粉丝发信息向我问到分类变量处理的问题,我后面查了一下资料之前文章分类变量没有处理, ...

  6. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  7. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体)

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体) 目录

  8. R语言ggplot2在可视化图像中添加横线并在横线中添加文本、为横线中添加的文本添加文本框、自定义文本框的填充色(background color for a text annotation)

    R语言ggplot2在可视化图像中添加横线并在横线中添加文本.为横线中添加的文本添加文本框.自定义文本框的填充色(background color for a text annotation) 目录

  9. R语言str_extract函数从字符串中抽取匹配模式的字符串

    R语言str_extract函数从字符串中抽取匹配模式的字符串 目录 R语言str_extract函数从字符串中抽取匹配模式的字符串 #导入包和库

最新文章

  1. maven 插件的应用
  2. 51单片机系列命名规则
  3. 计算char,short,int,long类型变量的取值范围
  4. 如何更好阅读源代码 .
  5. 做手游的计算机配置要求,原神pc配置要求高吗 最低什么配置能流畅运行​
  6. mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)
  7. CNN 反向传播推导
  8. 计算机网络常见的无线传输有,第八讲 计算机网络基础.doc
  9. 全程2分钟!教你如何免费下载Windows 10
  10. Makefile之eval与call用法
  11. 掌上书院UMD文件格式分析
  12. 机器学习面试笔试求职必背!八股文(1/5)
  13. 计算机做课程表教程,初学表格制作教程 初学者如何制作课程表
  14. Python基础_第2章_Python运算符与if结构
  15. 计算机专业就业现状及指导
  16. python gil锁为什么_day9-为什么会有GIL锁 (来自师兄总结的博客)
  17. cholesky 分解加速求解线性方程组
  18. javascript解析_使用JavaScript解析数学表达式
  19. Linux编译PPSSPP模拟器
  20. Java使用GeoTools读取shapefile文件

热门文章

  1. Pytorch之nn.Conv1d学习个人见解
  2. WPF DataGridTextColumn Visibility
  3. c语言乘法口诀金字塔,Scala编写的打印乘法口诀和金字塔
  4. 颜色混合BlendFunc用法实例总结
  5. cocos2dx系列--颜色混合BlendFunc
  6. 国务院关于印发《新一代人工智能发展规划的通知》
  7. 三招轻松辨别微博含水量!提升广告主投放效果
  8. 【算法千题案例】每日一练LeetCode打卡——108.独特的电子邮件地址
  9. Mac JER10.7.3安装
  10. xPad该歇了,我们需要的只是小尺寸触控显示器