Sunday, January 17, 2016

Simulando la paradoja de Lord en R

Es difícil no mencionar la paradoja de Lord en un curso de métodos estadísticos o de modelación estocástica. Además, si se utiliza el software estadístico más importante del mundo, R, entonces esta entrada es de su interés. 
La paradoja de Lord resume el análisis de dos estadísticos que analizan el peso promedio de algunos estudiantes en una universidad. Al final del semestre (Junio), el peso promedio de los hombres es idéntico a su peso promedio al empezar el semestre (Enero). Esta situación ocurre también para las mujeres. La única diferencia es que las mujeres empezaron el año con un peso promedio más bajo (lo que es obvio por su contextura). En promedio, ni hombres ni mujeres ganaron o perdieron peso durante el transcurso del semestre.
Para realizar la simulación de los datos, se supone que tanto el peso final de los hombres como el de las mujeres siguen una relación lineal con el peso inicial. De esta manera, se supone que $y_{2i}^M = \beta_0^M + \beta_1 y_{1i}^M + \varepsilon_i$, para el peso de las mujeres y que $y_{2i}^H = \beta_0^H + \beta_1 y_{1i}^H + \varepsilon_i$, para el peso de los hombres. En donde $y_{1i}^M$ denota el peso de la mujer i en el inicio del semestre, $y_{2i}^M$ denota el peso de la mujer i al final del semestre. De la misma manera, la notación de los hombre mantiene esta lógica.

Ahora, nótese que los hombres deben tener un peso mayor que el de las mujeres. Supongamos que en promedio el peso de los hombres es igual al de las mujeres más una constante c. Además, el peso promedio en ambos grupos fue idéntico en ambos tiempos. Entonces, se tiene que $\bar{y}^M = \beta_0^M + \beta_1 \bar{y}^M $ y que $\bar{y}^H = \beta_0^H + \beta_1 \bar{y}^H = \beta_0^H + \beta_1 (\bar{y}^M + c)$. Por tanto, al despejar, se tiene que $\beta_0^M = (1 - \beta_1) \bar{y}^M$ y $\beta_0^H = \bar{y}^H - \beta_1 (\bar{y}^M + c)$.

El siguiente código replica un conjunto de datos que siguen la relación propuesta por Lord. 
N <- 1000
 
b <- 10
l <- 50
u <- 70
Mujer1 <- runif(N, l, u)
Hombre1 <- Mujer1 + b
 
beta1 <- 0.4
Mujerb0 <- (1 - beta1) * mean(Mujer1)
Hombreb0 <- mean(Hombre1) - beta1 * (mean(Mujer1) + b)
 
sds <- 1
Mujer2 <- Mujerb0 + beta1 * Mujer1 + rnorm(N, sd=sds)
Hombre2 <- Hombreb0 + beta1 * Hombre1 + rnorm(N, sd=sds)
La gráfica que muestra las relaciones de la paradoja se genera con el siguiente código:
datos <- data.frame(inicio = c(Mujer1, Hombre1), final = c(Mujer2, Hombre2))
datos$dif <- datos$final - datos$inicio
datos$sexo = c(rep(0, N), rep(1, N))
 
library(ggplot2)
ggplot(data = datos, aes(inicio, final, color = factor(sexo))) +
  geom_point() + stat_smooth(method = "lm")  +
  geom_abline(intercept = 0, slope = 1) +
  ggtitle("Paradoja de Lord") + theme_bw()

No comments:

Post a Comment