我想计算一下 - 通过引导Krippendorff的Alpha结果 - 使用R package irr对Krippendorff的Alpha系数评估器可靠性的95%置信区间。
让我们在包irr和R脚本中使用“来自Krippendorff的C数据”来计算Krippendorff的Alpha一次:
# the "C" data from Krippendorff
#rater per row; rated subject per column; NAs allowed
library(irr)
nmm<-matrix(c(1,1,NA,1,2,2,3,2,3,3,3,3,3,3,3,3,2,2,2,2,1,2,3,4,4,4,4,4,
1,1,2,1,2,2,2,2,NA,5,5,5,NA,NA,1,1,NA,NA,3,NA),nrow=4)
kripp.alpha(nmm,"ordinal")
答案 0 :(得分:2)
您可以使用boot
包中的boot
函数来引导值。在这里,我将引导一组主题,但保持评分者的固定:
library(boot)
library(irr)
ka <- function(data, indices) kripp.alpha(nmm[,indices], "ordinal")$value
b <- boot(seq(ncol(nmm)), ka, 1000)
现在,您可以使用boot.ci
函数计算自举值的95%置信区间;我将使用百分位置信区间,但其他区域可用(请查看?boot.ci
):
boot.ci(b, type="perc")
# BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
# Based on 1000 bootstrap replicates
#
# CALL :
# boot.ci(boot.out = b, type = "perc")
#
# Intervals :
# Level Percentile
# 95% ( 0.4297, 1.0000 )
# Calculations and Intervals on Original Scale
答案 1 :(得分:2)
不幸的是,josliber提供的bootstrap解决方案并不能完成您的想法。问题是boot()期望nXm矩阵中的数据,而kripp.alpha()期望mXn矩阵中的数据。如图所示,给出的解决方案将运行,但重新采样不是由主题,而是由评估者完成,因此在示例数据集中有4个评估者,我们有少量可能的样本,重新采样的集合可能会到来来自单个评估者(因此conf间隔包括1.0)。
一种解决方案是将数据保存在引导使用的nXm表单中,并在将其提供给kripp.alpha()之前添加矩阵转置。
alpha.boot <- function(data,x) {
d <- t(data[x,])
kripp.alpha(d,method="nominal")$value
}
答案 2 :(得分:1)
对Paul来说可能太晚了,但是为了将来的参考注释,所提出的方法都没有与Klaus Krippendorff(http://web.asc.upenn.edu/usr/krippendorff/boot.c-Alpha.pdf)描述的bootstrap算法一致。
重复样本既不绘制评价者也不绘制单位,而是“在独立重复中赋予单位的值对中观察到的重合矩阵的假设可靠性数据”(Krippendorff 2016)。因此,传统的bootstrap实现不会给出Krippendorff的答案。
最佳丹尼尔