Problema 5

El “efecto del tamaño” (o tamaño del efecto, en inglés efect size) en el contexto de la prueba de hipótesis se refiere a la magnitud de la diferencia o la fuerza de la relación que se está investigando entre las variables. En otras palabras, mide la cantidad de cambio o la importancia práctica de los resultados, más allá de simplemente determinar si una diferencia es estadísticamente significativa.

Incluso si una prueba estadística muestra que un resultado es significativo (es decir, si se rechaza la hipótesis nula), el tamaño del efecto te indicará si esa diferencia es importante en un sentido práctico o clínico. Por ejemplo, un estudio podría encontrar que un nuevo medicamento reduce la presión arterial de manera significativa, pero el tamaño del efecto indicaría si la reducción es lo suficientemente grande como para tener relevancia clínica.

Caso 1

RELACIONES ENTRE LA POTENCIA, EL TAMAÑO DE LOS EFECTOS Y EL TAMAÑO DE LA MUESTRA

Para cada tamaño fijo de los efectos d, se modela la relación entre el tamaño muestral y la potencia (manteniendo constante el nivel de significancia α=0.05). En las siguientes figuras se visualizan los resultados para tamaño de efecto muy pequeño (d=0.1), pequeño (d=0.2), mediano (d=0.5) y grande (d=0.8). Repite el análisis usando 5 valores distintos del nivel de significancia. ¿Cambian los resultados? ¿Qué ocurre cuando el tamaño de muestra de los grupos que se comparan es de 20, 60, 100 y 140? Analiza y compara los resultados.

Análisis

effect_sizes <- c(0.1, 0.2, 0.5, 0.8)

n_values <- seq(10, 200, by = 10)

combined_results <- data.frame()

for (d in effect_sizes) {
  power_values <- sapply(n_values, function(n){
    pwr.t.test(n = n, d = d, sig.level = 0.05, type = "two.sample", alternative = "two.sided")$power
  })
  
  df <- data.frame(
    Tamaño_Muestral = n_values,
    Potencia = power_values,
    Tamaño_Efecto = paste("d =", d)
  ) 
  combined_results <- rbind(combined_results, df)
}

ggplot(combined_results, aes(x = Tamaño_Muestral, y = Potencia, color = Tamaño_Efecto, linetype = Tamaño_Efecto)) +
  geom_line(size = 1) +
  scale_color_manual(values = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")) +
  scale_linetype_manual(values = c("solid", "dashed", "dotted", "dotdash")) +
  labs(title = "Potencia de la Prueba T para Diferentes Tamaños de Efecto (n = 200)",
       x = "Tamaño Muestral",
       y = "Potencia",
       color = "Tamaño Efecto",
       linetype = "Tamaño Efecto") +
  geom_hline(yintercept = 0.8, color = "black", linetype = "dashed") +
  theme(
    legend.position = "right",
    legend.title = element_text(size = 12, face = "bold"),
    legend.text = element_text(size = 10),
    axis.title = element_text(size = 12, face = "bold"),
    axis.text = element_text(size = 10)
  )

Relación entre Tamaño Muestral y Potencia:

A medida que el tamaño muestral aumenta, la potencia de la prueba también aumenta para todos los tamaños de efecto, esto significa que con muestras más grandes, es más probable detectar un efecto si realmente existe.

Impacto del Tamaño del Efecto:

Para un tamaño de muestra dado, los efectos más grandes (d=0.8) son más fáciles de detectar (mayor potencia) en comparación con los efectos más pequeños (d=0.1). Esto se refleja en las líneas de la gráfica, donde la línea para d=0.8 alcanza una potencia alta más rápidamente que las líneas para d=0.1, d=0.2 y d=0.5.

Tamaño de Muestra Necesario:

Para alcanzar una potencia deseada (por ejemplo, 0.8), se necesita un tamaño de muestra mayor para detectar efectos más pequeños. Por ejemplo, para un efecto muy pequeño (d=0.1), se requiere un tamaño de muestra mucho mayor que para un efecto grande (d=0.8).

effect_sizes <- c(0.1, 0.2, 0.5, 0.8)

n_values <- seq(10, 20, by = 10)

combined_results <- data.frame()

for (d in effect_sizes) {
  power_values <- sapply(n_values, function(n){
    pwr.t.test(n = n, d = d, sig.level = 0.05, type = "two.sample", alternative = "two.sided")$power
  })
  
  df <- data.frame(
    Tamaño_Muestral = n_values,
    Potencia = power_values,
    Tamaño_Efecto = paste("d =", d)
  ) 
  combined_results <- rbind(combined_results, df)
}

ggplot(combined_results, aes(x = Tamaño_Muestral, y = Potencia, color = Tamaño_Efecto, linetype = Tamaño_Efecto)) +
  geom_line(size = 1) +
  scale_color_manual(values = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")) +
  scale_linetype_manual(values = c("solid", "dashed", "dotted", "dotdash")) +
  labs(title = "Potencia de la Prueba T para Diferentes Tamaños de Efecto (n = 20)",
       x = "Tamaño Muestral",
       y = "Potencia",
       color = "Tamaño Efecto",
       linetype = "Tamaño Efecto") +
  geom_hline(yintercept = 0.8, color = "black", linetype = "dashed") +
  theme(
    legend.position = "right",
    legend.title = element_text(size = 12, face = "bold"),
    legend.text = element_text(size = 10),
    axis.title = element_text(size = 12, face = "bold"),
    axis.text = element_text(size = 10)
  )

Relación entre Tamaño del Efecto y Potencia:
Efecto muy pequeño (d=0.1): La potencia es muy baja, incluso con un tamaño muestral de 20, lo que indica que es difícil detectar un efecto tan pequeño con esta muestra. Efecto pequeño (d=0.2): La potencia sigue siendo baja, aunque un poco mejor que para d=0.1. Efecto mediano (d=0.5): La potencia es considerablemente mayor, lo que sugiere que es más probable detectar un efecto de este tamaño con una muestra de 20. Efecto grande (d=0.8): La potencia es alta, lo que indica que es muy probable detectar un efecto grande con el tamaño muestral dado.

effect_sizes <- c(0.1, 0.2, 0.5, 0.8)

n_values <- seq(10, 60, by = 10)

combined_results <- data.frame()

for (d in effect_sizes) {
  power_values <- sapply(n_values, function(n){
    pwr.t.test(n = n, d = d, sig.level = 0.05, type = "two.sample", alternative = "two.sided")$power
  })
  
  df <- data.frame(
    Tamaño_Muestral = n_values,
    Potencia = power_values,
    Tamaño_Efecto = paste("d =", d)
  ) 
  combined_results <- rbind(combined_results, df)
}

ggplot(combined_results, aes(x = Tamaño_Muestral, y = Potencia, color = Tamaño_Efecto, linetype = Tamaño_Efecto)) +
  geom_line(size = 1) +
  scale_color_manual(values = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")) +
  scale_linetype_manual(values = c("solid", "dashed", "dotted", "dotdash")) +
  labs(title = "Potencia de la Prueba T para Diferentes Tamaños de Efecto (n = 60)",
       x = "Tamaño Muestral",
       y = "Potencia",
       color = "Tamaño Efecto",
       linetype = "Tamaño Efecto") +
  geom_hline(yintercept = 0.8, color = "black", linetype = "dashed") +
  theme(
    legend.position = "right",
    legend.title = element_text(size = 12, face = "bold"),
    legend.text = element_text(size = 10),
    axis.title = element_text(size = 12, face = "bold"),
    axis.text = element_text(size = 10)
  )

Relación entre Tamaño del Efecto y Potencia:
Efecto muy pequeño (d=0.1): La potencia es baja, pero mejora en comparación con tamaños muestrales más pequeños. Sin embargo, sigue siendo difícil detectar un efecto tan pequeño. Efecto pequeño (d=0.2): La potencia es mayor que para d=0.1, pero aún no es óptima. Efecto mediano (d=0.5): La potencia es considerablemente alta, lo que sugiere que es probable detectar un efecto de este tamaño con una muestra de 60. Efecto grande (d=0.8): La potencia es muy alta, lo que indica que es muy probable detectar un efecto grande con el tamaño muestral dado.

effect_sizes <- c(0.1, 0.2, 0.5, 0.8)

n_values <- seq(10, 100, by = 10)

combined_results <- data.frame()

for (d in effect_sizes) {
  power_values <- sapply(n_values, function(n){
    pwr.t.test(n = n, d = d, sig.level = 0.05, type = "two.sample", alternative = "two.sided")$power
  })
  
  df <- data.frame(
    Tamaño_Muestral = n_values,
    Potencia = power_values,
    Tamaño_Efecto = paste("d =", d)
  ) 
  combined_results <- rbind(combined_results, df)
}

ggplot(combined_results, aes(x = Tamaño_Muestral, y = Potencia, color = Tamaño_Efecto, linetype = Tamaño_Efecto)) +
  geom_line(size = 1) +
  scale_color_manual(values = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")) +
  scale_linetype_manual(values = c("solid", "dashed", "dotted", "dotdash")) +
  labs(title = "Potencia de la Prueba T para Diferentes Tamaños de Efecto (n = 100)",
       x = "Tamaño Muestral",
       y = "Potencia",
       color = "Tamaño Efecto",
       linetype = "Tamaño Efecto") +
  geom_hline(yintercept = 0.8, color = "black", linetype = "dashed") +
  theme(
    legend.position = "right",
    legend.title = element_text(size = 12, face = "bold"),
    legend.text = element_text(size = 10),
    axis.title = element_text(size = 12, face = "bold"),
    axis.text = element_text(size = 10)
  )

Relación entre Tamaño del Efecto y Potencia:
Efecto muy pequeño (d=0.1): La potencia sigue siendo baja, aunque mejora en comparación con tamaños muestrales más pequeños. Detectar un efecto tan pequeño sigue siendo difícil. Efecto pequeño (d=0.2): La potencia es mayor que para d=0.1, pero aún no es óptima. Efecto mediano (d=0.5): La potencia es considerablemente alta, lo que sugiere que es probable detectar un efecto de este tamaño con una muestra de 100. Efecto grande (d=0.8): La potencia es muy alta, lo que indica que es muy probable detectar un efecto grande con el tamaño muestral dado.

effect_sizes <- c(0.1, 0.2, 0.5, 0.8)

n_values <- seq(10, 140, by = 10)

combined_results <- data.frame()

for (d in effect_sizes) {
  power_values <- sapply(n_values, function(n){
    pwr.t.test(n = n, d = d, sig.level = 0.05, type = "two.sample", alternative = "two.sided")$power
  })
  
  df <- data.frame(
    Tamaño_Muestral = n_values,
    Potencia = power_values,
    Tamaño_Efecto = paste("d =", d)
  ) 
  combined_results <- rbind(combined_results, df)
}

ggplot(combined_results, aes(x = Tamaño_Muestral, y = Potencia, color = Tamaño_Efecto, linetype = Tamaño_Efecto)) +
  geom_line(size = 1) +
  scale_color_manual(values = c("#1f77b4", "#ff7f0e", "#2ca02c", "#d62728")) +
  scale_linetype_manual(values = c("solid", "dashed", "dotted", "dotdash")) +
  labs(title = "Potencia de la Prueba T para Diferentes Tamaños de Efecto (n = 140)",
       x = "Tamaño Muestral",
       y = "Potencia",
       color = "Tamaño Efecto",
       linetype = "Tamaño Efecto") +
  geom_hline(yintercept = 0.8, color = "black", linetype = "dashed") +
  theme(
    legend.position = "right",
    legend.title = element_text(size = 12, face = "bold"),
    legend.text = element_text(size = 10),
    axis.title = element_text(size = 12, face = "bold"),
    axis.text = element_text(size = 10)
  )

Relación entre Tamaño del Efecto y Potencia:
Efecto pequeño (d=0.2): La potencia es moderada, pero aún no óptima. Detectar un efecto pequeño sigue siendo un desafío, aunque mejora con el aumento del tamaño muestral. Efecto mediano (d=0.5): La potencia es considerablemente alta, lo que sugiere que es probable detectar un efecto de este tamaño con una muestra de 140. Efecto grande (d=0.8): La potencia es muy alta, lo que indica que es muy probable detectar un efecto grande con el tamaño muestral dado.

Conclusiones

  1. En todas las gráficas, se observa que la potencia de la prueba T aumenta a medida que el tamaño muestral incrementa. Esto significa que con muestras más grandes, es más probable detectar un efecto si realmente existe.
  2. Para un tamaño de muestra dado, los efectos más grandes (por ejemplo, d=0.8) son más fáciles de detectar (mayor potencia) en comparación con los efectos más pequeños (por ejemplo, d=0.1). Esto se refleja en las líneas de las gráficas, donde las líneas para tamaños de efecto más grandes alcanzan una potencia alta más rápidamente que las líneas para tamaños de efecto más pequeños.
  3. Para alcanzar una potencia deseada (por ejemplo, 0.8), se necesita un tamaño de muestra mayor para detectar efectos más pequeños. Por ejemplo, para un efecto muy pequeño (d=0.1), se requiere un tamaño de muestra mucho mayor que para un efecto grande (d=0.8).

En general, la capacidad de detectar un efecto (potencia) depende tanto del tamaño del efecto como del tamaño muestral. Detectar efectos pequeños requiere muestras más grandes, mientras que los efectos grandes pueden ser detectados con muestras más pequeñas. A medida que el tamaño muestral aumenta, la potencia de la prueba también aumenta, mejorando la probabilidad de detectar efectos de cualquier tamaño.

Caso 2

En este problema nos centraremos en la aplicación de la prueba t de Student para comparar las medias entre dos grupos. Evaluaremos cómo las diferencias en los tamaños muestrales de los grupos influyen en la potencia de la prueba.

La potencia se define como la probabilidad de rechazar la hipótesis nula cuando la hipótesis alternativa es verdadera. En términos más sencillos, la potencia es la capacidad de una prueba estadística para identificar un efecto si este realmente existe. En general, desequilibrios muy marcados en los tamaños de muestra tienden a reducir la potencia estadística, lo que incrementa la probabilidad de cometer un error de tipo II.

Datos para el análisis

Se evaluarán los siguientes tamaños muestrales, donde \(n_1\) es el número de sujetos en el grupo 1 y \(n_2\) es el número de sujetos en el grupo 2:

  • \(n_1 = 28\), \(n_2 = 1406\): \(n_1\) representa el 2% del tamaño total de la muestra.
  • \(n_1 = 144\), \(n_2 = 1290\): \(n_1\) representa el 10% del tamaño total de la muestra.
  • \(n_1 = 287\), \(n_2 = 1147\): \(n_1\) representa el 20% del tamaño total de la muestra.
  • \(n_1 = 430\), \(n_2 = 1004\): \(n_1\) representa el 30% del tamaño total de la muestra.
  • \(n_1 = 574\), \(n_2 = 860\): \(n_1\) representa el 40% del tamaño total de la muestra.
  • \(n_1 = 717\), \(n_2 = 717\): Grupos de igual tamaño, lo que conduce a la mayor potencia para un tamaño de efecto dado.
p <- ggplot(temp3, aes(x = `effect size`, y = power, color = samples)) +
  geom_line(size=1) + 
  theme_bw() + 
  theme(axis.text=element_text(size=10), 
        axis.title=element_text(size=10), 
        legend.text=element_text(size=10)) +
  geom_vline(xintercept = .54, linetype = 2) +
  geom_hline(yintercept = 0.80, linetype = 2)+
  labs(x="Tamaño del efecto", y="Potencia") +
  scale_color_discrete(name = "Sampling size") 

plotly::ggplotly(p)

Gráficos y observaciones

Se tazaron las curvas de potencia para la prueba t de Student, en función del tamaño del efecto, asumiendo un nivel de significancia \(\alpha = 0.05\). La comparación de diferentes curvas de potencia, basadas en el tamaño de muestra de cada grupo, nos permite visualizar cómo los tamaños de muestra afectan la capacidad de la prueba para detectar efectos.

Además, se trazó una línea discontinua en el nivel de potencia aceptable del 80% y una línea vertical en el tamaño de efecto mínimo necesario para alcanzar ese nivel de potencia. Se observa que el tamaño del efecto debe ser superior a 0.54 para alcanzar una potencia aceptable del 80% en el escenario más desequilibrado \(n_1 = 28\) y \(n_2 = 1406\), en comparación con otros escenarios que conducen al 100% de potencia con tamaños de efecto más pequeños.

Análisis de Potencia

Este informe analiza los resultados de un ejercicio donde se calcularon curvas de potencia para diferentes niveles de significancia (\(\alpha\)) utilizando el test t de Student con muestras desiguales: \(n1 = 28\) y \(n2 = 1406\).

¿Cambian los resultados al usar 55 valores distintos del nivel de significancia?

Sí, los resultados cambian significativamente cuando se utilizan diferentes valores de \(\alpha\). En el siguiente gráfico, se observa cómo las curvas de potencia varían en función de \(\alpha\), abarcando desde 0.01 hasta 0.10.

alpha_values <- seq(0.01, 0.10, length.out = 55)
results <- data.frame()

n1 <- 28
n2 <- 1406

for (alpha in alpha_values) {
  ptab <- cbind(NULL, NULL)
  
  for (i in seq(0, 1, length.out = 200)) {
    pwrt <- pwr.t2n.test(n1 = n1, n2 = n2, sig.level = alpha, power = NULL, d = i, alternative = "two.sided")
    ptab <- rbind(ptab, cbind(pwrt$d, pwrt$power, alpha))
  }
  
  ptab_df <- as.data.frame(ptab)
  colnames(ptab_df) <- c("effect_size", "power", "alpha")
  results <- rbind(results, ptab_df)
}

p <- ggplot(results, aes(x = effect_size, y = power, color = as.factor(alpha), group = alpha)) +
  geom_line(size = 1) +
  theme_bw() + 
  labs(x = "Efecto del tamaño", y = "Potencia", color = "Alfa") +
  ggtitle(paste("Curvas de potencia para n1 =", n1, "y n2 =", n2, "con 55 niveles de alfa"))

plotly::ggplotly(p)

Respecto a Potencia y \(\alpha\), a medida que aumenta el nivel de significancia (\(\alpha\)), la potencia de la prueba aumenta para cualquier tamaño del efecto dado. Para valores más bajos de \(\alpha\) (como 0.01), es necesario un tamaño de efecto mayor para alcanzar una potencia significativa, por ejemplo, 0.80. Para valores más altos de \(\alpha\) (como 0.10), la prueba puede alcanzar una potencia alta con tamaños de efecto más pequeños. Lo anterior ocurre porque con un nivel de significancia más alto, el criterio para rechazar la hipótesis nula se vuelve menos estricto, lo que facilita detectar efectos, incluso si son pequeños. Por lo tanto, el nivel de significancia tiene un impacto directo en la potencia de la prueba.

¿Qué ocurre cuando \(n1 = 28\) y \(n2 = 1406\)?

El desequilibrio en el tamaño de las muestras tiene un impacto notable en la potencia de la prueba ya que para tamaños de efecto cercanos a 0, la potencia es baja en todos los niveles de \(\alpha\), esto es esperado, ya que el desequilibrio en los tamaños de muestra afecta la capacidad de la prueba para detectar efectos pequeños.

Por el contrario, para tamaños de efecto superiores a 0.5, la potencia comienza a aumentar rápidamente, alcanzando niveles cercanos a 1 cuando el tamaño del efecto es lo suficientemente grande, lo que muestra que la prueba es capaz de detectar efectos significativos a medida que aumenta el tamaño del efecto, incluso con el desequilibrio en el tamaño de las muestras.

Conclusiones

  • El nivel de significancia tiene un efecto directo sobre la potencia: cuanto mayor es \(\alpha\), mayor es la potencia para cualquier tamaño de efecto dado.
  • El desequilibrio en el tamaño de las muestras afecta la capacidad de la prueba para detectar efectos pequeños, pero la prueba se vuelve potente para tamaños de efecto grandes, independientemente del nivel de significancia.