Herramientas · Bioestadística abierta
Kappa de Cohen, simple y ponderada: concordancia entre dos evaluadores con intervalo de confianza, PABAK e índices de Byrt
Pega la tabla de acuerdo entre dos evaluadores, de 2 × 2 hasta 10 × 10, y obtén la kappa de Cohen con su intervalo de confianza, la banda de Landis y Koch, el κ máximo que permiten los marginales y, cuando hay dos categorías, PABAK y los índices de prevalencia y de sesgo que explican por qué un acuerdo alto puede dar una κ baja.
https://udgca1190.com.mx/herramientas/bioestadistica/kappa
Este enlace no incluye los datos pegados: son demasiado largos para una URL.
Resultados
Casos clasificados (n)
100
Acuerdo observado (p₀)
76.0 %
Sin ponderar
Acuerdo esperado por azar (pₑ)
38.7 %
Sin ponderar
Kappa de Cohen (κ)
0.61
0.47 a 0.74
IC 95 % · Fleiss, Cohen y Everitt
Error estándar de κ
0.0690
Fleiss, Cohen y Everitt
z frente a κ = 0
8.14
varianza bajo κ = 0
p frente a κ = 0
< 0.001
varianza bajo κ = 0
κ máxima con estos marginales
0.95
límite impuesto por los marginales
PABAK
—
solo con dos categorías
Índice de prevalencia
—
solo con dos categorías
Índice de sesgo
—
solo con dos categorías
Interpretación
Los evaluadores coincidieron en 76.0 % de los 100 casos; el acuerdo esperado por azar era 38.7 %. κ = 0.61 (IC 95 %: 0.47 a 0.74): acuerdo sustancial más allá del azar.
En las bandas de Landis y Koch, κ = 0.61 corresponde a un acuerdo sustancial (0.61 a 0.80). El intervalo 0.47 a 0.74 marca hasta dónde llega la incertidumbre.
κ sin ponderar: todo desacuerdo cuenta igual, esté entre categorías vecinas o entre los extremos. Es lo correcto cuando las 3 categorías no tienen orden.
z = 8.14, p = < 0.001 frente a κ = 0. La prueba dice si hay acuerdo mayor que el azar, no si el acuerdo es suficiente: con muestras grandes, una κ pequeña también sale significativa.
Con estos marginales, la κ máxima posible es 0.95: ningún reparto de los mismos totales de fila y de columna daría más. Cuanto más se aleje de 1, más limita el resultado el hecho de que los dos evaluadores usen las categorías con frecuencias distintas.
PABAK y los índices de prevalencia y de sesgo solo están definidos con dos categorías; esta tabla tiene 3.
El acuerdo observado (76.0 %) y κ (0.61) apuntan en el mismo sentido: no hay señal de la paradoja de kappa, que aparece cuando una categoría concentra casi todos los casos y el acuerdo esperado por azar se dispara.
- Las bandas de Landis y Koch (pobre, leve, aceptable, moderado, sustancial, casi perfecto) son cortes convencionales, no derivados de la teoría, y no marcan un umbral de validez. Interprete κ junto con su intervalo de confianza y con el acuerdo observado.
Explicación
Dos personas clasifican los mismos casos y coinciden en el 90 % de ellos. ¿Es bueno ese acuerdo? Depende de cuánto habrían coincidido sin mirar: si el 95 % de los casos pertenece a una sola categoría, dos evaluadores que respondieran al azar con esas mismas frecuencias ya coincidirían casi siempre. La kappa de Cohen responde a eso: compara el acuerdo observado con el acuerdo esperado por azar y expresa cuánto del margen que quedaba se llegó a cubrir. Vale 1 con acuerdo perfecto, 0 cuando el acuerdo es el que cabría esperar por azar y menos de 0 cuando es peor que el azar.
Cuando las categorías están ordenadas (ausente, leve, moderado, grave) no todos los desacuerdos son iguales: confundir «leve» con «moderado» no es lo mismo que confundir «leve» con «grave». La kappa ponderada recoge esa idea dando un acuerdo parcial a las casillas cercanas a la diagonal. Con pesos lineales el crédito baja en proporción a la distancia entre categorías; con pesos cuadráticos los desacuerdos grandes pesan mucho más que los pequeños, y con categorías igualmente espaciadas esa versión coincide con el coeficiente de correlación intraclase. Ponderar categorías que no tienen orden (por ejemplo, tipos de germen) no significa nada: ahí la kappa correcta es la simple.
Kappa tiene una peculiaridad que conviene conocer antes de reportarla, la llamada paradoja de kappa. Cuando una categoría concentra casi todos los casos, el acuerdo esperado por azar sube tanto que κ se desploma aunque los evaluadores coincidan en casi todo. Dos índices de Byrt, Bishop y Carlin ayudan a diagnosticarlo con dos categorías: el índice de prevalencia mide cuán desiguales son las dos casillas de acuerdo, y el índice de sesgo, cuánto difieren los dos evaluadores en la frecuencia con que usan cada categoría. PABAK es la kappa que saldría si ambos índices fueran cero, es decir, el acuerdo observado reescalado, y se reporta junto a κ, nunca en su lugar.
El intervalo de confianza usa el error estándar asintótico de Fleiss, Cohen y Everitt (1969) y se trunca a [−1, 1]. La prueba frente a κ = 0 emplea otra varianza, la que corresponde a la hipótesis nula de acuerdo por azar, y es la que publica irr::kappa2 en R; responde solo a si hay acuerdo mayor que el azar, no a si el acuerdo es suficiente, así que con muestras grandes una κ pequeña también resulta significativa. Las bandas de Landis y Koch (pobre, leve, aceptable, moderado, sustancial y casi perfecta) son convenciones citadas desde 1977, no umbrales derivados de la teoría: léalas siempre con el intervalo al lado.
Ecuaciones
- número de categorías de la tabla (entre 2 y 10)
- peso de acuerdo de la casilla fila i, columna j
- pesos lineales
- pesos cuadráticos
- proporción de casos en la casilla fila i, columna j
- marginal de la fila i (evaluador A)
- marginal de la columna j (evaluador B)
- acuerdo observado (ponderado)
- acuerdo esperado por azar (ponderado)
- media ponderada de la fila i, usando los marginales de columna como pesos
- media ponderada de la columna j, usando los marginales de fila como pesos
- número de casos clasificados por los dos evaluadores
- cuantil de la normal estándar (1.96 al 95 %)
- error estándar bajo la hipótesis nula de acuerdo por azar
- κ más alta compatible con los marginales observados
- acuerdo máximo alcanzable con esos marginales
- reparto de la esquina noroeste: la tabla con esos mismos marginales que maximiza el acuerdo ponderado
- casillas de acuerdo de una tabla 2 × 2
- casillas de desacuerdo de una tabla 2 × 2
- índice de prevalencia
- índice de sesgo
Código R
# Cohen's kappa (unweighted and weighted) for a k x k agreement table
# - Bioestadistica abierta, UDG-CA-1190
# Runs as is in R, RStudio or webR; prints the results as JSON at the end.
library(irr)
library(jsonlite)
# The pasted table, row by row: rows = rater A, columns = rater B,
# the same categories in the same order.
x <- matrix(c(40, 8, 2, 6, 25, 4, 1, 3, 11), nrow = 3, byrow = TRUE)
ponderacion <- "ninguna" # "ninguna" | "lineal" | "cuadratica"
nivel <- 0.95
tipo <- switch(ponderacion, ninguna = "unweighted", lineal = "equal", cuadratica = "squared")
# A category nobody used (empty row AND empty column) is dropped first: it adds no
# agreement, and the weights depend on how many categories there are.
vacias <- rowSums(x) == 0 & colSums(x) == 0
x <- x[!vacias, !vacias, drop = FALSE]
k <- nrow(x); n <- sum(x)
# Agreement weights w_ij (Cohen 1968); with k = 2 the three schemes are the identity.
w <- switch(tipo, unweighted = diag(k), equal = 1 - abs(outer(1:k, 1:k, "-"))/(k - 1),
squared = 1 - (outer(1:k, 1:k, "-")/(k - 1))^2)
p <- x/n; pi <- rowSums(p); pj <- colSums(p)
po <- sum(w*p); pe <- sum(w*outer(pi, pj)); kappa <- (po - pe)/(1 - pe)
# Asymptotic standard error of Fleiss, Cohen & Everitt (1969), from the OBSERVED cells,
# and its Wald interval truncated to [-1, 1]. max(0, .) only absorbs the rounding of
# perfect agreement, where the radicand is 0 up to one ulp.
wi <- as.vector(w %*% pj); wj <- as.vector(t(w) %*% pi) # weighted row and column means
ee <- sqrt(max(0, sum(p*(w - outer(wi, wj, "+")*(1 - kappa))^2) - (kappa - pe*(1 - kappa))^2))/((1 - pe)*sqrt(n))
z <- qnorm(1 - (1 - nivel)/2)
kappa_ic <- c(kappa, max(-1, kappa - z*ee), min(1, kappa + z*ee))
# z and p against kappa = 0 exactly as irr::kappa2, whose variance is the one under the
# null hypothesis of chance agreement (EXPECTED cells), not the one of the interval.
# kappa2 needs the ratings pair by pair, so they are rebuilt from the table; the
# categories are numbered from 11 because kappa2 sorts its levels as text, and with
# 1 to 10 it would read them "1", "10", "2" and shift the weights of a 10 x 10 table.
niveles <- 10 + 1:k
ratings <- cbind(rep(niveles, rowSums(x)), unlist(lapply(1:k, function(i) rep(niveles, x[i, ]))))
k2 <- kappa2(ratings, weight = tipo)
# Largest kappa these marginals allow. Unweighted that maximum is sum(min(pi, pj));
# with linear or quadratic weights the north-west corner rule reaches it, because
# |i - j| and (i - j)^2 satisfy Monge's condition.
esquina <- function(a, b) {
m <- matrix(0, length(a), length(b)); i <- 1; j <- 1
while (i <= length(a) && j <= length(b)) {
v <- min(a[i], b[j]); m[i, j] <- m[i, j] + v; a[i] <- a[i] - v; b[j] <- b[j] - v
if (a[i] <= 0) i <- i + 1 else j <- j + 1
}
m
}
po_max <- if (tipo == "unweighted") sum(pmin(pi, pj)) else sum(w*esquina(pi, pj))
kappa_max <- (po_max - pe)/(1 - pe)
# Only with two categories (Byrt, Bishop & Carlin 1993): PABAK removes the influence
# of prevalence and bias, and the two indices measure them.
pabak <- if (k == 2) 2*po - 1 else NA_real_
indice_prevalencia <- if (k == 2) abs(x[1, 1] - x[2, 2])/n else NA_real_
indice_sesgo <- if (k == 2) abs(x[1, 2] - x[2, 1])/n else NA_real_
res <- list(n = n, po = po, pe = pe, kappa = kappa_ic, ee = ee,
z_h0 = unname(k2$statistic), p_h0 = k2$p.value, kappa_max = kappa_max,
pabak = pabak, indice_prevalencia = indice_prevalencia,
indice_sesgo = indice_sesgo)
cat(toJSON(res, auto_unbox = TRUE, digits = NA))
# Equivalent in RStudio (not run in the browser):
# DescTools::CohenKappa(x, weights = "Unweighted", conf.level = nivel) # "Equal-Spacing", "Fleiss-Cohen"
Este es el mismo código que valida la calculadora: cópialo y ejecútalo en R o RStudio para reproducir el resultado.
La verificación con R dentro del navegador llegará en una próxima versión; mientras tanto, copia el código y ejecútalo en RStudio.
Métodos para manuscrito
La concordancia interobservador se evaluó con el coeficiente kappa de Cohen [1] (sin ponderar) con IC 95 % basado en el error estándar asintótico de Fleiss, Cohen y Everitt [3]; la magnitud se interpretó según Landis y Koch [4]; se reporta también la κ máxima compatible con los marginales observados. Se clasificaron 100 casos en 3 categorías y se obtuvo κ = 0.61 (IC 95 % 0.47 a 0.74), con un acuerdo observado de 76.0 %. Los cálculos se realizaron con la calculadora «Kappa de Cohen» de Bioestadística abierta (Cuerpo Académico UDG-CA-1190, https://udgca1190.com.mx/herramientas/bioestadistica/kappa), verificada contra R (irr::kappa2).
Párrafo listo para la sección de Métodos; los números entre corchetes remiten a la lista de referencias.
Referencias
- 01 Cohen J. A coefficient of agreement for nominal scales. Educational and Psychological Measurement. 1960;20(1):37–46. doi:10.1177/001316446002000104 Fuente original
- 02 Cohen J. Weighted kappa: nominal scale agreement with provision for scaled disagreement or partial credit. Psychological Bulletin. 1968;70(4):213–220. doi:10.1037/h0026256 PMID: 19673146 Fuente original
- 03 Fleiss JL, Cohen J, Everitt BS. Large sample standard errors of kappa and weighted kappa. Psychological Bulletin. 1969;72(5):323–327. doi:10.1037/h0028106 Fuente original
- 04 Landis JR, Koch GG. The measurement of observer agreement for categorical data. Biometrics. 1977;33(1):159–174. doi:10.2307/2529310 PMID: 843571 Fuente original
- 05 Byrt T, Bishop J, Carlin JB. Bias, prevalence and kappa. Journal of Clinical Epidemiology. 1993;46(5):423–429. doi:10.1016/0895-4356(93)90018-V PMID: 8501467 Fuente original
- 06 Fleiss JL, Cohen J. The equivalence of weighted kappa and the intraclass correlation coefficient as measures of reliability. Educational and Psychological Measurement. 1973;33(3):613–619. doi:10.1177/001316447303300309 Complementaria
- 07 Gamer M, Lemon J, Fellows I, Singh P. irr: Various Coefficients of Interrater Reliability and Agreement. R package version 0.85. CRAN; 2026. Complementaria
- 08 Sim J, Wright CC. The kappa statistic in reliability studies: use, interpretation, and sample size requirements. Physical Therapy. 2005;85(3):257–268. doi:10.1093/ptj/85.3.257 PMID: 15733050 Lectura didáctica
- 09 Altman DG. Practical Statistics for Medical Research. London: Chapman & Hall; 1991. Lectura didáctica