Estadísticas: Relación entre Alfa y Beta

13

Mi pregunta tiene que ver con la relación entre alfa y beta y sus definiciones en estadísticas.

alfa = tasa de error tipo I = nivel de significación considerando que la hipótesis NULL es correcta

Beta = tasa de error tipo II

Si se reduce alfa (la especificidad aumenta a medida que alfa = 1- especificidad), aumenta beta (sensibilidad / potencia disminuye a medida que beta = 1 - sensibilidad / potencia)

¿Cómo afecta un cambio en alfa a beta? ¿Hay una relación lineal o no? ¿La relación alfa / beta es siempre la misma, en otras palabras, la relación especificidad / sensibilidad es siempre la misma? En caso afirmativo, significa que al usar una corrección de bonferroni solo estamos cambiando a una menor sensibilidad y una mayor especificidad, pero no estamos cambiando la relación sensibilidad / especificidad. ¿Es correcto decir eso?

Actualización (pregunta específica del caso):

Para un diseño experimental dado, ejecutamos 5 modelos lineales en los datos. Tenemos una verdadera tasa positiva (sensibilidad / potencia) a 0.8 y una verdadera tasa negativa (especificidad) a 0.7. (Imaginemos que sabemos qué debería ser positivo y qué no). Si ahora corregimos el nivel de significancia usando Bonferroni a 0.05 / 5 = 0.01. ¿Podemos estimar numéricamente la frecuencia positiva verdadera resultante (sensibilidad / potencia) y la tasa negativa real (especificidad)?

Muchas gracias por tu ayuda.

Remi.b
fuente

Respuestas:

16

α y están relacionados. Trataré de ilustrar el punto con una prueba de diagnóstico. Digamos que tiene una prueba de diagnóstico que mide el nivel de un marcador sanguíneo. Se sabe que las personas que tienen una determinada enfermedad tienen niveles más bajos de este marcador en comparación con las personas sanas. Está claro de inmediato que debe decidir un valor límite, por debajo del cual una persona se clasifica como "enferma", mientras que las personas con valores superiores a este límite se consideran saludables. Sin embargo, es muy probable que la distribución del marcador de sangre varíe considerablemente incluso entre personas enfermas y sanas. Algunas personas sanas pueden tener niveles muy bajos de marcadores sanguíneos, a pesar de que son perfectamente saludables.β

Hay cuatro posibilidades que pueden ocurrir:

  1. una persona enferma se identifica correctamente como enferma (verdadero positivo = TP)
  2. una persona enferma se clasifica falsamente como saludable (falso negativo = FN)
  3. una persona sana se identifica correctamente como sana (verdadero negativo = TN)
  4. una persona sana se clasifica falsamente como enferma (falso positivo = FP)

Estas posibilidades se pueden ilustrar con una tabla de 2x2 :

               Sick Healthy
Test positive   TP     FP
Test negative   FN     TN

α denota la tasa de falsos positivos, que es . es la tasa de falsos negativos, que es . Escribí un guión simple para ilustrar la situación gráficamente.α=FP/(FP+TN)ββ=FN/(TP+FN)R

alphabeta <- function(mean.sick=100, sd.sick=10, mean.healthy=130, sd.healthy=10, cutoff=120, n=10000, side="below", do.plot=TRUE) {

  popsick <- rnorm(n, mean=mean.sick, sd=sd.sick)
  pophealthy <- rnorm(n, mean=mean.healthy, sd=sd.healthy)

  if ( side == "below" ) {

    truepos <- length(popsick[popsick <= cutoff])
    falsepos <- length(pophealthy[pophealthy <= cutoff])
    trueneg <- length(pophealthy[pophealthy > cutoff])
    falseneg <- length(popsick[popsick > cutoff])

  } else if ( side == "above" ) {

    truepos <- length(popsick[popsick >= cutoff])
    falsepos <- length(pophealthy[pophealthy >= cutoff])
    trueneg <- length(pophealthy[pophealthy < cutoff])
    falseneg <- length(popsick[popsick < cutoff])

  }

  twotable <- matrix(c(truepos, falsepos, falseneg, trueneg), 2, 2, byrow=T)
  rownames(twotable) <- c("Test positive", "Test negative")
  colnames(twotable) <- c("Sick", "Healthy")

  spec <- twotable[2,2]/(twotable[2,2] + twotable[1,2])
  alpha <- 1 - spec
  sens <- pow <- twotable[1,1]/(twotable[1,1] + twotable[2,1])
  beta <- 1 - sens

  pos.pred <- twotable[1,1]/(twotable[1,1] + twotable[1,2])
  neg.pred <- twotable[2,2]/(twotable[2,2] + twotable[2,1])


  if ( do.plot == TRUE ) {

    dsick <- density(popsick)
    dhealthy <- density(pophealthy)

    par(mar=c(5.5, 4, 0.5, 0.5))
    plot(range(c(dsick$x, dhealthy$x)), range(c(c(dsick$y, dhealthy$y))), type = "n", xlab="", ylab="", axes=FALSE)
    box()
    axis(1, at=mean(pophealthy), lab=substitute(mu[H[0]]~paste("=",m, sep=""), list(m=mean.healthy)), cex.axis=1.5,tck=0.02)
    axis(1, at=mean(popsick), lab=substitute(mu[H[1]]~paste("=",m, sep=""), list(m=mean.sick)), cex.axis=1.5, tck=0.02)                                        
    axis(1, at=cutoff, lab=substitute(italic(paste("Cutoff=",coff, sep="")), list(coff=cutoff)), pos=-0.004, tick=FALSE, cex.axis=1.25)
    lines(dhealthy, col = "steelblue", lwd=2)

    if ( side == "below" ) {
      polygon(c(cutoff, dhealthy$x[dhealthy$x<=cutoff], cutoff), c(0, dhealthy$y[dhealthy$x<=cutoff],0), col = "grey65")
    } else if ( side == "above" ) {
      polygon(c(cutoff, dhealthy$x[dhealthy$x>=cutoff], cutoff), c(0, dhealthy$y[dhealthy$x>=cutoff],0), col = "grey65")
    }

    lines(dsick, col = "red", lwd=2)

    if ( side == "below" ) {
      polygon(c(cutoff,dsick$x[dsick$x>cutoff],cutoff),c(0,dsick$y[dsick$x>cutoff],0) , col="grey90")
    } else if ( side == "above" ) {
      polygon(c(cutoff,dsick$x[dsick$x<=cutoff],cutoff),c(0,dsick$y[dsick$x<=cutoff],0) , col="grey90")
    }

    legend("topleft",
           legend=(c(as.expression(substitute(alpha~paste("=", a), list(a=round(alpha,3)))), 
                     as.expression(substitute(beta~paste("=", b), list(b=round(beta,3)))))), fill=c("grey65", "grey90"), cex=1.2, bty="n")
    abline(v=mean(popsick), lty=3)
    abline(v=mean(pophealthy), lty=3)
    abline(v=cutoff, lty=1, lwd=1.5)
    abline(h=0)

  }

  #list(specificity=spec, sensitivity=sens, alpha=alpha, beta=beta, power=pow, positiv.predictive=pos.pred, negative.predictive=neg.pred)

  c(alpha, beta)

}

Veamos un ejemplo. Suponemos que el nivel medio del marcador sanguíneo entre las personas enfermas es de 100 con una desviación estándar de 10. Entre las personas sanas, el nivel sanguíneo medio es de 140 con una desviación estándar de 15. El médico establece el límite en 120.

alphabeta(mean.sick=100, sd.sick=10, mean.healthy=140, sd.healthy=15, cutoff=120, n=100000, do.plot=TRUE, side="below")

              Sick Healthy
Test positive 9764     901
Test negative  236    9099

Beta y alfa con un límite de 120

Usted ve que las áreas sombreadas están en relación entre sí. En este caso, y . Pero, ¿qué sucede si el clínico hubiera establecido el límite de manera diferente? Pongámoslo un poco más bajo, a 105 y veamos qué sucede.α=901/(901+9099)0.09β=236/(236+9764)0.024

              Sick Healthy
Test positive 6909      90
Test negative 3091    9910

Corte 105

Nuestro es muy bajo ahora porque casi ninguna persona sana es diagnosticada como enferma. Pero nuestro ha aumentado, porque las personas enfermas con un alto nivel de marcadores sanguíneos ahora se clasifican falsamente como saludables.αβ

Finalmente, veamos cómo y cambian para diferentes puntos de corte:αβ

cutoffs <- seq(0, 200, by=0.1)
cutoff.grid <- expand.grid(cutoffs)

plot.frame <- apply(cutoff.grid, MARGIN=1, FUN=alphabeta, mean.sick=100, sd.sick=10, mean.healthy=140, sd.healthy=15, n=100000, do.plot=FALSE, side="below")

plot(plot.frame[1,]~cutoffs, type="l", las=1, xlab="Cutoff value", ylab="Alpha/Beta", lwd=2, cex.axis=1.5, cex.lab=1.2)
lines(plot.frame[2,]~cutoffs, col="steelblue", lty=2, lwd=2)
legend("topleft", legend=c(expression(alpha), expression(beta)), lwd=c(2,2),lty=c(1,2), col=c("black", "steelblue"), bty="n", cex=1.2)

Gráfico de alfa y beta con diferentes valores de corte

Puede ver inmediatamente que la proporción de y no es constante. Lo que también es muy importante es el tamaño del efecto. En este caso, esta sería la diferencia de las medias de los niveles de marcadores sanguíneos entre las personas enfermas y sanas. Cuanto mayor sea la diferencia, más fácil se pueden separar los dos grupos mediante un límite:αβ

Corte perfecto

Aquí tenemos una prueba "perfecta" en el sentido de que el límite de 150 discrimina a los enfermos de los sanos.


Ajustes de Bonferroni

Los ajustes de Bonferroni reducen el error pero inflan el error tipo II ( ) . Esto significa que el error de tomar una decisión negativa falsa aumenta mientras que los falsos positivos se minimizan. Es por eso que el ajuste de Bonferroni a menudo se llama conservador. En los gráficos anteriores, observe cómo aumentó cuando bajamos el límite de 120 a 105: aumentó de a . Al mismo tiempo, disminuyó de a .αββ0.020.31α0.090.01

COOLSerdash
fuente
@COOLSerdash Wow buena respuesta! Gracias. En su ejemplo, la elección del nivel significativo se puede hacer en distribuciones conocidas. En biología, por ejemplo, no puede conocer la distribución de su variable dependiente si el tratamiento tiene un efecto. En otras palabras, al elegir un nivel de significancia, usted elige la tasa de falsos positivos, pero casi no tiene idea de cómo se establece la tasa de falsos negativos. Como en realidad no tienes idea de cómo se establecen las Tasas Verdaderas Positivas y Negativas. Es eso correcto ?
Remi.b
1
@ Remi.b Gracias. Creo que es correcto. Por lo general, simplemente eliges como nivel de significancia o haces un cálculo de potencia antes (haciendo suposiciones sobre el tamaño del efecto, y potencia ( ). Pero tienes razón: puedes controlar eligiendo , pero a menudo se desconoce . Este documento es un muy buen punto de partida sobre los valores y lo que realmente significan los niveles .α 1 - β α β p ααα1βαβpα
COOLSerdash
2

Para otros en el futuro:

En la estimación del tamaño de la muestra, el Ztotal se calcula sumando la Z correspondiente a alfa y Z correspondiente a la potencia (1-beta). Matemáticamente, si el tamaño de la muestra se mantiene constante, el aumento de Z para alfa significa que disminuye la Z de potencia en la MISMA cantidad, por ejemplo, aumentar Zalpha de 0.05 a 0.1 disminuye Zpower en 0.05.

La diferencia es que la Z para alfa es de dos colas mientras que la Z para beta es de 1 cola. Entonces, mientras que el valor Z cambia en la misma cantidad, pero el% de probabilidad que corresponde a este valor Z no cambia en la misma cantidad.

Ejemplo:

5% alfa (95% de confianza) con 80% de potencia (20% beta) da el mismo tamaño de muestra que

20% alfa (80% de confianza) con 93.6% de potencia (6.4% beta) en lugar del 95% de potencia que tendríamos si la relación fuera 1: 1.

Vlad
fuente
1

No existe una relación general entre alfa y beta.

Todo depende de su prueba, tome el ejemplo simple:

(Wikipedia)

En el uso coloquial, el error tipo I puede considerarse como "condenar a una persona inocente" y el error tipo II "dejar en libertad a una persona culpable".

Un jurado puede ser severo: sin error de tipo II, algún tipo I Un jurado puede ser "amable": sin tipo I pero con un tipo II Un jurado puede ser normal: algún tipo I y otro tipo II Un jurado puede ser perfecto: sin error

En la práctica hay dos efectos antagonistas:

Cuando la calidad de la prueba aumenta, los errores de tipo I y tipo II disminuyen hasta cierto punto. Cuando un jurado mejora, tiende a dar un mejor juicio sobre las personas inocentes y culpables.

Después de algún punto, el problema subyacente aparece en la construcción de la prueba. Los tipos I o II son más importantes para quien realiza la prueba. Con el ejemplo del jurado, los errores de tipo I son más importantes y, por lo tanto, el proceso legal se construye para evitar el tipo I. Si hay alguna duda, la persona es libre. Intuitivamente, esto condujo a un crecimiento en el error tipo II.

Sobre Bonferroni:

(Wikipedia de nuevo)

La corrección de Bonferroni controla solo la probabilidad de falsos positivos. La corrección generalmente tiene el costo de aumentar la probabilidad de producir falsos negativos y, en consecuencia, reducir el poder estadístico. Al probar una gran cantidad de hipótesis, esto puede dar lugar a grandes valores críticos.

lcrmorin
fuente
Gracias por su respuesta, es útil, pero aún así algo no está claro para mí. Actualicé mi publicación agregando una nueva pregunta.
Remi.b