Introducción a la Distribución Muestral de la Diferencia de Medias

La distribución muestral de la diferencia de medias es fundamental para comparar las medias de dos poblaciones independientes. Consideramos varios escenarios según las características de las poblaciones y los datos muestrales. Escenarios

  1. Varianzas Iguales o Diferentes:
  1. Varianzas Conocidas o Desconocidas:
  1. Datos Pareados:

Prueba de Igualdad de Varianzas

Cuando no se conocen las varianzas poblacionales, es importante determinar si las varianzas de las muestras son significativamente diferentes. Esto se puede realizar utilizando:

  1. Prueba de Levene: Evaluada para verificar si las varianzas de dos o más grupos son iguales. Es robusta a desviaciones de la normalidad.

  2. Prueba de Bartlett: Asume que los datos provienen de una distribución normal. Es más sensible a desviaciones de la normalidad.

Caso 1: Varianzas Iguales (\(\sigma_1^2=\sigma_2^2\))

  1. Media de la Distribución:

\[ {\mu}_{\overline{X}_{1}-\overline{X}_{2}}={\mu}_{1}-{\mu}_{2} \]

  1. Desviación Estándar (Error Estándar):
  • Usamos la varianza combinada:

\[ S_p^2=\frac{(n_1−1)s_1^2+(n_2−1)s_2^2}{n_1+n_2−2} \]

  • Error estándar:

\[ {\sigma}_{\overline{X}_{1}-\overline{X}_{2}}=\sqrt{S_p^2\left(\frac{1}{n_1}+\frac{1}{n_2}\right)} \]

Caso 2: Varianzas Diferentes (\(\sigma_1^2\neq\sigma_2^2\))

  1. Media de la Distribución:

\[ {\mu}_{\overline{X}_{1}-\overline{X}_{2}}={\mu}_{1}-{\mu}_{2} \]

  1. Desviación Estándar (Error Estándar):
  • Se calculan de forma independiente:

\[ {\sigma}_{\overline{X}_{1}-\overline{X}_{2}}=\sqrt{\left(\frac{S_1^2}{n_1}+\frac{S_2^2}{n_2}\right)} \]

Ejemplo: Varianzas Iguales

Simularemos dos poblaciones con varianzas iguales y calcularemos la distribución muestral de la diferencia de medias. Realizaremos la prueba de Levene para verificar la igualdad de varianzas.

set.seed(123)

# Definir parámetros poblacionales
mu1 <- 5
mu2 <- 7
sigma <- 2  # Varianzas iguales

# Tamaños de muestra
n1 <- 50
n2 <- 50

# Generar muestras
muestra1 <- rnorm(n1, mean = mu1, sd = sigma)
muestra2 <- rnorm(n2, mean = mu2, sd = sigma)

# Prueba de Levene
datos_var_iguales <- data.frame(
  valor = c(muestra1, muestra2),
  grupo = factor(rep(c("Grupo 1", "Grupo 2"), c(n1, n2)))
)

levene_test_result <- leveneTest(valor ~ grupo, data = datos_var_iguales)

# Calcular diferencias de medias muestrales
diferencias_medias_iguales <- replicate(1000, {
  mean(sample(muestra1, replace = TRUE)) - mean(sample(muestra2, replace = TRUE))
})

# Crear un data frame para graficar
df_diferencias_iguales <- data.frame(Diferencia = diferencias_medias_iguales)

# Graficar
ggplot(df_diferencias_iguales, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightblue", alpha = 0.7) +
  geom_vline(aes(xintercept = mu1 - mu2), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de la Diferencia de Medias (Varianzas Iguales)",
       x = "Diferencia de Medias Muestrales", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu1 - mu2, y = max(table(cut(df_diferencias_iguales$Diferencia, breaks = 30))) * 0.8, 
           label = "Diferencia Poblacional", color = "red", hjust = -0.2, size = 4)

# Resultados de la prueba de Levene
levene_test_result
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  1  0.2071   0.65
##       98

Ejemplo: Varianzas Diferentes

Simularemos dos poblaciones con varianzas diferentes y calcularemos la distribución muestral de la diferencia de medias. Verificamos la igualdad de varianzas usando la prueba de Levene.

set.seed(123)

# Definir parámetros poblacionales
mu1_diff <- 5
mu2_diff <- 7
sigma1_diff <- 2
sigma2_diff <- 3

# Generar muestras
muestra1_diff <- rnorm(n1, mean = mu1_diff, sd = sigma1_diff)
muestra2_diff <- rnorm(n2, mean = mu2_diff, sd = sigma2_diff)

# Prueba de Levene
datos_var_diferentes <- data.frame(
  valor = c(muestra1_diff, muestra2_diff),
  grupo = factor(rep(c("Grupo 1", "Grupo 2"), c(n1, n2)))
)

levene_test_result_diff <- leveneTest(valor ~ grupo, data = datos_var_diferentes)

# Calcular diferencias de medias muestrales
diferencias_medias_diferentes <- replicate(1000, {
  mean(sample(muestra1_diff, replace = TRUE)) - mean(sample(muestra2_diff, replace = TRUE))
})

# Crear un data frame para graficar
df_diferencias_diferentes <- data.frame(Diferencia = diferencias_medias_diferentes)

# Graficar
ggplot(df_diferencias_diferentes, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "orange", alpha = 0.7) +
  geom_vline(aes(xintercept = mu1_diff - mu2_diff), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de la Diferencia de Medias (Varianzas Diferentes)",
       x = "Diferencia de Medias Muestrales", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu1_diff - mu2_diff, y = max(table(cut(df_diferencias_diferentes$Diferencia, breaks = 30))) * 0.8, 
           label = "Diferencia Poblacional", color = "red", hjust = -0.2, size = 4)

# Resultados de la prueba de Levene
levene_test_result_diff
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value  Pr(>F)  
## group  1  4.4228 0.03802 *
##       98                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Varianzas Conocidas vs Desconocidas

Cuando las varianzas son conocidas, podemos calcular la desviación estándar directamente. Si no, usamos la varianza muestral.

Ejemplo: Varianzas Conocidas

# Supongamos que conocemos las varianzas
sigma1_known <- 2
sigma2_known <- 2

# Calcular la diferencia de medias con varianzas conocidas
diferencias_medias_conocidas <- replicate(1000, {
  muestra1 <- rnorm(n1, mean = mu1, sd = sigma1_known)
  muestra2 <- rnorm(n2, mean = mu2, sd = sigma2_known)
  mean(muestra1) - mean(muestra2)
})

# Crear un data frame para graficar
df_diferencias_conocidas <- data.frame(Diferencia = diferencias_medias_conocidas)

# Graficar
ggplot(df_diferencias_conocidas, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightcoral", alpha = 0.7) +
  geom_vline(aes(xintercept = mu1 - mu2), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de la Diferencia de Medias (Varianzas Conocidas)",
       x = "Diferencia de Medias Muestrales", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu1 - mu2, y = max(table(cut(df_diferencias_conocidas$Diferencia, breaks = 30))) * 0.8, 
           label = "Diferencia Poblacional", color = "red", hjust = -0.2, size = 4)

Ejemplo: Varianzas Desconocidas

# Calcular la diferencia de medias con varianzas desconocidas
diferencias_medias_desconocidas <- replicate(1000, {
  muestra1 <- rnorm(n1, mean = mu1, sd = sigma)
  muestra2 <- rnorm(n2, mean = mu2, sd = sigma)
  mean(muestra1) - mean(muestra2)
})

# Crear un data frame para graficar
df_diferencias_desconocidas <- data.frame(Diferencia = diferencias_medias_desconocidas)

# Graficar
ggplot(df_diferencias_desconocidas, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightgreen", alpha = 0.7) +
  geom_vline(aes(xintercept = mu1 - mu2), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de la Diferencia de Medias (Varianzas Desconocidas)",
       x = "Diferencia de Medias Muestrales", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu1 - mu2, y = max(table(cut(df_diferencias_desconocidas$Diferencia, breaks = 30))) * 0.8, 
           label = "Diferencia Poblacional", color = "red", hjust = -0.2, size = 4)

Datos Pareados

Los datos pareados surgen cuando las observaciones son dependientes, como en estudios de antes y después. En estos casos, analizamos la diferencia dentro de cada par.

Ejemplo de Datos Pareados

Simularemos datos de un estudio antes y después para calcular la distribución muestral de la diferencia de pares.

set.seed(123)

# Supongamos que tenemos una población donde los cambios tienen una media de 2
mu_cambio <- 2
sigma_cambio <- 1.5

# Número de pares
n_pares <- 50

# Simular datos pareados
diferencias_pareadas <- rnorm(n_pares, mean = mu_cambio, sd = sigma_cambio)

# Crear un data frame para graficar
df_pareados <- data.frame(Diferencia = diferencias_pareadas)

# Graficar
ggplot(df_pareados, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightblue", alpha = 0.7) +
  geom_vline(aes(xintercept = mu_cambio), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de Datos Pareados",
       x = "Diferencia de Pares", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu_cambio, y = max(table(cut(df_pareados$Diferencia, breaks = 30))) * 0.8, 
           label = "Media de Cambio", color = "red", hjust = -0.2, size = 4)

Ejercicio Resuelto

Apliquemos estos conceptos con un ejercicio que compara dos grupos, considerando varianzas conocidas y desconocidas, así como datos pareados.

Ejercicio: Comparación de Grupos con Varianzas Conocidas

set.seed(456)

# Definir parámetros poblacionales
mu1_alt <- 70
mu2_alt <- 75
sigma_alt_known <- 4  # Varianzas conocidas

# Tamaños de muestra
n1_alt <- 40
n2_alt <- 60

# Calcular diferencias de medias muestrales
diferencias_medias_alt_known <- replicate(1000, {
  muestra1 <- rnorm(n1_alt, mean = mu1_alt, sd = sigma_alt_known)
  muestra2 <- rnorm(n2_alt, mean = mu2_alt, sd = sigma_alt_known)
  mean(muestra1) - mean(muestra2)
})

# Crear un data frame para graficar
df_diferencias_alt_known <- data.frame(Diferencia = diferencias_medias_alt_known)

# Graficar
ggplot(df_diferencias_alt_known, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightpink", alpha = 0.7) +
  geom_vline(aes(xintercept = mu1_alt - mu2_alt), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de la Diferencia de Medias (Varianzas Conocidas - Grupos Alternativos)",
       x = "Diferencia de Medias Muestrales", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu1_alt - mu2_alt, y = max(table(cut(df_diferencias_alt_known$Diferencia, breaks = 30))) * 0.8, 
           label = "Diferencia Poblacional", color = "red", hjust = -0.2, size = 4)

Ejercicio: Datos Pareados en Grupos

set.seed(789)

# Simular cambios en los pares
mu_cambio_alt <- 3
sigma_cambio_alt <- 2

# Número de pares
n_pares_alt <- 40

# Simular datos pareados
diferencias_pareadas_alt <- rnorm(n_pares_alt, mean = mu_cambio_alt, sd = sigma_cambio_alt)

# Crear un data frame para graficar
df_pareados_alt <- data.frame(Diferencia = diferencias_pareadas_alt)

# Graficar
ggplot(df_pareados_alt, aes(x = Diferencia)) +
  geom_histogram(bins = 30, fill = "lightcoral", alpha = 0.7) +
  geom_vline(aes(xintercept = mu_cambio_alt), color = "red", linetype = "dashed", size = 1) +
  labs(title = "Distribución Muestral de Datos Pareados (Grupos Alternativos)",
       x = "Diferencia de Pares", y = "Frecuencia") +
  theme_minimal() +
  annotate("text", x = mu_cambio_alt, y = max(table(cut(df_pareados_alt$Diferencia, breaks = 30))) * 0.8, 
           label = "Media de Cambio", color = "red", hjust = -0.2, size = 4)

Conclusiones

La distribución muestral de la diferencia de medias es esencial para realizar pruebas de hipótesis sobre la diferencia de medias poblacionales. Considerar si las varianzas son iguales, diferentes, conocidas o desconocidas, y si los datos son pareados, nos ayuda a seleccionar el método estadístico apropiado. A través de los ejemplos, hemos visto cómo las diferencias de medias muestrales se distribuyen en diversos escenarios, lo cual es crucial para la inferencia estadística.