Estatísticas: relação entre alfa e beta

13

Minha pergunta tem a ver com a relação entre alfa e beta e suas definições nas estatísticas.

alfa = taxa de erro tipo I = nível de significância considerando que a hipótese NULL está correta

Beta = taxa de erro do tipo II

Se alfa for reduzido (a especificidade aumenta como alfa = 1 - especificidade), beta aumenta (sensibilidade / potência diminui como beta = 1 - sensibilidade / potência)

Como uma mudança no alfa afeta o beta? Existe uma relação linear ou não? A proporção alfa / beta é sempre a mesma, ou seja, a especificidade / sensibilidade da proporção é sempre a mesma? Se sim, significa que, usando uma correção bonferroni, estamos apenas mudando para uma sensibilidade e uma especificidade mais altas, mas não estamos alterando a razão de sensibilidade / especificidade. É correto dizer isso?

Atualização (pergunta específica do caso):

Para um determinado projeto experimental, executamos 5 modelos lineares nos dados. Temos uma taxa positiva verdadeira (sensibilidade / potência) em 0,8 e uma taxa negativa verdadeira (especificidade) em 0,7. (Vamos imaginar que sabemos o que deve ser positivo e o que não deve). Se agora corrigirmos o nível de significância usando Bonferroni para 0,05 / 5 = 0,01. Podemos estimar numericamente a verdadeira taxa positiva positiva (sensibilidade / potência) e a verdadeira taxa negativa (especificidade)?

Muito obrigado por sua ajuda.

Remi.b
fonte

Respostas:

16

α e estão relacionados. Vou tentar ilustrar o ponto com um teste de diagnóstico. Digamos que você tenha um teste de diagnóstico que mede o nível de um marcador de sangue. Sabe-se que pessoas com uma determinada doença apresentam níveis mais baixos desse marcador em comparação com pessoas saudáveis. É imediatamente claro que você precisa decidir um valor de corte, abaixo do qual uma pessoa é classificada como "doente", enquanto as pessoas com valores acima desse ponto de corte são consideradas saudáveis. É muito provável, porém, que a distribuição do marcador de sangue varie consideravelmente mesmo entre pessoas doentes e saudáveis. Algumas pessoas saudáveis ​​podem ter níveis muito baixos de marcadores sanguíneos, mesmo que sejam perfeitamente saudáveis.β

Existem quatro possibilidades que podem ocorrer:

  1. uma pessoa doente é corretamente identificada como doente (verdadeiro positivo = TP)
  2. uma pessoa doente é falsamente classificada como saudável (falso negativo = SN)
  3. uma pessoa saudável é corretamente identificada como saudável (verdadeiro negativo = TN)
  4. uma pessoa saudável é falsamente classificada como doente (falso positivo = PF)

Essas possibilidades podem ser ilustradas com uma tabela 2x2 :

               Sick Healthy
Test positive   TP     FP
Test negative   FN     TN

α indica a taxa de falsos positivos, que é . é a taxa de falsos negativos, que é . Escrevi um roteiro simples para ilustrar a situação graficamente.α=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)

}

Vejamos um exemplo. Assumimos que o nível médio do marcador sanguíneo entre as pessoas doentes é 100, com desvio padrão de 10. Entre as pessoas saudáveis, o nível sanguíneo médio é 140, com desvio padrão de 15. O clínico define o ponto de corte em 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 e alfa com um limite de 120

Você vê que as áreas sombreadas estão em relação umas com as outras. Nesse caso, e . Mas o que acontece se o clínico definir o ponto de corte de maneira diferente? Vamos definir um pouco mais para 105 e ver o que acontece.α=901/(901+9099)0.09β=236/(236+9764)0.024

              Sick Healthy
Test positive 6909      90
Test negative 3091    9910

Corte 105

Nosso está muito baixo agora, porque quase nenhuma pessoa saudável é diagnosticada como doente. Mas nosso aumentou, porque pessoas doentes com um nível alto de marcador de sangue agora são falsamente classificadas como saudáveis.αβ

Por fim, vejamos como e mudam para diferentes pontos 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 e beta com diferentes valores de corte

Você pode ver imediatamente que a proporção de e não é constante. O que também é muito importante é o tamanho do efeito. Nesse caso, essa seria a diferença das médias dos níveis de marcadores sanguíneos entre pessoas doentes e saudáveis. Quanto maior a diferença, mais fácil os dois grupos podem ser separados por um ponto de corte:αβ

Corte perfeito

Aqui temos um teste "perfeito", no sentido de que o ponto de corte de 150 discrimina os doentes dos saudáveis.


Ajustes Bonferroni

Os ajustes de Bonferroni reduzem o erro mas aumentam o erro do tipo II ( ) . Isso significa que o erro de tomar uma decisão falsa negativa aumenta, enquanto os falsos positivos são minimizados. É por isso que o ajuste de Bonferroni costuma ser chamado de conservador. Nos gráficos acima, observe como o aumentou quando reduzimos o ponto de corte de 120 para 105: aumentou de para . Ao mesmo tempo, diminuiu de para .αββ0.020.31α0.090.01

COOLSerdash
fonte
@COOLSerdash Wow resposta agradável! Obrigado. No seu exemplo, a escolha do nível significativo pode ser feita em distribuições conhecidas. Na biologia, por exemplo, você não pode conhecer a distribuição de sua variável dependente se o tratamento tiver algum efeito. Em outras palavras, escolhendo um nível de significância, você escolhe a taxa de falsos positivos, mas quase não faz ideia de como a taxa de falsos negativos é definida. Como você realmente não tem idéia de como as Taxas de Verdadeiro Positivo e Negativo são definidas. Isso está correto?
Remi.b
1
@ Remi.b Obrigado. Eu acho que você está correto. Geralmente, você escolhe como nível de significância ou faz um cálculo de potência antes (fazendo suposições sobre o tamanho do efeito, e potência ( ). Mas você está certo: você pode controlar escolhendo -lo, mas é muitas vezes desconhecida. Este papel é um bom ponto de partida sobre -Valores e que níveis realmente significam.α 1 - β α β p ααα1βαβpα
COOLSerdash
2

Para outros no futuro:

Na estimativa do tamanho da amostra, o Ztotal é calculado adicionando o Z correspondente a alfa e Z correspondente à potência (1-beta). Portanto, matematicamente, se o tamanho da amostra for mantido constante, aumentar Z para alfa significa diminuir o Z de potência pela mesma quantidade, por exemplo, aumentar Zalpha de 0,05 a 0,1 diminui Zpower em 0,05.

A diferença é que o Z para alfa é bicaudal, enquanto o Z para beta é bicaudal. Portanto, enquanto o valor de Z muda na mesma quantidade, a probabilidade% a que esse valor de Z corresponde não muda na mesma quantidade.

Exemplo:

5% alfa (95% confiança) com 80% de potência (20% beta) fornece o mesmo tamanho de amostra que

20% alfa (80% confiança) com 93,6% de poder (6,4% de beta) em vez do poder de 95% que teríamos se o relacionamento fosse de 1: 1.

Vlad
fonte
1

Não existe uma relação geral entre alfa e beta.

Tudo depende do seu teste, tome o exemplo simples:

(Wikipedia)

No uso coloquial, o erro do tipo I pode ser considerado "condenar uma pessoa inocente" e o erro do tipo II "deixar uma pessoa culpada libertar-se".

Um júri pode ser grave: nenhum erro do tipo II, algum tipo I Um júri pode ser "gentil": nenhum tipo I, mas algum tipo II Um júri pode ser normal: alguns do tipo I e outro tipo II Um júri pode ser perfeito: nenhum erro

Na prática, existem dois efeitos antagonistas:

Quando a qualidade do teste aumenta, os erros do tipo I e do tipo II diminuem até algum ponto. Quando um júri melhora, ele tende a julgar melhor as pessoas inocentes e as culpadas.

Depois de algum ponto, o problema subjacente aparece na construção do teste. Os tipos I ou II são mais importantes para quem executa o teste. Com o exemplo do júri, os erros do tipo I são mais importantes e, portanto, o processo jurídico é desenvolvido para evitar o tipo I. Se houver alguma dúvida, a pessoa é livre. Intuitivamente, isso leva a um aumento no erro do tipo II.

Em relação a Bonferroni:

(Wikipedia novamente)

A correção Bonferroni controla apenas a probabilidade de falsos positivos. A correção normalmente tem o custo de aumentar a probabilidade de produzir falsos negativos e, consequentemente, reduzir o poder estatístico. Ao testar um grande número de hipóteses, isso pode resultar em grandes valores críticos.

lcrmorin
fonte
Obrigado pela sua resposta, é útil, mas ainda assim algo não está claro para mim. Atualizei minha postagem adicionando uma nova pergunta.
Remi.b