Intervalos de confianza de una proporción con el test binomial exacto en R

Calcular los intervalos de confianza para una proporción o un índice es muy sencillo. En R existen diferentes métodos para poder realizarlo, aunque en esta entrada vamos a emplear el test binomial exacto con la función binom.test() del paquete stats.

Los intervalos de confianza son básicos para estimar dónde puede encontrarse el parámetro de estudio con cierta precisión estadística. Es por ello que hemos tratado en algunas entradas estos puntos más en detalle, tanto aplicado a una regresión como a diferentes parámetros estadísticos. Aquí calcularemos este intervalo aplicado específicamente a proporciones de dos categorías.

Intervalos de confianza de una proporción con el test binomial en R

Quiero leer...

Calcular los intervalos de confianza de una proporción

Imaginémonos que estamos estudiando un yacimiento arqueológico donde hemos descubierto 18 esqueletos humanos. Mediante el uso de métodos antropológicos, hemos descubierto que 12 de ellos pertenecen a mujeres y 6 a hombres. Por lo tanto, la proporción sería 2:1 en favor de las mujeres.

Con estos datos, podríamos estar tentados de escribir en un artículo que en ese yacimiento existían más mujeres que hombres. Es decir, que no existía un balance equilibrado entre hombres y mujeres al esperado 1:1.

Sin embargo, para poder afirmar con rotundidad que la población no está equilibrada, tenemos que calcular los intervalos de confianza de una proporción. Como en una población normal la probabilidad de que salga hombre o mujer es 0.5 cada uno (proporción 1:1), este valor va a ser el punto de partida. Si los intervalos de confianza de la proporción incluyen este valor de 0.5, no podríamos decir que la proporción observada estuviese fuera de una proporción 1:1.

Intervalos de confianza para una proporción en R

Para poder resolver esta cuestión en R, empleamos la función binom.test() del paquete stats. La documentación detallada de este paquete se encuentra aquí., así como algún ejemplo detallado. Esta función ejecuta un test binomial exacto. Prácticamente seguro que este paquete ya lo tenéis instalado, por por si acaso lo instalamos y cargamos.

install.packages("stats", dependencies = TRUE)
library(stats)

En esta función hay que poner principalmente 5 argumentos:

  1. El número de mujeres (12).
  2. El número total de esqueletos (18).
  3. La proporción esperada, que es 1:1 (0.5).
  4. El contraste a realizar, en nuestro caso bilateral (alternative = "two.sided").
  5. El nivel de confianza (conf.level = 0.95).

Con todos los argumentos de la función de la prueba binomial escritos, la función quedaría del siguiente modo:

binom.test(12, 18,                    # número de mujeres y total
           0.5,                       # proporción ideal  
           alternative = "two.sided", # contraste
           conf.level = 0.95)         # nivel de confianza

El resultado de la ejecución del código anterior es:

 Exact binomial test

data:  12 and 18
number of successes = 12, number of trials = 18, p-value = 0.2379
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.4099252 0.8665726
sample estimates:
probability of success 
             0.6666667

Las hipótesis a testear han sido:

  • H0: la proporción observada encaja con una proporción ideal 1:1 (0.5), donde machos y hembras están igualmente representados.
  • H1: la proporción observada no encaja con una proporción ideal 1:1 (0.5), por lo tanto, habría un sesgo en favor de las mujeres respecto a hombres.

El resultado indica que su p-valor es mayor de 0.05 (p-value = 0.2379), por lo que aceptamos la hipótesis nula (H0). Esto nos indica que a pesar de que se observe una proporción 2:1 en nuestro yacimento, no existe suficiente evidencia estadística para indicar que no provengan de una proporción ideal 1:1, donde ambos sexos estuvieran igualmente representados. Si atendemos al intervalo de confianza al 95% de la proporción, observamos que se sitúa entre 0.41 y 0.87. Como la proporción ideal sería 0.5, y este valor se sitúa en ese intervalo`, no existe suficiente evidencia para indicar que realmente existiera un sesgo en favor de las mujeres Obviamente este intervalo guarda una relación estrecha con el p-valor.

La prueba a la inversa da el mismo resultado

Si ejecutamos el test binomial exacto para los hombres, observamos que el p-valor es idéntico al obtenido para las mujeres. Su intervalo de confianza cambia, lógicamente, aunque el valor de 0.5 ideal también se encuentra incluido en el mismo. Esto indica nuevamente que la proporción observada podría haberse obtenido de una población sexualmente equitativa.

binom.test(6, 18,
           0.5,
           alternative = "two.sided",
           conf.level = 0.95)
 Exact binomial test

data:  6 and 18
number of successes = 6, number of trials = 18, p-value = 0.2379
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.1334274 0.5900748
sample estimates:
probability of success 
             0.3333333

Deja un comentario