Los contrastes de hipótesis para variables cualitativas se realizan mediante test de frecuencia o proporciones. Dentro de esta categoría existen distintos tipos de test, la utilización de uno u otro depende de qué tipo de información se quiera obtener:
Test de distribución esperada o “goodness of fit”: Se emplean para comparar la distribución observada frente a una distribución esperada o teórica.
Test de diferencia de frecuencias o test de independencia: Se emplean para estudiar si la frecuencia de observaciones es significativamente distinta entre dos o más grupos.
En los test de “goodness of fit” sólo hay una variable asociada a cada observación, mientras que en los test de independencia hay dos variables asociadas a cada observación. También se emplean distintos test dependiendo del tipo de datos (independientes o dependientes) con los que se vaya a trabajar. Las siguientes tablas muestran algunos de los más empleados.
DATOS INDEPENDIENTES
Exacto — test binomial — comparaciones de grupos Aproximado — Test chi-cuadrado
DATOS DEPENDIENTES
Tablas 2x2 — Test de McNemar Tablas 2xk — Test Q de Cochrane
Los test exactos calculan la probabilidad de obtener los resultados observados de forma directa generando todos los posibles escenarios y calculando la proporción en los que se cumple la condición estudiada (son test de permutaciones). Los test aproximados calculan primero un estadístico y luego emplean la distribución teórica de dicho estadístico para obtener la probabilidad de que adquiera valores iguales o más extremos.
Existe bastante controversia en cuanto a si se deben de utilizar test exactos o aproximados. En la era pre-computacional, los test exactos se complicaban mucho cuando el tamaño total de muestras aumentaba; sin embargo, por medio de la computación esta barrera se ha eliminado. Los test exactos son más precisos cuando el tamaño total de observaciones es bajo o alguno de los grupos tiene pocas observaciones, una vez alcanzado un número alto de observaciones las diferencias son mínimas. En el libro Handbook of Biological Statistics John H. McDonald se recomienda utilizar test exactos cuando el número total de observaciones es menor a 1000 o cuando, aunque el número total sea mayor a 1000, haya algún grupo cuyo número de eventos esperados sea pequeño (normalmente menor que 5). En el caso de aplicar test aproximados sobre tamaños pequeños se suelen emplear correcciones, las más frecuentes son la corrección de continuidad de Yate o la corrección de William.
Se puede considerar a los test basados el estadístico χ2 como una generalización del contraste de proporciones basado en la aproximación a la normal (Z-test de una proporción y Z-test de dos proporciones) cuando hay 2 o más variables cualitativas o alguna de ellas tiene 2 o más niveles. En aquellos casos en los que ambos test se pueden aplicar, el resultado de un Z-test y un test χ2 es equivalente. Esto es debido a que en la distribución chi-cuadrado con 1 grado de libertad el estadístico χ2 es igual al estadístico Z de una distribución normal, elevado al cuadrado.
#2.- Test binomial exacto
El test binomial exacto se emplea para estudiar si la proporción de eventos verdaderos de una variable de tipo binomial se diferencia significativamente de la frecuencia teórica con la que se esperaría que apareciesen. En R puede realizarse un test binomial exacto mediante la función binom.test(), obteniendo tanto el p-value como el intervalo de confianza del valor de p en la población.
Condiciones
#3.- EJERCICIO 1
Un estudio sugiere que en una ciudad están naciendo más hombres que mujeres. Para determinar si es cierto se selecciona una muestra aleatoria de los niños nacidos durante los últimos 2 años y se identifica para cada uno el género. ¿Existen diferencias significativas para un nivel de significancia del 5%?
datos <- c("masculino", "masculino", "masculino", "masculino", "femenino",
"masculino", "masculino", "masculino", "femenino", "femenino",
"femenino", "femenino", "femenino", "femenino", "masculino",
"masculino", "femenino", "masculino", "femenino", "masculino",
"femenino", "masculino", "masculino", "masculino", "femenino",
"masculino", "masculino", "femenino", "masculino", "femenino")
H0: p=0.5 H1: p! = 0.5
# Recuento
tabla <- table(datos)
tabla
## datos
## femenino masculino
## 13 17
binom.test(x=c(13,17), alternative = "two.sided", conf.level = 0.95)
##
## Exact binomial test
##
## data: c(13, 17)
## number of successes = 13, number of trials = 30, p-value = 0.5847
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.2546075 0.6257265
## sample estimates:
## probability of success
## 0.4333333
La probabilidad p estimada es del 43.33% con un p valor de 0.58>0.05. Tenemos evidencia empírica suficiente para aceptar la hipótesis nula. Por tanto, a la coonfianza del 95% p=0.5 prop. niños = prop. niñas.
El IC de la proporción estima que ésta está comprendida entre 25% y 62%. Dado que estamos evaluando p = 50%, este valor se encuentra dentro del IC. Por ello, se tiene evidencia para aceptar la hipótesis nula de p = 50%. Es decir la prop. niños = prop. niñas.
Otra manera
binom.test(x=tabla, alternative = "two.sided", conf.level = 0.95)
##
## Exact binomial test
##
## data: tabla
## number of successes = 13, number of trials = 30, p-value = 0.5847
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.2546075 0.6257265
## sample estimates:
## probability of success
## 0.4333333
La probabilidad p estimada es del 43.33% con un p valor de 0.58>0.05. Tenemos evidencia empírica suficiente para aceptar la hipótesis nula. Por tanto, a la coonfianza del 95% p=0.5 prop. niños = prop. niñas.
El IC de la proporción estima que ésta está comprendida entre 25% y 62%. Dado que estamos evaluando p = 50%, este valor se encuentra dentro del IC. Por ello, se tiene evidencia para aceptar la hipótesis nula de p = 50%. Es decir la prop. niños = prop. niñas.
Conclusión
El test binomial no encuentra diferencias significativas entre las observaciones y lo que cabría esperar si la verdadera probabilidad de nacimiento es del 50% para ambos sexos.
#3.- Test multinomial
El test multinominal exacto es una extensión del test binomial que permite comparar la distribución de eventos observados para una variable con más de dos niveles respecto a una distribución teórica.
Este método, a pesar de ser un test exacto, es sustituido con frecuencia por su equivalente aproximado χ2 goodnes of fit, debido a que requiere mucha capacidad de cálculo cuando aumenta el número de observaciones o de grupos. Si es posible su computación, es más aconsejable, ya que no se basa en una aproximación mediante un modelo asintótico.
##3.1.- EJERCICIO 2
En los estudios genéticos de Mendel se establece que la descendencia de un determinado cruce de plantas da lugar a cuatro tipos de semillas (amarillas-lisas, verdes-lisas, amarillas-rugosas y verdes-rugosas) con una proporción teórica de 9:3:3:1. Para demostrar si es cierto se recoge una muestra de 556 semillas y se observa que las cantidades para cada grupo son de 315, 108, 101, 32 respectivamente. ¿Se corresponden las observaciones con el modelo esperado?
library(XNomial)
## Warning: package 'XNomial' was built under R version 4.2.3
observaciones <- c(315, 108, 101, 32)
freq_teoricas <- c(9, 3, 3, 1)
xmulti(obs = observaciones, expr = freq_teoricas, statName = "Prob")
##
## P value (Prob) = 0.9382
El p valor asciende a 0.93 > 0.05. Tenemos evidencia empírica suficiente para aceptar H0 al 5%. Las proporciones de 9:3:3:1 son correctas.
xmulti(obs=observaciones, expr = freq_teoricas, detail = 3, histobins = TRUE)
##
## P value (LLR) = 0.9261
## P value (Prob) = 0.9382
## P value (Chisq) = 0.9272
##
## Observed: 315 108 101 32
## Expected ratio: 9 3 3 1
## Total number of tables: 28956759
El test de la razón de verosimilitudes (LLR) (aprox) tiene un p valor de
0.92 > 0.05. Tenemos evidencia empírica suficiente a favor de la
hipótesis nula.
El test multinomial (exacto) tiene un p valor de 0.93 > 0.05. Tenemos evidencia empírica suficiente a favor de la hipótesis nula.
El test chi cuadrado (aprox) tiene un p valor de 0.927 > 0.05. Tenemos evidencia empírica suficiente a favor de la hipótesis nula.
Conclusión
El p-value obtenido indica que las observaciones se asemejan mucho a las esperadas según la distribución de frecuencias del modelo teórico (Ho). No hay evidencias para rechazar la hipótesis nula.
#Test chi cuadrado de la bondad del ajuste
El test χ2 goodness of fit es la alternativa aproximada al test binomial (dos niveles) o multinomial (>2 niveles) normalmente utilizada cuando el número de observaciones o de grupos es demasiado alto para poder emplear los test exactos. Permite comparar la distribución de las observaciones en los diferentes niveles de una variable cualitativa con lo esperado acorde a una distribución hipotética Ho. Se trata por lo tanto de una expansión del Z-test para una proporción cuando la variable estudiada tiene dos o más niveles. Cuando la variable cualitativa tiene dos niveles, el test χ2 goodness of fit y el Z-test para una proporción son equivalentes.
El funcionamiento del test consiste en cuantificar y sumar las diferencias entre el número de eventos observadas en cada nivel con respecto al número esperado acorde a H0. El valor de este sumatorio se asigna a un estadístico llamado χ2 y se emplea su relación matemática con la distribución χ2 para estimar la probabilidad de obtener un valor igual o más extremo.
H0: Las observaciones siguen una distribución acorde a la distribución del modelo de referencia. Las desviaciones son debidas al azar.
Ha: Las observaciones no siguen una distribución acorde a la distribución del modelo de referencia. Las desviaciones son mayores a las esperadas por azar.
Condiciones
##4.1.- EJERCICIO 3
Un estudio sugiere que en una ciudad están naciendo más hombres que mujeres. Para determinar si es cierto se selecciona una muestra aleatoria de los niños nacidos durante los últimos 2 años y se identifica para cada uno el género. ¿Existen diferencias significativas?
datos <- c("masculino", "masculino", "masculino", "masculino", "femenino",
"masculino", "masculino", "masculino", "femenino", "femenino",
"femenino", "femenino", "femenino", "femenino", "masculino",
"masculino", "femenino", "masculino", "femenino", "masculino",
"femenino", "masculino", "masculino", "masculino", "femenino",
"masculino", "masculino", "femenino", "masculino", "femenino")
chisq.test(tabla, p = c(0.5,0.5))
##
## Chi-squared test for given probabilities
##
## data: tabla
## X-squared = 0.53333, df = 1, p-value = 0.4652
El estadístico del contraste chi cuadrado asciende a 0.53 con un p valor de 0.46 > 0.05. Tenemos evidencia empírica suficiente para aceptar H0 al 5%. Por tanto, las proporciones de la muestra coinciden con las de la población. Es decir, la proporción de niños = proporción de niñas.
##4.2.- EJERCICIO 4
Un estudio intenta comparar si existe discriminación racial en la formación de jurados populares. Para ello se compara la distribución racial en el país con la distribución de los miembros de los últimos 500 jurados.
chisq.test(x = c(1920, 347, 19, 84, 130),
p = c(80.29, 12.06, 0.79, 2.92, 3.94) / 100)
##
## Chi-squared test for given probabilities
##
## data: c(1920, 347, 19, 84, 130)
## X-squared = 22.419, df = 4, p-value = 0.0001654
El estadístico chi cuadrado asciende a 22.419, con un p valor de 0.0001 < 0.05. Tenemos evidencia empírica suficiente para rechazar H0. Las frecuencias de la muestra no coinciden con las de la población.
##4.3.- EJERCICIO cuando n<100**
chisq.test(x = c(20,47, 19, 24), p = c(25, 25, 25, 25)/100, simulate.p.value = TRUE, B=5000000)
##
## Chi-squared test for given probabilities with simulated p-value (based
## on 5e+06 replicates)
##
## data: c(20, 47, 19, 24)
## X-squared = 18.945, df = NA, p-value = 0.0002868
El estadístico chi cuadrado asciende a 18.945, con un p valor de 0.0002 < 0.05. Tenemos evidencia empírica suficiente para rechazar H0. Por tanto, las frecuencias de la muestra no coinciden con las de la población.
sesion_info <- devtools::session_info()
dplyr::select(
tibble::as_tibble(sesion_info$packages),
c(package, loadedversion, source)
)
## # A tibble: 51 × 3
## package loadedversion source
## <chr> <chr> <chr>
## 1 bslib 0.4.2 CRAN (R 4.2.2)
## 2 cachem 1.0.6 CRAN (R 4.2.2)
## 3 callr 3.7.3 CRAN (R 4.2.3)
## 4 cli 3.6.0 CRAN (R 4.2.2)
## 5 crayon 1.5.2 CRAN (R 4.2.3)
## 6 devtools 2.4.5 CRAN (R 4.2.3)
## 7 digest 0.6.31 CRAN (R 4.2.2)
## 8 ellipsis 0.3.2 CRAN (R 4.2.2)
## 9 evaluate 0.20 CRAN (R 4.2.2)
## 10 fastmap 1.1.0 CRAN (R 4.2.2)
## # ℹ 41 more rows