Estoy trabajando en el análisis de datos de un estudio de casos y controles, y estoy estudiando los básicos de cómo realizar un buen análisis en estos estudios.

En un estudio de casos y controles se comparan dos muestras separadas, de las cuales se quiere relacionar una variable independiente a la presencia o magnitud de una variable dependiente dependiente. Para esto, la muestra de casos presenta la variable independiente, y la muestra de controles no la tiene presente. Otras características pueden ser similares entre las muestras (pareamiento) para que, en caso de que exista relación entre variable las variables independiente ~ dependiente, se pueda saber con más confianza que la relación es debida a las variables que nos interesan, y no a la presencia de otras variables confusoras.

Los estudios de casos y controles han sido muy buenos para identificar relaciones entre variables independientes y dependientes, más especificamente, la relación entre condiciones o exposiciones y enfermedades. Por ejemplo, gracias a estudios de casos y controles, se han identificado las contribuciones de condiciones genéticas y exposiciones ambientales a enfermedades como cáncer (exposición a humo de tabaco con cáncer de pulmón).

Si desconocemos la relación entre humo de tabaco y cáncer de pulmón y tenemos como candidatos condicionantes de la enfermedad al humo de tabaco y la herencia, lo ideal sería realizar dos estudios separados para conocer la influencia de cada uno de estos factores; a muy grosso modo:

Las inferencias que se discuten en estas notas tienen las siguientes suposiciones básicas:
1. \(X_{m}\) es una muestra aleatoria de una distribución normal con media \(\mu_{1}\) y \(\sigma_{1}^2\)
2. \(Y_{n}\) es una muestra aleatoria de una distribución normal con media \(\mu_{2}\) y \(\sigma_{2}^2\)
3. Las muestras \(X\) y \(Y\) son independientes entre sí.

El valor esperado de \(\bar{X} - \bar{Y}\) es \(\mu_{1} -\mu_{2}\). Entonces la desviación estándar de \(\bar{X} - \bar{Y}\) es…

\[\sigma_{\bar{X} - \bar{Y}} = \sqrt{{\sigma_1^2 \over m} + {\sigma_2^2 \over n}}\]

Demostración:

\[E(\bar{X} - \bar{Y}) = E(\bar{X}) - E(\bar{Y}) = \mu_{1} -\mu_{2}\]

En este caso… -Hipótesis nula: \(H_{0}: \mu_{1} - \mu_{2} = 0\)

-Hipótesis alterna: \(H_{a}:\mu_{1} - \mu_{2} != 0\); Región de rechazo para prueba con nivel \(\alpha = 0.01\) (dos colas): \(z <= -z_{a/2} \, | \, z >= z_{a/2}\)

-Valor estadístico de la prueba:

\[z = \frac{\bar{x} - \bar{y} - \Delta_{0}}{\sqrt{{\sigma_1^2 \over m} + {\sigma_2^2 \over n}}}\]

Ejemplo (9.1) basado en el libro de Devore (ver citas).

El análisis de muestra aleatoria compuesta de \(m = 50\) especímenes tiene un promedio muestral de \(\bar{x} = 29.8\). Una segunda muestra aleatoria de \(n = 60\) especímenes tiene un promedio muestral de \(\bar{y} = 34.7\). Suponiendo que las dos distribuciones son normales con \(\sigma_{1} = 4.0\) y \(\sigma_{2} = 5.0\), respectivamente ¿indican los datos que \(\mu_{1}, \mu_{2}\) son diferentes? Realice una prueba a un nivel de significancia \(\alpha = 0.01\)

# Primero, creamos dos "muestras" independientes con las características especificadas... 
set.seed(2000) # Random Number Generator (RNG)
sample.m <- sample(x = rnorm(1000, mean = 29.8, sd = 4), size = 50)  # muestra 1

set.seed(2500) # RNG
sample.n <- sample(x = rnorm(1000, mean = 34.7, sd = 5), size = 60)  # muestra 2

# Creamos una lista que contenga a las muestras para evitar teclear de más... 
samples <- list(sample.m, sample.n)

# Y una función que contenga las funciones mean(), sd() y var() ...
multi.fun  <-  function(x){
    c(means = mean(x), SDs = sd(x), vars = var(x))
}

# Obtenemos las funciones de las muestras
values <- lapply(samples, multi.fun) 
names(values) <- c("m", "n")

values
## $m
##     means       SDs      vars 
## 30.528926  4.079142 16.639396 
## 
## $n
##     means       SDs      vars 
## 34.858436  4.639269 21.522821
  1. Parámetro de interés \(\mu_{1} - \mu_{2}\), la diferencia entra las resistencias promedio verdaderas de los dos tipos de acero.
theta <- values$m[[1]] - values$n[[1]]

theta
## [1] -4.32951
  1. La hipótesis nula es \(H_{0} = \mu_{1} - \mu_{2} = 0\)
simple.test <- function(hypothesis){
    theta <- hypothesis
if(theta == 0){
    message("La hipótesis nula es aceptada.")    
}else{
    message("La hipótesis nula parece ser rechazada.")
}
}

simple.test(theta)
## La hipótesis nula parece ser rechazada.
  1. La hipótesis alterna es \(H_{a} = \mu_{1} - \mu_{2} > 0\)

  2. Con \(H_{0} = \mu_{1} - \mu_{2} = 0\), el valor estadístico de la prueba es: \[z = \frac{\bar{x} - \bar{y}}{\sqrt{{\sigma_1^2 \over m} + {\sigma_2^2 \over n}}}\]

  3. La desigualdad en \(H_{a}\) implica que la pureba es de dos cola. Con \(\alpha = 0.01\), \({\alpha \over 2} = 0.005\) y \(z_{a/2} = z_{0.005} = 2.58\) \(H_{0}\) será rechazada si \(z >= 2.58 | z <= -2.58\)

# Cargamos el paquete BSDA que incluye la función z-test
if(!require(BSDA))
    install.packages("BSDA")
## Loading required package: BSDA
## Loading required package: e1071
## Loading required package: lattice
## 
## Attaching package: 'BSDA'
## 
## The following object is masked from 'package:datasets':
## 
##     Orange
library(BSDA)
z <- z.test(x = sample.m, y = sample.n, # Two samples with normal distribution
            alt = "two.sided",          # Dos colas
            mu = 0,                     # H_0: mu_1 - mu_2 = 0
            sigma.x = sd(sample.m),     # desviación estándar m
            sigma.y = sd(sample.n),     # desviación estandar n
            conf.level = 0.95)          # IC: error alpha_a/2 = 0.01/2

z 
## 
##  Two-sample z-Test
## 
## data:  sample.m and sample.n
## z = -5.2065, p-value = 1.925e-07
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -5.959349 -2.699671
## sample estimates:
## mean of x mean of y 
##  30.52893  34.85844
    # Prueba Z para dos muestras
        # Datos: muestra m y muestra n
        # valor de z
        # p-value = valor de p, tiene que ser <0.05
        # H_a: la diferencia entre las medias no es igual a 0
        # IC %95 (entre los valores indicados)
        # media de x; media de y

El valor observado de \(\bar{x} - \bar{y}\) es mucho menor de lo que se esperaría si la hipótesis nula (\(\mu_{1} - \mu_{2} = 0\)) fuera verdadera.
El valor de p con esta prueba a dos colas es \(p < 0.05\), por lo que la hipótesis alterna debe ser aceptada bajo cualquier nivel de significancia estadística razonable.

Hay que recordar que para utilizar esta prueba es necesario que se cumplan las suposiciones planteadas arriba.

Esta nota no está seriada, pero la hice porque estaba estudiando el tema. Nos leemos en la próxima entrega.

Contáctenme en “jclopeztavera [at] gmail [dot] com” para cualquier duda o sugerencia (y señalar errores), y haré lo mejor posible para responderla o tomarla en cuenta.

Referencias y lecturas adicionales.

  1. N. E. Breslow, N. E. Day. IARC Scientific Publications No. 32: Volume I - The analysis of case-control studies
  2. The Pennsylvania State University, STAT 507. Lesson 6: Ecological Studies, Case-Control Studies
  3. The case-control study
  4. Z-tests
  5. S. D. Cochran, UCLA, Stat10, Lecture 21: Two sample z-tests
  6. J. L. Devore, Probabilidad y estadística para Ingenieria y Ciencias. 8a edición