一致性检验 -- Kappa 系数

article/2025/8/21 9:09:38

一、Kappa 检验方法

在做数据分析时,我们经常会面临一致性检验问题,即判断不同的模型或者分析方法在预测结果上是否具有一致性、模型的结果与实际结果是否具有一致性等。另外,一致性检验在临床实验中也有着广泛的应用。对于两个或多个医务工作者对同一病人给出的诊断结论进行一致性检验,英文叫 interrater reliability; 对同一医务工作者多次诊断结论的一致性检验,英文叫 intrarater reliability。

 

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数
摘自:http://wenku.baidu.com/view/f1061c165f0e7cd18425361d.html


 

二、计算方法

Kappa 系数有带加权和不带加权两种计算方法,分别对应 SAS 的简单Kappa系数加权Kappa系数(Simple Kappa Coefficient, Weighted Kappa Coefficient)。

 

先看不带加权的公式:
[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数 

 

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数



[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 
[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数


[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数


[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

 

带加权的公式:

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

注:线性权重和平方权重分别对应SAS中的Cicchetti-Allison权重Fleiss-Cohen权重,默认情况下使用Cicchetti-Allison权重

以上公式来自 http://www.physther.org/content/85/3/257.full(英文资料,介绍地比较全面)
 

三、统计检验方法

Kappa 只是一个统计量,存在抽样误差。 Kappa/ASE 近似服从标准正态分布 ,据此可以得出 Kappa 统计量的置信区间。

 

四、如何使用 SAS 做 Kappa 分析?

1)两种评测方法评分范围一致的情况

data equalranges;
input  rater1    rater2;
datalines;
  1         1
  1         2
  1         2
  1         1
  2         2
  2         2
  2         1
  2         2
;
run;

 

proc freq data=equalranges;
  tables rater1*rater2/agree nopercent nocol norow;
run;

 

输出结果:

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

注:对于 2*2 的列联表,加权Kappa系数等于简单Kappa系数。SAS FREQ 过程步只有当列联表大于2*2表时才显示加权Kappa系数。

(For 2*2 tables, the weighted kappa coefficient equals the simple kappa coefficient. PROC FREQ displays the weighted kappa coefficient only for tables larger than 2*2.)

 

2)两种评测方法评分范围不一致的情况 -- 使用 Weight 语句加 zeros 选项 (请参考 UCLA 大学的网站:http://www.ats.ucla.edu/stat/sas/faq/kappa.htm)

 

data unequalranges;
input  rater1    rater2;
datalines;
  1         1
  1         1
  1         1
  1         1
  2         2
  2         2
  2         2
  2         2
  3         2
  3         2
  3         2
  3         2
;
run;

 

data unequalranges;
  if _n_=1 then do;
  rater1 =3;
  rater2 = 3;
  weight = 0;
  output;
  end;
  set unequalranges;
  weight = 1;
  output;
run;

 

proc freq data=unequalranges;
tables rater1*rater2;
test kappa;
weight weight / zeros;
run;

 

输出结果:

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

SAS 的 FREQ 过程步可用于 Kappa 一致性检验,代码共有两种写法,数值都一样,只是分析结果的展现形式不太一样。

 

TEST KAPPA 语句 

proc freq data= unequalranges;
  tables rater1*rater2;
  test kappa;
  weight weight / zeros;
run;

 

输出结果:

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

TABLES 语句中的 AGREE 选项
proc freq data= unequalranges;
  tables rater1*rater2/agree nopercent nocol norow;
  weight weight / zeros;
run;

 

输出结果:

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

下面的代码仅用于手算验证简单KAPPA系数的计算结果(理解任何一种计算公式的最好办法是手算一遍,当然要基于小数据来计算):
ods output simplekappa = simplekappa;
proc freq data= unequalranges;
  tables rater1*rater2/agree nopercent nocol norow;
  weight weight / zeros;
run;


data kappa_diy;
 set simplekappa(keep=label1 nvalue1);
 where label1='ASE';
 po=(4+4)/12;
 pe=(4*4+8*4)/12**2;
 kappa = (po-pe)/(1-pe);
 kappa_lower = kappa+probit(0.025)*nvalue1;
 kappa_upper = kappa+probit(0.975)*nvalue1;
 put _all_;
run;
 

输出结果:

Label1=ASE nValue1=0.155902

po=0.6666666667

pe=0.3333333333

kappa=0.5

kappa_lower=0.1944369283
kappa_upper=0.8055630717
 

下面介绍一下如何将 Kappa 统计量保存在 SAS 数据集中便于后续的分析和使用。

1) 保存简单Kappa系数

ods output SimpleKappa = SimpleKappa;


2) 保存加权Kappa系数
ods output WeightedKappa = WeightedKappa;

 

代码如下:

ods output SimpleKappa = SimpleKappa;
ods output WeightedKappa = WeightedKappa;
proc freq data= unequalranges;
  tables rater1*rater2;
  test kappa;
  weight weight / zeros;
run; 

 

五、经验

1) Weighted kappa penalizes disagreements in terms of their seriousness, whereas unweighted kappa treats all disagreements equally. Unweighted kappa, therefore, is inappropriate for ordinal scales.

 

2) Landis and Koch45 have proposed the following as standards for strength of agreement for the kappa coefficient:

≤0=poor,

.01–.20=slight,

.21–.40=fair,

.41–.60=moderate,

.61–.80=substantial,

and .81–1=almost perfect. 

 

[转载]一致性检验 <wbr>-- <wbr>Kappa <wbr>系数

 

六、参考资料

http://www.cis.udel.edu/~carberry/CIS-885/Papers/DiEugenio-Kappa-Second-Look.pdf 

http://www.agreestat.com/research_papers/kappa_statistic_is_not_satisfactory.pdf

http://www.chestx-ray.com/statistics/kappa.html 

http://david.abcc.ncifcrf.gov/helps/linear_search.html

http://rss.acs.unt.edu/Rdoc/library/epicalc/html/kap.html (R,我这里就不介绍了,大家有兴趣的自己看看)


http://chatgpt.dhexx.cn/article/bDFnshBl.shtml

相关文章

kappa系数---学习笔记

kappa系数是一个用于一致性检验的指标&#xff0c;也可用于衡量分类的效果对于分类问题&#xff0c;所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的&#xff0c;取值为-1到1之间,通常大于0。基于混淆矩阵的kappa系数计算公式如下&#xf…

总体分类精度和kappa系数计算实例详细介绍!

为啥要算总体分类精度和kappa系数呢&#xff1f;想必大家都知道是为了精度评价&#xff0c;当我们没有实测数据的时候&#xff0c;那么总体分类精度和kappa系数就派上用场了&#xff01;我们没有实测数据&#xff0c;依旧能够评价自己的方法和模型的优良性。博客写的有点啰嗦~啊…

使用cohen kappa系数衡量分类精度

在诊断试验中&#xff0c;研究者希望考察不同诊断方法在诊断结果上是否具有一致性。如评价两个医务工作者对同一组病人的诊断结论的一致性、同一医务工作者对同一组病人前后进行两次观察作出诊断的一致性。1960年Cohen等提出用Kappa值作为评价判断的一致性程度的指标。实践证明…

每日一学 kappa系数

1.定义 Kappa系数用于 一致性检验 &#xff0c;也可以用于 衡量分类精度 &#xff0c;kappa系数的计算是 基于混淆矩阵的。 2.具体例子 3.具体指标的分析 kappa计算结果为-1~1&#xff0c;但通常kappa是落在 0~1 间 第一种分析准则--可分为五组来表示不同级别的一致性&…

Kappa系数计算

内容整理自百度百科 kappa系数是一种衡量分类精度的指标。 公式&#xff1a; k p o − p e 1 − p e k\frac{p_o-p_e}{1-p_e} k1−pe​po​−pe​​ 其中&#xff0c; p o p_o po​是每一类正确分类的样本数量之和除以总样本数&#xff0c;也就是总体分类精度 。C是类别总数…

Kappa系数

Kappa系数用于一致性检验 也可以用于衡量分类精度 kappa系数的计算是基于混淆矩阵的 kappa计算结果为-1~1&#xff0c;但通常kappa是落在 0~1 间&#xff0c;可分为五组来表示不同级别的一致性&#xff1a;0.0~0.20极低的一致性(slight)、0.21~0.40一般的一致性(fair)、0.41~…

嵌入式软件工程师常见面试问题

(嵌入式软件工程师面试题) 1、stm32启动方式&#xff1f; 有三种&#xff1a; ①从Flash启动&#xff0c;将Flash地址0x0800 0000映射到0x00000000,这样启动以后就相当于从0x0800 0000开始的&#xff0c;这是我们最常用的模式&#xff1b; ②从SRAM启动&#xff0c;将SRAM地址…

嵌入式软件工程师和嵌入式硬件工程师有什么区别

什么是嵌入式硬件工程师 随着嵌入式技术的普及&#xff0c;硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能&#xff0c;还必须完成部分软件工程师的工作&#xff0c;例如&#xff1a; 底层驱动…

学软件嵌入式需要学c语言吗,嵌入式软件工程师需要学什么?

随着智能电子设备的普及,市场对嵌入式开发人员需求增多,嵌入式系统无疑成为了当前最热门极具发展前途的IT应用领域之一。很多人想要入门的同学都想学习这个却不知道嵌入式软件工程师需要学什么?今天传智播客就来说说嵌入式软件工程师需要学什么? 现在学习嵌入式就业的前景也…

如何成为嵌入式软件工程师,成为嵌入式工程师赚不赚钱?

自身对嵌入式软件工程师的感想 前言一、嵌入式软件是什么&#xff1f;一、成为嵌入式工程师赚不赚钱&#xff1f;二、嵌入式工程师不赚钱还做他干啥&#xff1f;三、如何学习&#xff1f;四、尝试自己学习新东西五、总结 前言 我所想阐述的事 在看了很多b站的垃圾推荐“”嵌入…

嵌入式软件工程师笔试面试指南目录

文章目录 必读作者简介嵌入式软件工程师笔试面试指南简介如何使用这份资料你可以得到什么嵌入式软件工程师笔试面试指南的价值某外企面试官对这份资料的评价&#xff08;20210514&#xff09;收获 oppo 联发科 京东offer应届生的评价&#xff08;20210430&#xff09;大疆offer…

什么是嵌入式软件工程师?需具备哪些能力?

计算机嵌入式逐渐被大家认可,然而嵌入式软件工程师到底是什么?做一个好的嵌入式软件工程师又需要具备哪些能力呢?今天尚观教育小编跟大家聊一聊。 1.嵌入式软件工程师是什么? 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组…

嵌入式软件工程师待遇如何?嵌入式开发越老越吃香吗?

嵌入式软件工程师待遇绝对是领先大多数行业的&#xff0c;而且最近两年出现薪资涨幅大&#xff0c;企业依然招不到人的现象。 口说无凭&#xff0c;我们通过招聘平台的数据来看是最靠谱的。 大家好&#xff0c;我是无际。 一个从事嵌入式单片机开发10年的老工程师&#xff0c…

嵌入式软件工程师是干啥的?

文章目录 前言 一、啥是软件&#xff1f; 二、什么是嵌入式软件 三、嵌入式软件如何开发 三、嵌入式软件工程师知识技能 编程语言知识&#xff1a; 自动控制知识&#xff1a; 硬件基础知识&#xff1a; 开发工具使用&#xff1a; 软件架构设计&#xff1a; 软件开发流程&#x…

医药行业集团集采管理平台深化招投标管理,提升企业采购管理水平

新形势下&#xff0c;中国医药行业正面临着新一轮重大转变&#xff0c;国内的政策环境&#xff0c;产业结构和病患需求都在发生快速变化&#xff0c;加速推动医药行业数字化转型已经成为大势所趋&#xff0c;企业的数字化战略需要迎面解决转型性变化和应对被更多敏锐竞争对手超…

SSM医药销售管理系统毕业设计源码042322

SSM医药销售管理系统 摘要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采SSM技术和mysql数据库来完成对系统的…

基于ssm医药药品管理系统

开发工具eclipse&#xff0c;jdk1.8 数据库mysql5.7,tomcat8 技术&#xff1a;springmvcspringmybatis(ssm) 主要功能如下&#xff1a; ①登录系统&#xff1a;管理员需要输入正确的用户名和密码来登录系统&#xff0c;从而完成各类信息的管理工作&#xff1b; ②信息查询…

云时代下,医药行业管理居然这么简单

摘要&#xff1a;为了持续打造核心竞争力&#xff0c;英克康健联合华为云&#xff0c;基于云数据库RDS for PostgreSQL全新打造了一个高性能、大容量、高可用的SaaS医药管理系统&#xff0c;助力万千药企业务迈上新台阶。 本文分享自华为云社区《云时代下&#xff0c;医药行业管…

SSM医院医药药品管理系统

《SSM医院医药药品管理系统》该项目采用的技术实现如下&#xff1a;jspssm框架&#xff08;springspringMVCmybaits&#xff09;Mysql数据库Tomcat服务器 实现了最基本的医药药品管理功能&#xff0c;其中客户即病人与经办人即医生和药品产生联系&#xff0c;即每一个顾客都有…

医药管理信息系统(javaWeb)

信息需求 顾客&#xff1a;对于顾客需要知道他的编号、姓名、电话号码、经办人、录入日期以及已购药品&#xff1b; 经办人&#xff1a;对于经办人需要知道他的编号、姓名、电话号码&#xff1b; 药品&#xff1a;对于药品需要知道它的编号、名称、数量、功效&#xff1b; 查…