Tamaño muestral y potencia estadística

Tamaño muestral y potencia estadística

sep´17 Rosana Ferrero 2 comentarios

¿Puedo confiar en mis resultados estadísticos?

Cuando mis resultados no son significativos, ¿realmente no existe un efecto o es que el estudio no fue capaz de detectarlo? 

O, por el contrario, cuando tengo resultados significativos ¿son realmente tan positivos o es que el experimento sobreestima los efectos del tratamiento?

Y finalmente, ¿cómo necesitamos plantear nuestro estudio para obtener más chance de detectar efectos significativos?. 

Seguro que en algún momento te has tropezado con estas preguntas. ¡Quién no! Todas ellas tienen relación con la potencia estadística, que hoy intentaré explicarte en este post.

¿Quieres llevar tus proyectos de Ciencia de Datos a otro nivel?

Máster de Estadística Aplicada para la Ciencia de Datos con R Software

Matrícula abierta hasta el 26/04/2022

¿Qué es la potencia estadística?

Describe la probabilidad de que una prueba identifique correctamente un efecto genuino, real. Dicho de una manera más sencilla, es la capacidad de distinguir la señal del ruido. La señal que buscamos es el impacto de un tratamiento sobre algún resultado que nos interesa.
Imagina que se quiere estudiar la efectividad de un nuevo fármaco para la gripe. Buscamos probar su efectividad (señal). El ruido que nos preocupa proviene de la complejidad de los datos (qué tan variables son). Por ejemplo, habrá ruido en los resultados si la eficacia del fármaco depende fuertemente de la edad del individuo o de su sexo.

¿Para qué necesitamos conocer la potencia?

¿Realmente no hay efecto o es que el estudio no fue capaz de detectarlo? ¿los resultados son realmente tan positivos o es que el experimento sobreestima los efectos del tratamiento? si tu análisis tiene una baja potencia estadística los resultados suelen ser difíciles de interpretar.

Debemos plantear nuestros experimentos de tal manera de obtener un gran poder de contraste, y así estar seguros de que seremos capaces de evidenciar el efecto estudiado.

¿Cuál sería un valor aceptable de potencia?

Generalmente un valor de potencia de 0.80 es aceptable y se puede usar como punto de referencia. Los investigadores suelen diseñar sus experimentos de tal manera de que sus resultados sean significativos el 80% de las veces.

¿Cómo mejorar la potencia?

Los ruidos de tratamiento (problemas experimentales o de instrumento) y de fondo (respuestas con alta variabilidad) no se pueden controlar, pero sí podemos diseñar adecuadamente nuestro experimento de tal manera que obtengamos una potencia alta. 

La potencia de una prueba estadística está relacionada con:

  • El tamaño de la muestra «n»: el número de casos o sujetos que participan del estudio.
  • El nivel de significación «alfa»: la probabilidad de rechazar la hipótesis nula cuando ésta es verdadera (error tipo I o falso positivo). Se suele asumir un 5% o, lo que es lo mismo, un nivel de confianza del 95% (1-alfa).
  • El tamaño del efecto «d» o «r»: es una medida del cambio en una respuesta. Simplificando un poco podemos calcular medidas que reflejen las diferencias de medias entre grupos (la diferencia de medias dividido la desviación estándar) o medidas que indiquen la relación entre variables (coeficiente de correlación), según nuestro objetivo.

Una baja potencia podría indicar un tamaño de muestra pequeño, un alfa menor o un tamaño del efecto pequeño, y lo contrario para una potencia alta.

Planteamiento a priori. 

  • Asumimos un nivel de significación (e.g. el 5%), un valor para la potencia deseada (e.g. 80%) y conocemos de estudios previos estimaciones del tamaño del efecto que se desea detectar. Por tanto, el objetivo es determinar cuántos sujetos  necesitamos considerar en la investigación para cumplir con estos criterios.

EJEMPLOS: CÁLCULOS A PRIORI

El siguiente ejemplo es una adaptación del libro «R in Action» de Robert Kabacoff (2011).

Imagine que medimos el tiempo de reacción de las personas ante unos cambios que se producen en un simulador. Tenemos dos grupos de sujetos, uno en los cuales los sujetos están a la vez hablando por teléfono y otros que no.

  • A priori. Queremos comparar el tiempo medio de reaccion de los participantes en ambos grupos.
    Conocemos de la bibliografía que el tiempo de reacción tiene una desviación estándar (SD) de 1.25 segundos y que una diferencia en 1 segundo en el tiempo de reacción se considera una diferencia importante (el tamaño del efecto sería d=1/1.25=0.8 -la diferencia de medias dividido la SD-). Para una potencia del 90% y un nivel de confianza del 95%, ¿cuántos participantes necesitamos en nuestro estudio? 

Si realizamos los cálculos, por ejemplo, con el paquete «pwr» de R, obtenemos:

library(pwr)
pwr.t.test(d=.8, sig.level=.05, power=.9, type="two.sample",alternative="two.sided")

34 sujetos en cada grupo (en total 68 sujetos) para detectar un tamaño de efecto de 0.8, con una potencia del 90% y un nivel de confianza del 95%.

La Potencia Estadística nos permite replantearnos el tiempo y esfuerzo de nuestros diseños de estudio.

Situaciones nuevas

¿Cómo elegir el tamaño de efecto apropiado?

Determinar el tamaño del efecto es el paso más difícil en el análisis de la potencia y tamaño muestral.

Lo ideal es utilizar la experiencia en el tema investigado.

Sin embargo, en algunas situaciones la investigación es completamente nueva y no tenemos datos de investigaciones previas.

En estos casos Cohen (1988) propone ciertas reglas para esablecer lo que llamaremos efectos de tamaños pequeño, medio y largo para las pruebas estadísticas.

Sin embargo hay que tener cuidado ya que es un rango creado para investigaciones sociales y puede que no sean aplicables a vuestro campo de investigación.

Una alternativa es variar los parámetros y observar el impacto de estos campos en el tamaño muestral y el poder estadístico.

EJEMPLOS: SITUACIONES NUEVAS

  • Queremos comparar 5 grupos, con 25 sujetos por grupo, para un nivel de significación del 5%.

Calculamos la potencia de la prueba para distintos valores de tamaño de efecto (f):

pwr.anova.test(k=5,n=25,f=0.10,sig.level=.05) #power = 0.1180955
pwr.anova.test(k=5,n=25,f=0.25,sig.level=.05) #power = 0.5738
pwr.anova.test(k=5,n=25,f=0.40,sig.level=.05) #power = 0.9569163

La potencia será de 11.8% para detectar un efecto pequeño, 57.4% para detectar un efecto moderado y 95.7% para detectar un efecto grande.

Dada la limitación de los tamaños muestrales, solo podremos tratar de encontrar un efecto grande.

  • Veamos ahora la sensibilidad de nuestros parámetros.

Calculemos los tamaños muestrales necesarios para detectar el rango del tamaño del efecto.

library(pwr)
es <- seq(.1, .5, .01)
nes <- length(es)
samsize <- NULL
for (i in 1:nes){
result <- pwr.anova.test(k=5, f=es[i], sig.level=.05, power=.9)
samsize[i] <- ceiling(result$n)
}
plot(samsize,es, type="l", lwd=2, col="red",ylab="Effect Size",xlab="Sample Size (per cell)", main="One Way ANOVA with Power=.90 and Alpha=.05")

Este gráfico nos permite estimar el impacto de cambiar las condiciones de nuestro diseño experimental.

Podemos ver que en este caso, para 5 grupos experimentales, invertir dinero en aumentar el tamaño muestral encima de 200 observaciones por grupo no es útil.

La Potencia Estadística nos permite estimar los efectos de cambiar las condiciones de nuestro diseño experimental.

Representar la Potencia Estadística

EJEMPLO: Tamaño muestral

  • Vamos a utilizar un ejemplo para graficar el tamaño muestral que necesitaríamos utilizar en una investigación según los valores del tamaño del efecto (en este caso medido mediante el coeficiente de correlación) y la potencia estadística asumida.

Es decir, queremos determinar el tamaño muestral necesario para decidir si el coeficiente de correlación es estadísticamente significativo, según un rango de valores de tamaño de efecto y poder estadístico:

library(pwr)

# Set range of correlations & power values
r <- seq(.1,.5,.01)
nr <- length(r)
p <- seq(.4,.9,.1)
np <- length(p)

# Obtain sample sizes 
samsize <- array(numeric(nr*np), dim=c(nr,np))
for (i in 1:np){
for (j in 1:nr){
result <- pwr.r.test(n = NULL, r = r[j],sig.level = .05, power = p[i], alternative = "two.sided")
samsize[j,i] <- ceiling(result$n) 
}
}

# Set up graph 
xrange <- range(r)
yrange <- round(range(samsize))
colors <- rainbow(length(p))
plot(xrange, yrange, type="n",xlab="Correlation Coefficient (r)",ylab="Sample Size (n)" )
# Add power curves
for (i in 1:np){
lines(r, samsize[,i], type="l", lwd=2, col=colors[i])
}
# Add annotations
abline(v=0, h=seq(0,yrange[2],50), lty=2, col="grey89")
abline(h=0, v=seq(xrange[1],xrange[2],.02), lty=2,col="gray89")
title("Sample Size Estimation for Correlation Studies\n
Sig=0.05 (Two-tailed)")
legend("topright", title="Power", as.character(P), fill=colors)

Observamos que necesitamos un tamaño muestral de aproximadamente 75 para detectar una correlación de 0.20 con un 40% de confianza.

También necesitamos 185 observaciones más (n=260) para detectar la misma correlación con 90% de confianza.

Este gráfico puede utilizarse también para otro tipo de pruebas estadísticas, solo basta con modificar algunos pasos.

La Potencia Estadística nos permite decidir el tamaño de muestras que necesitamos para nuestro experimento.

ste último gráfico es original de http://www.statmethods.net/stats/power.html

¿Te ha parecido útil el post? ¿conocías la importancia de la potencia estadística? ¿cómo calculas el tamaño muestral de tu investigación? ¡deja tu comentario! 

Referencias de interés

* Cohen, Jacob (1988). «Statistical power analysis for the behavioral sciences» (2nd ed.). Hillsdale, NJ: Lawrence Earlbaum Associates.

2 comentarios

¹ Todos los campos son obligatorios.
² Tu correo electrónico no será publicado.

  • Hola!

    Genial el post! Muy útil!
    Yo uso esto bastante a menudo para los tests AB de emailing en mi empresa! Calculando el tamaño muestral necesario sabemos si es viable o no hacer el experimento dada la base de datos de la que disponemos. Dejo aquí la fórmula por si a alguien le interesa:

    n=(z_(alpha/2)*sqrt(2p(1-p))+z_beta*sqrt(p(1-p)+q(1-q)))^2/delta^2

    donde alpha=error tipo I,
    beta=error tipo II,
    p=baseline conversion rate,
    delta=efecto mínimo que se quiere detectar,
    q=p+delta.
    Saludos

    Responder

    Omar 6 de octubre de 2022, 19:56

  • Hola,
    breve comentario sobre el código:
    última línea,
    as.character(P) → as.character(p)
    😉

    Responder

    ivan 8 de octubre de 2022, 12:13

Te llamamos

Introduce los siguientes datos y nos pondremos en contacto contigo para atender tus dudas sin compromiso.

Te llamamos

Muchas gracias por solicitar información.
Te contactaremos lo antes posible.

Diseño web: Albin Soft.