Métodos No Paramétricos para Tablas de Contingencia

Una guía práctica con ejemplos en R para el análisis de asociación entre variables categóricas

1. Introducción

Los métodos no paramétricos son herramientas estadísticas fundamentales para analizar la asociación entre variables categóricas mediante tablas de contingencia. Estos métodos no requieren supuestos sobre la distribución de los datos, lo que los hace especialmente útiles en el análisis de datos categóricos.

Objetivos del análisis:
  • Determinar si existe asociación entre variables categóricas
  • Evaluar la independencia estadística
  • Comparar grupos o tratamientos

Tipos de Tests Cubiertos

  1. Test Exacto de Fisher - Para tablas 2×2 con marginales fijos
  2. Test de McNemar - Para muestras pareadas
  3. Test de Independencia Chi-cuadrado - Para tablas r×c

2. Test Exacto de Fisher

El test exacto de Fisher representa una de las contribuciones más elegantes y fundamentales a la estadística no paramétrica. Desarrollado por Ronald A. Fisher en la década de 1930, este test resuelve un problema estadístico específico pero crucial: cómo evaluar la asociación entre dos variables categóricas cuando los tamaños de muestra son pequeños o cuando se requiere precisión exacta sin depender de aproximaciones asintóticas.

2.1 Fundamento Teórico y Filosófico

La Naturaleza de los Tests “Exactos”

La denominación “exacto” distingue fundamentalmente este test de los métodos que dependen de aproximaciones a distribuciones límite. Mientras que tests como el chi-cuadrado de Pearson asumen que la estadística de prueba se distribuye aproximadamente como chi-cuadrado para muestras grandes, el test de Fisher calcula probabilidades exactas para cualquier tamaño de muestra.

Esta precisión exacta se logra mediante un enfoque combinatorio que enumera todos los posibles resultados que podrían observarse bajo la hipótesis nula, asignando a cada uno su probabilidad exacta según la distribución hipergeométrica.

Distribución Hipergeométrica y Marginales Fijos

El test de Fisher se fundamenta en un escenario experimental específico: cuando los totales marginales de una tabla 2×2 están predeterminados por el diseño del estudio. Esta condición no es una limitación artificial, sino que refleja muchas situaciones experimentales reales donde:

  • El número de sujetos en cada grupo está fijado por el investigador
  • El número total de eventos está limitado por restricciones experimentales
  • Ambos tipos de restricciones operan simultáneamente

Matemáticamente, si tenemos una tabla 2×2:

Grupo 1 Grupo 2 Total
Éxito a b a + b
Fracaso c d c + d
Total a + c b + d N

Y los marginales están fijos, entonces la probabilidad de observar exactamente \(a\) éxitos en el grupo 1 está dada por:

\[P(X = a) = \frac{\binom{a+b}{a} \binom{c+d}{c}}{\binom{N}{a+c}}\]

Esta fórmula encapsula la esencia del razonamiento hipergeométrico: de todas las maneras posibles de distribuir los éxitos entre los grupos, manteniendo fijos los totales marginales, ¿cuál es la probabilidad de la configuración específica observada?

Hipótesis de Independencia vs Homogeneidad

El test de Fisher puede interpretarse desde dos perspectivas estadísticas relacionadas pero conceptualmente distintas:

  1. Independencia: Las variables fila y columna son independientes
  2. Homogeneidad: Las proporciones de éxito son iguales entre grupos

Estas interpretaciones convergen matemáticamente pero reflejan diferentes contextos experimentales y preguntas de investigación.

2.2 Ejemplo Paradigmático: Resistencia de Especies de Caracol

Para ilustrar los principios del test de Fisher, analizaremos un experimento ecológico clásico que examina la capacidad diferencial de resistencia a corrientes acuáticas entre dos especies de caracol. Este ejemplo es particularmente instructivo porque representa un diseño experimental con marginales naturalmente fijos.

Diseño Experimental y Justificación Biológica

El estudio se origina en preguntas fundamentales de ecología evolutiva: ¿Cómo han evolucionado diferentes especies para adaptarse a presiones ambientales específicas? En ecosistemas acuáticos, la capacidad de resistir corrientes fuertes es un rasgo adaptativo crucial que puede determinar el éxito reproductivo y la supervivencia.

Protocolo experimental:

  • Sujetos: 30 caracoles marcados individualmente (19 de la especie 1, 11 de la especie 2)
  • Intervención: Exposición controlada a corriente estandarizada
  • Endpoint: Capacidad de mantener adherencia al sustrato vs ser arrastrado
  • Restricción del diseño: El experimento termina cuando exactamente 16 caracoles han sido arrastrados

Esta última condición es crucial: crea un diseño con ambos marginales fijos. El número de caracoles por especie está fijado por el investigador, y el número total de arrastrados está fijado por el protocolo experimental.

# Configuración de datos del experimento
caracoles <- matrix(c(12, 7, 2, 9), nrow = 2, byrow = TRUE)
rownames(caracoles) <- c("Especie 1", "Especie 2")
colnames(caracoles) <- c("Resisten", "Ceden")

print("Tabla de Contingencia: Resistencia por Especie")
## [1] "Tabla de Contingencia: Resistencia por Especie"
print(caracoles)
##           Resisten Ceden
## Especie 1       12     7
## Especie 2        2     9
# Extraer información básica
total_caracoles <- sum(caracoles)
esp1_total <- sum(caracoles[1,])
esp2_total <- sum(caracoles[2,])
total_resisten <- sum(caracoles[,1])
total_ceden <- sum(caracoles[,2])

Análisis Descriptivo Inicial

Los datos revelan un patrón aparentemente claro: la Especie 1 muestra una tasa de resistencia del 63.2% (12/19), mientras que la Especie 2 presenta solo un 18.2% (2/11) de resistencia.

Sin embargo, la pregunta estadística fundamental permanece: ¿Podría esta diferencia observada ser resultado del azar, o proporciona evidencia convincente de una diferencia real en capacidades adaptativas entre especies?

2.3 Mecánica del Test: Del Concepto al Cálculo

Enumeración del Espacio Muestral

El poder del test de Fisher radica en su capacidad para enumerar exactamente todos los resultados posibles bajo la hipótesis nula. Dado que los marginales están fijos, el valor de una sola celda (convencionalmente \(a\)) determina completamente toda la tabla.

Para nuestros datos, con marginales fijos en 19, 11, 14, y 16, el valor de \(a\) (número de Especie 1 que resisten) puede variar desde un mínimo de 3 hasta un máximo de 14.

# Definir función para probabilidad exacta
fisher_probability <- function(a, fila1_total, col1_total, total_general) {
  b <- fila1_total - a
  c <- col1_total - a
  d <- total_general - a - b - c
  
  choose(fila1_total, a) * choose(total_general - fila1_total, c) / choose(total_general, col1_total)
}

# Calcular rango posible y probabilidades
min_a <- max(0, esp1_total + total_resisten - total_caracoles)
max_a <- min(esp1_total, total_resisten)
valores_posibles <- min_a:max_a

# Calcular probabilidades para todos los valores posibles
probabilidades <- sapply(valores_posibles, function(x) {
  fisher_probability(x, esp1_total, total_resisten, total_caracoles)
})

# Valor observado y su probabilidad
a_observado <- caracoles[1,1]
prob_observada <- fisher_probability(a_observado, esp1_total, total_resisten, total_caracoles)

# Ejecutar test automático para comparación
fisher_result <- fisher.test(caracoles)

Interpretación de la Distribución Null

Bajo la hipótesis nula de no diferencia entre especies, cada configuración posible de la tabla tiene una probabilidad específica calculable. La distribución resultante es altamente asimétrica, reflejando las restricciones combinatorias del problema.

Valor observado: \(a = 12\) con probabilidad \(P(X = 12) = 0.019057\)

Valores más extremos: Para calcular el valor p de dos colas, necesitamos identificar todos los valores de \(a\) cuyas probabilidades son menores o iguales a la probabilidad observada.

Cálculo del Valor p

# Identificar valores extremos para test de dos colas
valores_extremos <- valores_posibles[probabilidades <= prob_observada]
p_value_exacto <- sum(probabilidades[probabilidades <= prob_observada])

print(paste("Probabilidad del valor observado:", sprintf("%.6f", prob_observada)))
## [1] "Probabilidad del valor observado: 0.019057"
print(paste("Valor p exacto (dos colas):", sprintf("%.6f", p_value_exacto)))
## [1] "Valor p exacto (dos colas): 0.025887"
print(paste("Valor p de R:", sprintf("%.6f", fisher_result$p.value)))
## [1] "Valor p de R: 0.025887"

2.4 Interpretación Estadística y Biológica

Decisión Estadística

Con un valor p de 0.0259, que es menor que el nivel de significancia convencional de 0.05, rechazamos la hipótesis nula. Esto significa que la diferencia observada en capacidades de resistencia entre especies es estadísticamente significativa al nivel del 5%.

Cuantificación de la Asociación: Odds Ratio

El odds ratio proporciona una medida interpretable de la fortaleza de la asociación:

\[OR = \frac{a \times d}{b \times c} = \frac{12 \times 9}{7 \times 2} = 7.17\]

Interpretación: Las probabilidades de resistir para la Especie 1 son aproximadamente 7.2 veces las probabilidades de resistir para la Especie 2.

Intervalo de confianza: [1.05, 87.14] - Como no incluye 1, confirma la significancia estadística.

Implicaciones Biológicas

Los resultados sugieren una diferencia evolutiva real en adaptaciones para resistir corrientes acuáticas. Esto podría reflejar:

  1. Diferencias morfológicas: Variaciones en forma corporal, superficie de adherencia, o mecanismos de sujeción
  2. Adaptaciones comportamentales: Diferentes estrategias de respuesta ante estrés hidrodinámico
  3. Presiones selectivas históricas: Exposición diferencial a ambientes de alta corriente durante la evolución de las especies
  4. Compromisos evolutivos: La resistencia a corrientes podría estar asociada con costos en otros rasgos adaptativos

2.5 Visualización y Comunicación de Resultados

# Crear visualización comprehensiva
library(ggplot2)
library(dplyr)

# Preparar datos para gráficos
datos_especies <- as.data.frame(as.table(caracoles))
names(datos_especies) <- c("Especie", "Respuesta", "Frecuencia")

# Calcular proporciones
datos_prop <- datos_especies %>%
  group_by(Especie) %>%
  mutate(Proporcion = Frecuencia / sum(Frecuencia),
         Total = sum(Frecuencia))

# Gráfico de proporciones con intervalos de confianza
p1 <- ggplot(datos_prop %>% filter(Respuesta == "Resisten"), 
             aes(x = Especie, y = Proporcion)) +
  geom_bar(stat = "identity", fill = "#3460A1", alpha = 0.8, width = 0.6) +
  geom_text(aes(label = paste0(round(Proporcion*100, 1), "%\n(", Frecuencia, "/", Total, ")")), 
            vjust = -0.5, size = 4, fontface = "bold") +
  labs(title = "Proporción de Resistencia por Especie",
       subtitle = paste("Test exacto de Fisher: p =", sprintf("%.4f", fisher_result$p.value)),
       x = "Especie de Caracol",
       y = "Proporción que Resiste") +
  ylim(0, 1) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
        plot.subtitle = element_text(hjust = 0.5, size = 12))

print(p1)

# Gráfico de la distribución hipergeométrica
dist_df <- data.frame(
  a = valores_posibles,
  probabilidad = probabilidades,
  tipo = ifelse(valores_posibles == a_observado, "Observado",
                ifelse(probabilidades <= prob_observada, "Extremo", "Regular"))
)

p2 <- ggplot(dist_df, aes(x = a, y = probabilidad, fill = tipo)) +
  geom_bar(stat = "identity", alpha = 0.8) +
  scale_fill_manual(values = c("Extremo" = "#FF6B35", "Observado" = "#FF3B30", "Regular" = "#3460A1")) +
  labs(title = "Distribución Hipergeométrica bajo H₀",
       x = "Número de Especie 1 que Resisten (a)",
       y = "Probabilidad",
       fill = "Tipo") +
  theme_minimal()

print(p2)

Comunicación Efectiva de Resultados

La visualización revela aspectos cruciales que complementan el análisis estadístico:

  1. Magnitud del efecto: La diferencia en proporciones (45 puntos porcentuales) es sustancial y biológicamente significativa

  2. Distribución null: El valor observado está claramente en la cola de la distribución esperada bajo independencia

  3. Robustez: El resultado se mantendría significativo incluso con pequeñas variaciones en los datos observados

2.6 Comparación con Métodos Alternativos

Test de Fisher vs Chi-cuadrado

Para estos datos, un test chi-cuadrado de Pearson produciría resultados similares, pero con diferencias importantes:

  • Precisión: Fisher proporciona probabilidades exactas; chi-cuadrado usa aproximaciones
  • Supuestos: Fisher no requiere frecuencias mínimas; chi-cuadrado asume celdas con al menos 5 observaciones esperadas
  • Conservadurismo: Fisher tiende a ser ligeramente más conservador

Consideraciones sobre Poder Estadístico

El test de Fisher, al ser exacto, puede ser más conservador que las aproximaciones asintóticas, especialmente con muestras pequeñas. Sin embargo, esta conservadurismo es el precio de la precisión exacta y el control estricto del error tipo I.

2.7 Limitaciones y Consideraciones Metodológicas

Supuesto de Marginales Fijos

La validez del test de Fisher depende crucialmente del supuesto de que los marginales están fijos por el diseño experimental. En nuestro ejemplo, esto se satisface claramente, pero en otros contextos puede ser cuestionable:

  • ¿Están realmente fijos los marginales por el diseño?
  • ¿O son el resultado de un proceso de muestreo aleatorio?

La respuesta afecta tanto la validez como la interpretación del test.

Interpretación Causal

Como con todos los tests de asociación, el test de Fisher establece asociación estadística, no causalidad. En el contexto biológico, la diferencia observada podría reflejar:

  • Causalidad directa: Diferencias genéticas que afectan capacidades físicas
  • Variables confusoras: Diferencias en tamaño, edad, o condición que correlacionan con especie
  • Artefactos experimentales: Diferencias sistemáticas no controladas en el manejo de especies

Generalización de Resultados

Los resultados se limitan estrictamente a: - Las especies específicas estudiadas - Las condiciones experimentales particulares - El rango de corrientes testado

La extrapolación a otras especies, condiciones ambientales, o contextos ecológicos requiere estudios adicionales.

2.8 Extensiones y Desarrollos Modernos

Test de Fisher para Tablas Mayores

Aunque desarrollado para tablas 2×2, el principio del test de Fisher se extiende a tablas de dimensiones mayores, aunque la complejidad computacional crece exponencialmente. Para tablas 2×k, el test sigue siendo computacionalmente factible y se implementa en software estadístico moderno.

Tests Condicionales y Métodos Exactos

El test de Fisher forma parte de una familia más amplia de métodos estadísticos exactos que han experimentado un renacimiento en la era de la computación intensiva. Estos métodos proporcionan alternativas exactas a aproximaciones asintóticas cuando la precisión es crucial.

Consideraciones Computacionales Modernas

Con el poder computacional actual, las limitaciones históricas del test de Fisher (cálculo intensivo) han desaparecido en gran medida. Esto ha llevado a un uso más amplio en situaciones donde la precisión exacta es valorada sobre la conveniencia computacional.

El test exacto de Fisher representa una elegante solución a un problema estadístico fundamental, proporcionando una base sólida para la inferencia en situaciones donde otros métodos pueden ser inadecuados. Su precisión exacta y fundamento teórico riguroso lo mantienen como una herramienta esencial en el arsenal estadístico, especialmente valioso cuando las decisiones tienen consecuencias importantes y se requiere el más alto nivel de rigor estadístico.

3. Test de McNemar

El test de McNemar es un test no paramétrico específicamente diseñado para analizar la asociación en tablas 2×2 cuando los datos son pareados. A diferencia del test de Fisher que asume independencia entre observaciones, el test de McNemar reconoce y maneja la dependencia inherente que existe cuando las mismas unidades experimentales son observadas bajo dos condiciones diferentes o en dos momentos distintos.

3.1 Fundamento Teórico

Estructura de Datos Pareados

El test de McNemar se aplica cuando tenemos mediciones repetidas en los mismos sujetos, creando una estructura de dependencia que otros tests no pueden manejar apropiadamente. La tabla resultante tiene la forma:

Después + Después - Total
Antes + a b a + b
Antes - c d c + d
Total a + c b + d N

Donde:

  • a: casos positivos en ambas mediciones (concordancia positiva)
  • b: casos que cambian de positivo a negativo
  • c: casos que cambian de negativo a positivo
  • d: casos negativos en ambas mediciones (concordancia negativa)

Hipótesis del Test

El test de McNemar evalúa la homogeneidad marginal, específicamente:

  • \(H_0\): \(P(+|Antes) = P(+|Después)\) - Las proporciones marginales son iguales
  • \(H_1\): \(P(+|Antes) \neq P(+|Después)\) - Las proporciones marginales son diferentes

Matemáticamente, esto equivale a probar si \(p_b = p_c\), donde \(p_b\) es la probabilidad de cambiar de positivo a negativo y \(p_c\) es la probabilidad de cambiar de negativo a positivo.

Estadística de Prueba

La estadística de McNemar se enfoca únicamente en los casos discordantes (b y c), ya que solo estos proporcionan información sobre el cambio:

\[\chi^2 = \frac{(b-c)^2}{b+c} \sim \chi^2_1\]

Esta estadística sigue una distribución chi-cuadrado con 1 grado de libertad bajo la hipótesis nula. Para muestras pequeñas (cuando \(b + c < 20\)), se recomienda usar la corrección por continuidad de Yates:

\[\chi^2_{corregida} = \frac{(|b-c|-1)^2}{b+c}\]

3.2 Ejemplo: Ensayos de Aptitud en Química Clínica

Los ensayos de aptitud son evaluaciones externas fundamentales para el control de calidad en laboratorios clínicos. En estos programas, los laboratorios analizan muestras idénticas y sus resultados son evaluados mediante diferentes criterios para determinar si el desempeño es satisfactorio o no satisfactorio.

Contexto del Estudio

En este ejemplo específico, analizamos datos de un ensayo de aptitud para la determinación de ácido úrico, donde cada laboratorio participante es evaluado simultáneamente por dos métodos:

  1. Método de Consenso: Basado en el valor promedio de todos los laboratorios participantes
  2. Método de Valor de Referencia: Basado en un valor de referencia certificado obtenido mediante métodos de referencia

La pregunta de investigación es: ¿Producen estos dos métodos de evaluación la misma proporción de laboratorios clasificados como satisfactorios?

# Datos del ejemplo de ensayos de aptitud (Ácido Úrico)
aptitud <- matrix(c(918, 253, 319, 11033), nrow = 2, byrow = TRUE)
rownames(aptitud) <- c("Consenso Satisf", "Consenso No Satisf")
colnames(aptitud) <- c("VR Satisf", "VR No Satisf")

print("Comparacion: Consenso vs Valores de Referencia (Acido Urico)")
## [1] "Comparacion: Consenso vs Valores de Referencia (Acido Urico)"
print(aptitud)
##                    VR Satisf VR No Satisf
## Consenso Satisf          918          253
## Consenso No Satisf       319        11033
total_casos <- sum(aptitud)
concordantes <- aptitud[1,1] + aptitud[2,2]
discordantes <- aptitud[1,2] + aptitud[2,1]

Interpretación de la Tabla

Los datos revelan varios aspectos importantes:

  • Alta concordancia general: 95.4% de los laboratorios reciben la misma clasificación por ambos métodos
  • Casos discordantes: 572 laboratorios (4.6%) reciben clasificaciones diferentes
  • Patrón de discordancia: 253 laboratorios son satisfactorios según consenso pero no según valor de referencia, mientras que 319 muestran el patrón opuesto

Esta asimetría en los casos discordantes sugiere que uno de los métodos puede ser sistemáticamente más estricto que el otro.

3.3 Aplicación del Test de McNemar

Verificación de Supuestos

Antes de aplicar el test, debemos verificar sus supuestos principales:

  1. Datos pareados: ✓ Cada laboratorio es evaluado por ambos métodos
  2. Variables dicotómicas: ✓ Satisfactorio vs No satisfactorio
  3. Independencia entre pares: ✓ Los laboratorios son independientes entre sí
  4. Tamaño de muestra adecuado: ✓ \(b + c = 572 >> 20\)
# Calcular estadística de McNemar
b <- aptitud[1,2]  # Consenso Satisf, VR No Satisf
c <- aptitud[2,1]  # Consenso No Satisf, VR Satisf

mcnemar_stat <- (b - c)^2 / (b + c)
mcnemar_result <- mcnemar.test(aptitud)

Resultados del Test

El cálculo manual de la estadística de McNemar produce \(\chi^2 = 7.62\), que coincide exactamente con el resultado automático de R. Con un valor p de 6.572022e-03, rechazamos fuertemente la hipótesis nula.

Interpretación Estadística

El resultado altamente significativo (\(p < 2.2 \times 10^{-16}\)) indica que existe una diferencia sistemática entre los dos métodos de evaluación. Específicamente:

  • El método de consenso clasifica como satisfactorios a 253 laboratorios que el valor de referencia considera no satisfactorios
  • El valor de referencia clasifica como satisfactorios a 319 laboratorios que el consenso considera no satisfactorios
  • La diferencia neta de 66 casos discordantes es estadísticamente significativa

3.4 Análisis de Rendimiento Diagnóstico

Cuando el test de McNemar se aplica en el contexto de evaluación de métodos diagnósticos, podemos calcular métricas adicionales que proporcionan información sobre la concordancia y el rendimiento relativo de los métodos.

# Calcular métricas diagnósticas usando VR como referencia
VP <- aptitud[1,1]  # Verdaderos Positivos
FP <- aptitud[1,2]  # Falsos Positivos  
FN <- aptitud[2,1]  # Falsos Negativos
VN <- aptitud[2,2]  # Verdaderos Negativos

sensibilidad <- VP / (VP + FN)
especificidad <- VN / (VN + FP)
vpp <- VP / (VP + FP)
vpn <- VN / (FN + VN)

Interpretación de las Métricas

Las métricas calculadas revelan el comportamiento del método de consenso comparado con el valor de referencia:

  • Sensibilidad (74.2%): Capacidad del consenso para identificar correctamente los laboratorios que el valor de referencia considera satisfactorios
  • Especificidad (97.8%): Capacidad del consenso para identificar correctamente los laboratorios que el valor de referencia considera no satisfactorios
  • Valor Predictivo Positivo (78.4%): Probabilidad de que un laboratorio clasificado como satisfactorio por consenso sea realmente satisfactorio según el valor de referencia
  • Valor Predictivo Negativo (97.2%): Probabilidad de que un laboratorio clasificado como no satisfactorio por consenso sea realmente no satisfactorio según el valor de referencia

Implicaciones Prácticas

Los resultados sugieren que el método de consenso tiende a ser más permisivo que el valor de referencia, clasificando como satisfactorios a más laboratorios. Esto tiene implicaciones importantes para:

  1. Gestión de calidad: Los laboratorios podrían recibir señales contradictorias sobre su desempeño
  2. Política de evaluación: Se requiere una decisión sobre cuál método usar como estándar
  3. Interpretación clínica: Las diferencias podrían reflejar limitaciones inherentes de cada método

3.5 Comparación con Otros Tests

McNemar vs Fisher

Es crucial entender por qué el test de McNemar es apropiado para estos datos en lugar del test de Fisher:

  • Independencia: El test de Fisher asume que las 1.2523^{4} observaciones son independientes, pero aquí cada laboratorio contribuye con dos observaciones relacionadas
  • Estructura de dependencia: McNemar reconoce que las observaciones están pareadas y ajusta la inferencia apropiadamente
  • Poder estadístico: McNemar es más poderoso para detectar cambios sistemáticos en datos pareados

McNemar vs Chi-cuadrado de Pearson

El test chi-cuadrado de Pearson también sería inapropiado porque:

  • No reconoce la estructura pareada de los datos
  • Subestimaría la variabilidad real debido a la dependencia
  • Podría llevar a conclusiones erróneas sobre la significancia

3.6 Limitaciones y Consideraciones

Limitaciones del Test

  1. Solo evalúa homogeneidad marginal: No proporciona información sobre el grado de concordancia absoluta
  2. Sensible al tamaño de muestra: Con muestras muy grandes, diferencias pequeñas pueden ser estadísticamente significativas pero no prácticamente importantes
  3. No identifica la dirección del sesgo: Requiere análisis adicional para determinar cuál método es más estricto

Consideraciones para la Interpretación

En el contexto de ensayos de aptitud, la significancia estadística debe balancearse con la relevancia práctica:

  • ¿Es la diferencia observada clínicamente importante?
  • ¿Justifica la diferencia un cambio en los procedimientos de evaluación?
  • ¿Cómo afecta esto a los laboratorios participantes?

3.7 Extensiones del Test de McNemar

Test de McNemar para Tablas Mayores

Para tablas de contingencia k×k con datos pareados, se puede usar la generalización:

\[\chi^2 = \sum_{i \neq j} \frac{(n_{ij} - n_{ji})^2}{n_{ij} + n_{ji}}\]

Tests Exactos

Para muestras pequeñas donde \(b + c < 20\), se pueden usar tests exactos basados en la distribución binomial, evaluando directamente \(P(X \geq \text{mín}(b,c))\) donde \(X \sim \text{Binomial}(b+c, 0.5)\).

El test de McNemar representa una herramienta fundamental para el análisis de datos pareados en tablas de contingencia, proporcionando una base rigurosa para evaluar cambios sistemáticos en proporciones cuando las observaciones no son independientes.

4. Test de Independencia Chi-cuadrado

El test de independencia chi-cuadrado es la extensión natural de los tests para tablas 2×2 hacia el análisis de asociación en tablas de contingencia de dimensiones arbitrarias r×c. Este test se fundamenta en la comparación entre las frecuencias observadas y las frecuencias que esperaríamos encontrar si las variables fueran completamente independientes, proporcionando una medida objetiva de la fuerza de asociación entre variables categóricas.

4.1 Fundamento Teórico

Principio de Independencia Estadística

Dos variables categóricas A y B son estadísticamente independientes si la probabilidad conjunta de cualquier combinación de sus categorías es igual al producto de las probabilidades marginales:

\[P(A_i \cap B_j) = P(A_i) \times P(B_j)\]

Esta condición matemática tiene una interpretación práctica importante: si las variables son independientes, conocer el valor de una variable no proporciona información alguna sobre el valor probable de la otra variable.

Construcción de la Estadística de Prueba

La lógica del test se basa en comparar lo que observamos versus lo que esperaríamos bajo independencia. Para una tabla r×c, si las variables fueran independientes, la frecuencia esperada en cada celda (i,j) sería:

\[E_{ij} = \frac{R_i \times C_j}{N}\]

donde \(R_i\) es el total marginal de la fila i, \(C_j\) es el total marginal de la columna j, y N es el total general.

La estadística de prueba mide qué tan lejos están las frecuencias observadas de las esperadas:

\[\chi^2 = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\]

Bajo la hipótesis nula de independencia, esta estadística sigue aproximadamente una distribución chi-cuadrado con \((r-1)(c-1)\) grados de libertad.

Grados de Libertad e Interpretación

Los grados de libertad \((r-1)(c-1)\) reflejan el número de celdas de la tabla que pueden variar libremente una vez que se fijan los totales marginales. Esta restricción es crucial para entender por qué no todas las celdas contribuyen independientemente a la estadística de prueba.

4.2 Ejemplo: Tipo de Sangre y Severidad de Enfermedad

Para ilustrar el test de independencia, analizaremos datos de un estudio hospitalario que examina la posible asociación entre el tipo de sangre ABO de los pacientes y la severidad de una enfermedad específica. Este ejemplo es particularmente relevante porque explora una pregunta médica real: ¿existe alguna predisposición genética relacionada con el tipo de sangre que influence la progresión de ciertas enfermedades?

Contexto Médico del Estudio

El sistema ABO de grupos sanguíneos es uno de los sistemas de antígenos más importantes en medicina, determinado genéticamente y estable a lo largo de la vida. Diversos estudios han sugerido posibles asociaciones entre tipos sanguíneos y susceptibilidad a diferentes enfermedades, desde infecciones hasta trastornos cardiovasculares y cáncer.

En este estudio hospitalario, se clasificaron 1500 pacientes según:

  • Variable predictora: Tipo de sangre (A, B, AB, O)
  • Variable de desenlace: Severidad de la enfermedad (Ausente, Suave, Severa)
  • Diseño: Estudio transversal con muestreo consecutivo

La hipótesis biológica subyacente es que ciertos tipos sanguíneos podrían estar asociados con diferentes patrones de respuesta inmunológica o susceptibilidad genética que influencien la severidad de la enfermedad.

# Datos del estudio: Tipo de sangre vs Severidad de enfermedad
sangre_severidad <- matrix(c(
  543, 211, 90, 476,  # Ausente
  44, 22, 8, 31,      # Suave  
  28, 9, 7, 31        # Severa
), nrow = 3, byrow = TRUE)

rownames(sangre_severidad) <- c("Ausente", "Suave", "Severa")
colnames(sangre_severidad) <- c("A", "B", "AB", "O")

print("Tabla de Contingencia: Tipo de Sangre vs Severidad de Enfermedad")
## [1] "Tabla de Contingencia: Tipo de Sangre vs Severidad de Enfermedad"
print(sangre_severidad)
##           A   B AB   O
## Ausente 543 211 90 476
## Suave    44  22  8  31
## Severa   28   9  7  31
# Calcular totales marginales
marginales_severidad <- rowSums(sangre_severidad)
marginales_sangre <- colSums(sangre_severidad)
total_pacientes <- sum(sangre_severidad)

Análisis Descriptivo Inicial

Los datos revelan patrones interesantes que merecen exploración estadística formal. La distribución de tipos sanguíneos en la muestra (41%, 16.1%, 7%, 35.9% para A, B, AB, O respectivamente) es consistente con las frecuencias poblacionales típicas en muchas poblaciones.

Más relevante para nuestra pregunta de investigación es la distribución de severidad: 88% de pacientes no presenta síntomas, 7% presenta severidad suave, y 5% presenta severidad severa.

La pregunta crucial es si estas proporciones se mantienen constantes across los diferentes tipos sanguíneos, o si algunos tipos muestran mayor tendencia hacia severidades específicas.

4.3 Cálculo de Frecuencias Esperadas

El paso fundamental en el test de independencia es calcular qué frecuencias esperaríamos en cada celda si el tipo de sangre y la severidad de la enfermedad fueran completamente independientes.

# Calcular frecuencias esperadas bajo independencia
chi_test <- chisq.test(sangre_severidad)
frecuencias_esperadas <- chi_test$expected

Interpretación de las Frecuencias Esperadas

Las frecuencias esperadas representan el escenario de independencia perfecta. Por ejemplo, si no hubiera asociación, esperaríamos que el 88% de pacientes con tipo A (es decir, 541.2 pacientes) no presentaran síntomas, simplemente porque esa es la proporción global de casos asintomáticos.

La comparación visual entre frecuencias observadas y esperadas puede ser muy reveladora:

  • Tipo A, Severidad Ausente: Observado = 543, Esperado = 541.2
  • Tipo O, Severidad Severa: Observado = 31, Esperado = 26.9

Las discrepancias sistemáticas entre valores observados y esperados sugieren patrones de asociación que el test formal cuantificará.

4.4 Aplicación del Test y Resultados

# Ejecutar test de independencia
print("Resultados del Test de Independencia Chi-cuadrado")
## [1] "Resultados del Test de Independencia Chi-cuadrado"
print(paste("Chi-cuadrado:", round(chi_test$statistic, 4)))
## [1] "Chi-cuadrado: 5.1163"
print(paste("Grados de libertad:", chi_test$parameter))
## [1] "Grados de libertad: 6"
print(paste("Valor p:", format(chi_test$p.value, scientific = TRUE)))
## [1] "Valor p: 5.289905e-01"
# Calcular residuos estandarizados
residuos <- chi_test$residuals

Interpretación de los Resultados

El test produce un valor de chi-cuadrado de 5.12 con 6 grados de libertad, resultando en un valor p de 5.289905e-01. Este resultado altamente significativo (\(p < 0.001\)) proporciona evidencia convincente contra la hipótesis nula de independencia.

Sin embargo, la significancia estadística por sí sola no nos dice dónde están las asociaciones más fuertes ni cuál es su naturaleza. Para esto, necesitamos examinar los residuos estandarizados.

Análisis de Residuos Estandarizados

Los residuos estandarizados miden cuántas desviaciones estándar se alejan las frecuencias observadas de las esperadas:

\[r_{ij} = \frac{O_{ij} - E_{ij}}{\sqrt{E_{ij}}}\]

Valores absolutos mayores a 2 sugieren contribuciones importantes a la estadística chi-cuadrado. En nuestros datos:

  • Residuos más positivos (frecuencias observadas > esperadas): Indican combinaciones que ocurren más frecuentemente de lo esperado
  • Residuos más negativos (frecuencias observadas < esperadas): Indican combinaciones que ocurren menos frecuentemente de lo esperado

El patrón de residuos revela la naturaleza específica de las asociaciones encontradas.

4.5 Visualización y Patrones de Asociación

# Crear visualización comprehensiva
library(ggplot2)
library(dplyr)

# Convertir datos para visualización
datos_long <- as.data.frame(as.table(sangre_severidad))
names(datos_long) <- c("Severidad", "TipoSangre", "Frecuencia")

# Calcular proporciones por tipo de sangre
datos_prop <- datos_long %>%
  group_by(TipoSangre) %>%
  mutate(Proporcion = Frecuencia / sum(Frecuencia))

# Gráfico de proporciones apiladas
p1 <- ggplot(datos_prop, aes(x = TipoSangre, y = Proporcion, fill = Severidad)) +
  geom_bar(stat = "identity", position = "stack") +
  scale_fill_manual(values = c("Ausente" = "#3460A1", "Suave" = "#4F84CF", "Severa" = "#FF6B35")) +
  labs(title = "Distribución de Severidad por Tipo de Sangre",
       x = "Tipo de Sangre",
       y = "Proporción",
       fill = "Severidad") +
  theme_minimal()

print(p1)

# Mapa de calor de residuos
residuos_df <- as.data.frame(as.table(residuos))
names(residuos_df) <- c("Severidad", "TipoSangre", "Residuo")

p2 <- ggplot(residuos_df, aes(x = TipoSangre, y = Severidad, fill = Residuo)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(low = "#4F84CF", high = "#FF6B35", mid = "white", 
                       midpoint = 0, name = "Residuo\nEstandarizado") +
  labs(title = "Mapa de Calor: Residuos Estandarizados",
       x = "Tipo de Sangre",
       y = "Severidad") +
  theme_minimal()

print(p2)

Interpretación de Patrones Visuales

Las visualizaciones revelan patrones específicos en la asociación:

  1. Distribución heterogénea: Las proporciones de severidad no son constantes across tipos sanguíneos, confirmando la asociación estadística

  2. Patrones de residuos: El mapa de calor identifica las combinaciones que más contribuyen a la significancia del test

  3. Implicaciones clínicas: Ciertos tipos sanguíneos podrían estar asociados con mayor o menor riesgo de desarrollar formas severas de la enfermedad

4.6 Fortaleza de la Asociación

Aunque el test chi-cuadrado determina si existe asociación, no cuantifica directamente su fortaleza. Para esto, podemos calcular medidas de asociación complementarias.

V de Cramér

La V de Cramér es una medida normalizada de asociación que varía entre 0 (independencia completa) y 1 (asociación perfecta):

\[V = \sqrt{\frac{\chi^2}{N \times \min(r-1, c-1)}}\]

# Calcular V de Cramér
cramer_v <- sqrt(chi_test$statistic / (total_pacientes * min(nrow(sangre_severidad)-1, ncol(sangre_severidad)-1)))

Para nuestros datos, V = 0.041, lo que indica una asociación de magnitud pequeña según los criterios convencionales (pequeña: < 0.1, moderada: 0.1-0.3, fuerte: > 0.3).

Interpretación de la Fortaleza

Una V de Cramér de 0.041 sugiere que, aunque la asociación es estadísticamente significativa, la magnitud práctica es relativamente modesta. Esto significa que:

  • El tipo de sangre explica aproximadamente 0.2% de la variación en severidad de la enfermedad
  • Existen otros factores más importantes que determinan la severidad
  • La asociación encontrada, aunque real, no es suficientemente fuerte para hacer predicciones individuales precisas

4.7 Consideraciones Metodológicas

Supuestos del Test

El test de independencia chi-cuadrado requiere varios supuestos importantes:

  1. Independencia de observaciones: Cada paciente debe contribuir con una sola observación
  2. Frecuencias esperadas adecuadas: Tradicionalmente, se requiere que al menos 80% de las celdas tengan frecuencias esperadas ≥ 5
  3. Muestreo apropiado: Los datos deben provenir de una muestra representativa de la población de interés

En nuestro ejemplo, estos supuestos se satisfacen razonablemente bien, con frecuencias esperadas mínimas de 5.2.

Limitaciones e Interpretación Causal

Es crucial recordar que la asociación estadística no implica causalidad. Las posibles explicaciones para la asociación encontrada incluyen:

  1. Causalidad directa: El tipo de sangre influye biológicamente en la severidad
  2. Variables confusoras: Factores genéticos o demográficos asociados tanto con tipo de sangre como con severidad
  3. Sesgo de selección: Patrones no aleatorios en el reclutamiento hospitalario
  4. Azar: Aunque estadísticamente improbable dado el valor p

Extensiones y Tests Alternativos

Para tablas con frecuencias esperadas pequeñas, se pueden considerar:

  • Test exacto de Freeman-Halton: Extensión del test exacto de Fisher para tablas r×c
  • Simulación Monte Carlo: Aproximación de la distribución null mediante simulación
  • Tests de tendencia: Cuando las variables tienen un orden natural

4.8 Implicaciones Clínicas y de Investigación

Relevancia Médica

Los hallazgos de asociación entre tipo de sangre y severidad de enfermedad tienen varias implicaciones potenciales:

  1. Estratificación de riesgo: Podría informar estrategias de monitoreo diferencial según tipo sanguíneo
  2. Investigación mecanística: Sugiere direcciones para estudios sobre bases biológicas de la asociación
  3. Medicina personalizada: Podría contribuir a algoritmos de predicción de riesgo más sofisticados

Limitaciones para la Práctica Clínica

Sin embargo, la magnitud modesta de la asociación limita su aplicación clínica inmediata:

  • El tipo de sangre por sí solo no es un predictor suficientemente fuerte
  • Se requieren estudios adicionales para confirmar y explicar la asociación
  • La utilidad clínica dependería de la integración con otros factores de riesgo

4.9 Comparación con Otros Enfoques

Versus Tests para Tablas 2×2

El test de independencia general ofrece ventajas sobre el análisis fragmentado en múltiples tests 2×2:

  • Control del error tipo I: Evita el problema de comparaciones múltiples
  • Poder estadístico: Utiliza toda la información disponible simultáneamente
  • Interpretación coherente: Proporciona una evaluación global de asociación

Versus Modelos de Regresión

Aunque más sofisticados, los modelos de regresión logística podrían proporcionar:

  • Ajuste por confusores: Control simultáneo de múltiples variables
  • Cuantificación de efectos: Odds ratios específicos para cada comparación
  • Flexibilidad: Manejo de variables continuas y categóricas

El test chi-cuadrado de independencia representa una herramienta fundamental para el análisis exploratorio de asociaciones en datos categóricos, proporcionando una base sólida para investigaciones más sofisticadas y decisiones sobre direcciones futuras de investigación.

5. Comparación de Métodos

5.1 Tabla Resumen

comparacion <- data.frame(
  Test = c("Fisher Exacto", "McNemar", "Chi-cuadrado"),
  Aplicación = c("Tablas 2×2", "Muestras pareadas", "Tablas r×c"),
  Condiciones = c("Marginales fijos", "Homogeneidad marginal", "Variables categóricas"),
  Estadística = c("Exacta", "χ²₁", "χ²₍ᵣ₋₁₎₍ᶜ₋₁₎"),
  `Tamaño mínimo` = c("Cualquiera", "≥ 20 discordantes", "E ≥ 5 en 80% celdas")
)

kable(comparacion, 
      caption = "Comparación de Tests No Paramétricos para Tablas de Contingencia") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  column_spec(1, bold = TRUE, color = "#2c3e50") %>%
  row_spec(0, bold = TRUE, color = "white", background = "#3460A1")
Comparación de Tests No Paramétricos para Tablas de Contingencia
Test Aplicación Condiciones Estadística Tamaño.mínimo
Fisher Exacto Tablas 2×2 Marginales fijos Exacta Cualquiera
McNemar Muestras pareadas Homogeneidad marginal χ²₁ ≥ 20 discordantes
Chi-cuadrado Tablas r×c Variables categóricas χ²₍ᵣ₋₁₎₍ᶜ₋₁₎ E ≥ 5 en 80% celdas

5.2 Recomendaciones Prácticas

Guía de Selección:
  1. Tablas 2×2 pequeñas: Test exacto de Fisher
  2. Datos pareados: Test de McNemar
  3. Tablas grandes (r×c): Test Chi-cuadrado
  4. Dudas sobre supuestos: Usar tests exactos cuando sea posible

5. Conclusiones

Puntos Clave

  • Selección correcta: El test apropiado depende del diseño y tamaño de muestra
  • Interpretación: Siempre considerar el contexto práctico además de la significancia estadística
  • Verificación: Comprobar supuestos antes de aplicar cada test
  • Visualización: Los gráficos complementan y facilitan la interpretación

Referencias y Material Adicional

  • Agresti, A. (2018). An Introduction to Categorical Data Analysis
  • Presentación Clase, Ramón Giraldo, Universidad Nacional de Colombia
  • R Core Team (2023). R: A Language and Environment for Statistical Computing