注:本文没有理论只有实际操作方法(R,Mplus,SPSS,EXCEL, HLM)。主要是组内相关系数(intraclass correlation coefficient ;ICC)算法,顺带捎了点求

的方法。

尽管检验信度和非独立性的ICC概念上不同,但计算的时候是一回事儿。请在算ICC前,理理清楚自己要算啥、怎么算、有啥意义。【可以去看理论篇(1)理论篇(2)】


R

1.(多层模型分析中最常用)lme4包 ——VarCorr()和lmer()功能/ nlme包 ——lme()功能

#先建模(random coefficient models, e.g. HLM)

fm1 <- lmer(Y~ XX+ (XX|Group1), data = data, na.action=na.omit)

#也可以写作

fm1 <- lme(Y~ XX, random = ~ 1|Group1, data = data, na.action=na.omit)

# 提取方差和标准差

VarCorr(fm1)

#得到结果:

根据公式ICC(1)=组间方差/(组间方差+组内方差)计算ICC(1)

ICC(1)=组间方差/(组间方差+组内方差)

再根据ICC2= k*ICC1 / (1 + (k-1)*ICC1)求得ICC2,k是每组的平均样本量。

ICC2= k*ICC1 / (1 + (k-1)*ICC1)

2. psych包——ICC()功能

#例子1(此为 Shrout & Fleiss (1979)文中的例子)

sf <- matrix(c( 9,    2,   5,    8, 6,    1,   3,    2, 8,    4,   6,    8, 7,    1,   2,    6, 10,   5,   6,    9, 6,   2,   4,    7),ncol=4,byrow=TRUE) colnames(sf) <- paste("J",1:4,sep="") rownames(sf) <- paste("S",1:6,sep="")
#仅基于方差分析 ICC(sf,lmer=FALSE)  

#例子2

#载入数据

sai <- psychTools::sai 

#选择要分析的部分数据

sai.xray <- subset(sai,(sai$study=="XRAY") & (sai$time==1)) 

#计算ICC(lmer=True的情况下允许有缺失数据并会生成方差成分(variance components),相当于使用了lme4包种的lmer功能)

xray.icc <- ICC(sai.xray[-c(1:3)],lmer=TRUE,check.keys=TRUE)
xray.icc 

#查看方差组成部分

xray.icc$lme

3.ref="https://www.rdocumentation.org/packages/irr/versions/0.84.1/topics/icc">irr 包——icc()功能

icc(data, model = c("oneway", "twoway"),   type = c("consistency", "agreement"),      unit = c("single", "average"), r0 = 0, conf.level = 0.95)

data就是数据集(dataframe),载入前要预先处理好行列信息(仅保留要测的变量)。

model(默认单因子)、type(默认C)、unit(默认单个评分者)的选择上面讲过了。

r0(明确零假设(H0:r=r0),执行了单侧检验(H1: r > r0)和conf.level可以不用打出来,按默认设置处理。

方法2、3的数据种,列(column)数默认是评分/评委人数(number of judges),行(line)数默认是被试人数;输出结果都是6项ICC指数,即ICC1-3、ICC1k-3k。

4. 专门的ICC包(笔者没用过,请自行琢磨)


Mplus(例子引自Michael Zyphur的5日workshop)

完整资料链接如下:

Mplus Workshop at The University of Melbourne, February 4-8, 2019 (5 Days).​melbourne.figshare.com

或者:dropbox链接(不含视频):https://tinyurl.com/y2ooc4nw 或者:B站教学视频链接:https://www.bilibili.com/video/BV1MV411f7yt 或者:海外党油管链接:https://www.youtube.com/watch?v=ekpMPTYn8uQ&list=PL8aoPJZQes3qZbWeho7WFNjgpRtLU3KHs&index=13 先建一个空的双层模型,求ICC1,然后自己手动求一下ICC2,代码如下:

Title: Random Intercept
Data: File is High School and Beyond.dat;  

! 1982年,7185名来自160所高中及以上学校的问卷数据

Variable:
Names are   school student minority
female ses MAch size pracad disclim;

  • ! school 是学校编号,分类变量(clustering variable)
  • ! student 是学生编号
  • !minority代表是否是少数族裔,1=黑人,0=其他
  • ! female代表性别,1 = 女, 0 = 男
  • ! ses 是社会经济地位
  • !MAch 是数学成绩
  • !size 学校规模(组间变量)
  • ! sector 部门, 1 = 私立天主教学校, 0 = 公立学校 (组间变量)
  • ! pracad ! 学生占比(组间变量)
  • !disclim; ! 纪律风气(disciplinary climate), 分数越低越好(组间变量)
Usevariables = MAch;
Cluster = School;    Analysis:
Type = twolevel;
Estimator = ML; 

! 也可以使用贝叶斯模型Bayes

Model:
%Between%   MAch;
%Within%   MAch;
Output: Tech1 Tech8 standardized sampstat;

!输出结果:

Intraclass correlation就是要求的ICC1了,然后average cluster seize就是k(平均每组的样本大小),带入公式ICC2= k*ICC1 / (1 + (k-1)*ICC1)求得ICC2。 注:结果会得到如下warnings说你输入的变量和其它所有别的变量都无关,可以直接无视,因为你只输入了一个变量MACH,不存在和它有关的别的变量。


SPSS(点点鼠标就好了。)

1.用ANOVA模型求均方,代公式

  1. Analyze > Compare Means > One-Way ANOVA
  2. 选择Factor(组Group),Dependent List(分数Score)>OK

3.得到结果:

根据公式算ICC1和ICC2。

注意:这里ICC1代入得公式是:

ICC2代入公式是:

  • 继续用ICC2= k*ICC1 / (1 + (k-1)*ICC1)也可以

2.用混合线性模型求方差(linear mixed-effects model, LME),代公式(

*针对多层模型是否要聚合aggregate/数据是否具有高度组内相关性interclass correlation/个体分组内聚集clustered by group

  1. 分析Analyze >混合模型 Mixed Models > 线性混合模型Linear
  2. (选择被试/重复变量/)直接点继续
  3. 选择因变量(Dependent variable)(+自变量(factor))
  4. 面板上Random> 自定义模型>继续continue
  5. 面板Statistics > Model Statistics > 勾选parameter estimates>继续continue
  6. 面板点OK

根据公式:

组间方差/(组间方差+组内方差)

ICC1 = 结果中(intercept estimate)/(intercept estimate + residual estimate)

3. 直接计算6类ICC。

确定了要计算的ICC模型类型后:

  1. “分析”(Analyze)>“度量”(Scale)>“可靠性分析”(Reliability Analysis)
  2. 选择好想要分析的项目后,点击“统计量”(Statistics)
  3. 勾选”同类相关系数“(Intraclass correlation coefficient)
  4. 选择你要计算的ICC模型和类型
  5. 按下”继续“ (Continue)
  6. 按下”确定“(OK),得到”结果“(output)。

3.用syntax(LeBreton, & Senter, 2008).:

例1:

导入原始数据如下图:

原始数据:LeBreton, J. M., &amp;amp;amp;amp;amp;amp;amp;amp; Senter, J. L. (2008). Answers to 20 questions about interrater reliability and interrater agreement.Organizational research methods,11(4), 815-852.
  1. File >New > Syntax

#重整数据

SORT CASES BY Target.
CASESTOVARS
/ID = Target
/GROUPBY = VARIABLE.
EXECUTE. 

重整后数据

#设置缺失数据

RECODE ITEM1.1 to ITEM2.5 (MISSING = 999).
MISSING VALUES ITEM1.1 to ITEM2.5 (999).
EXECUTE.

处理缺失数据后的数据

#计算rwg

COMPUTE obs_var1 = var(item1.1,item1.2,item1.3,item1.4,item1.5).
EXECUTE.
COMPUTE rwg1_un = 1-(obs_var1/2).
COMPUTE rwg1_ss = 1-(obs_var1/1.34).
EXECUTE.

#求ADM

COMPUTE MEAN1 = mean(item1.1,item1.2,item1.3,item1.4,item1.5).
COMPUTE AD1 = mean(abs(item1.1-mean1),abs(item1.2-mean1),abs(item1.3-mean1),
abs(item1.4-mean1), abs(item1.5-mean1)).
EXECUTE.

#求ICC(1)ICC(k)

RELIABILITY
/VARIABLES = Item1.1 Item1.2 Item1.3 Item1.4 Item1.5
/SCALE(ALPHA) = ALL/MODEL = ALPHA
/ICC = MODEL(ONEWAY) CIN = 95 TESTVAL = 0.
EXECUTE.

#rwg(j)

 COMPUTE obs_var2 = var(item2.1,item2.2,item2.3,item2.4,item2.5).
COMPUTE avg_var = mean(obs_var1,obs_var2).
EXECUTE.
COMPUTE rwgj_un = (2∗(1-avg_var/2))/((2∗(1-avg_var/2)) + avg_var/2).
COMPUTE rwgj_ss = (2∗(1-avg_var/1.34))/((2∗(1-avg_var/1.34)) + avg_var/1.34).
EXECUTE.

#求ADM(j)

COMPUTE MEAN2 = mean(item2.1,item2.2,item2.3,item2.4,item2.5).
COMPUTE AD2 = mean(abs(item2.1-mean2),abs(item2.2-mean2),abs(item2.3-mean2),
abs(item2.4-mean2), abs(item2.5-mean2)).
COMPUTE ADJ = mean(AD1,AD2).
EXECUTE.

完成以上所有步骤后,新增了变量

例2.

原始数据如下

#求rWGp

#先估计rwg

SORT CASES BY Leader.
SPLIT FILE
SEPARATE BY Leader.
DESCRIPTIVES
VARIABLES = Item1
/STATISTICS = MEAN STDDEV VARIANCE MIN MAX.

#接着求rWGp(a single, global estimate of (pooled) within-groups agreement).

SORT CASES BY Leader.
SPLIT FILE
SEPARATE BY Leader.
UNIANOVA
item1 BY status
/METHOD = SSTYPE(3)
/INTERCEPT = INCLUDE
/EMMEANS = TABLES(status)
/PRINT = HOMOGENEITY
/CRITERIA = ALPHA(.05)
/DESIGN = status.

#item 2

SORT CASES BY Leader.
SPLIT FILE
SEPARATE BY Leader.
UNIANOVA
item2 BY status
/METHOD = SSTYPE(3)
/INTERCEPT = INCLUDE
/EMMEANS = TABLES(status)
/PRINT = HOMOGENEITY
/CRITERIA = ALPHA(.05)
/DESIGN = status.

#item3

SORT CASES BY Leader.
SPLIT FILE
SEPARATE BY Leader.
UNIANOVA
item3 BY status
/METHOD = SSTYPE(3)
/INTERCEPT = INCLUDE
/EMMEANS = TABLES(status)
/PRINT = HOMOGENEITY
/CRITERIA = ALPHA(.05)
/DESIGN = status.

完成以上步骤后,得到 3个平均均方误差估计(average mean square error estimates)/rWGp值:.611, .333, .333。

#接着求rWGp(j)

根据公式求得3个rWGp(j):.87, .94, .94。


EXCEL

Michael S. Cole的网站可以下载Biemann, Cole, & Voelpel (2012)开发的基于EXCEL计算ICC的工具。但是似乎需要付费的宏包才能运行?

****Available for download: Excel tool for computing within-group agreement and interrater reliablity. Developed to accompany Biemann, Cole, & Voelpel (2012).


HLM(笔者没用过,但还是找了些资源,感兴趣的小伙伴可以自行查看):

下载https://www.ssicentral.com/index.php/product/hlm

HLM8用户手册:https://www.hearne.software/getattachment/a104646a-d78e-4ccd-88cf-cf04a78b47f2/HLM8-Manual.aspx

HLM7指南里有详细步骤图:https://multilevel-analysis.sites.uu.nl/wp-content/uploads/sites/27/2018/06/HLM-manual-Final.pdf

相关系数excel_如何求组内相关系数ICC?(应用篇)相关推荐

  1. 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)

    0.前言 一开始学这里的时候我感觉真的完犊子了,因为这部分的内容涉及到了概率论和数理统计的东西,概率论和数理统计虽然我现在在学,但我学的一团糟,翻书也毫无头绪,完了,现在就写一写自己怎么学的这两个系数 ...

  2. 相关系数(皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数)

    目录 总体皮尔逊Person相关系数: 样本皮尔逊Person相关系数: 两点总结: 假设检验:(可结合概率论课本假设检验部分) 皮尔逊相关系数假设检验: 更好的方法:p值判断方法 皮尔逊相关系数假设 ...

  3. Cocos2d-x使用iOS游戏内付费IAP(C++篇)

    source file url: http://www.tairan.com/archives/5515 Cocos2d-x使用iOS游戏内付费IAP(C++篇) 前期准备 设备与账号 在开始编码之前 ...

  4. 相关系数excel_跟着思想学外汇-如何用Excel计算货币相关性

    第十篇 大四 第六章 货币相关性 第六节 如何用Excel计算货币相关性 正如在之前课程中读到的,货币对的相关性会随着时间的推移而变化.因此,随时了解当前的系数变得更加重要. 幸运的是,货币相关性系数 ...

  5. 斯皮尔曼相关系数范围_数据的相关系数

    Pearson相关系数 两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商 从式子(1)能看到,Pearson 系数的取值范围在-1~+1之间,其中1是总正线性相关性,0是非线性相关性 ...

  6. pearson相关系数_Pearson(皮尔逊)相关系数

    由于使用的统计相关系数比较频繁,所以这里就利用几篇文章简单介绍一下这些系数. 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度. 如果有两个变量:X.Y,最终计算出的相关系数的含义可以有 ...

  7. python中相关系数_day-14 回归中的相关系数和决定系数概念及Python实现

    衡量一个回归模型常用的两个参数:皮尔逊相关系数和R平方 一.皮尔逊相关系数 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pe ...

  8. 她半年内举报了755篇问题论文,专挑中国“下手”?还牵扯到北大副校长.........

    全世界只有3.14 % 的人关注了 爆炸吧知识 是挑刺 还是打假? 2020年7月23日,海外一家学术打假网站PubPeer曝出北京大学常务副校长.北大医学部主任.中国工程院院士詹启敏25篇论文涉嫌学 ...

  9. js中的内置对象(详细篇)

    在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...

  10. 内网渗透-代理篇(reGeorg+Proxifier代理工具)

    声明:贝塔安全实验室公众号大部分文章来自团队核心成员和知识星球成员,少部分文章经过原作者授权和其它公众号白名单转载.未经授权,严禁转载,如需转载,请联系开白!请勿利用文章内的相关技术从事非法测试,如因 ...

最新文章

  1. linux centos php5.3 安装curl扩展
  2. 依图科技再破世界记录!AutoML取代人工调参,刷榜三大权威数据集
  3. Java开发之掌握JSP技术
  4. c语言第一周作业答案,C语言程序设计下mooc答案.pdf
  5. 字节跳动招聘【三维视觉】算法实习生
  6. IDEA maven依赖下载失败
  7. 《C++游戏开发》笔记十二 战争迷雾:初步实现
  8. QCIF、CIF、DCIF、D1分辨率
  9. MT6573 android 系统默认语言处理流程
  10. URL.createObjectURL()
  11. 内核网络数据结构-SKB
  12. 无人机飞控 ardupilot Copter-4.0.7 库简介
  13. UVALive 4043 Ants(最大权匹配)
  14. Matlab的GUI程序转换为单独可执行的exe文件
  15. 英特尔安腾服务器芯片,英特尔开始出货新安腾服务器处理器
  16. RabbitMQ高可用--Quorum Queue(仲裁队列)的用法
  17. 盛大游戏技术总监徐峥:Unity引擎使用的三种方式
  18. 浅谈建筑能耗在线监测系统在天目西路街道103坊27丘项目泰禾大厦的应用—安科瑞 孙斌
  19. 支付宝怎么提交html表单提交,支付宝支付全流程
  20. 火绒安全v5.0.45 附单文件版

热门文章

  1. 学生用计算机指数函数,指数函数计算器
  2. 关闭WPS广告弹窗骚扰(Kingsoft Office 推荐)
  3. linux画板软件下载,Drawing画图软件
  4. seata-order-service2006模块
  5. 美团点评 2019校招 前端方向职位试卷在线考试
  6. win10 激活 错误码 0xc004f074
  7. HAL库中外设驱动的实现(任意外设通用)
  8. 客户端之H5拉起第三方app并跳转到指定页面
  9. html如何设置自动点击事件,html 如何设置打开网页时自动触发按钮的单击事件
  10. JQuery checkbox check/uncheck