La mia domanda ha a che fare con la relazione tra alfa e beta e le loro definizioni nelle statistiche.
alpha = tasso di errore di tipo I = livello di significatività in considerazione che lipotesi NULL è corretta
Beta = tasso di errore di tipo II
Se alpha è ridotto (la specificità aumenta come alpha = 1- specificità ), beta aumenta (sensibilità / potenza diminuisce quando beta = 1 – sensibilità / potenza)
In che modo una modifica in alpha influisce su beta? Esiste una relazione lineare oppure no? Il rapporto alfa / beta è sempre lo stesso, in altre parole il rapporto specificità / sensibilità è sempre lo stesso? Se sì, significa che usando una correzione Bonferroni “stiamo solo spostando verso una sensibilità inferiore e una specificità maggiore, ma non stiamo cambiando il rapporto sensibilità / specificità”. È corretto dirlo?
Aggiornamento (domanda specifica per il caso):
Per un dato progetto sperimentale, eseguiamo 5 modelli lineari sui dati. Abbiamo un Tasso Vero Positivo (sensibilità / potenza) a 0,8 e un Tasso Vero Negativo (specificità) a 0,7. (Immaginiamo di sapere cosa dovrebbe essere positivo e cosa no.). Se ora correggiamo il livello di significatività utilizzando Bonferroni a 0,05 / 5 = 0,01. Possiamo stimare numericamente il tasso (sensibilità / potenza) vero positivo e True Tasso negativo (specificità)?
Grazie mille per il tuo aiuto.
Risposta
$ \ alpha $ e $ \ beta $ sono correlati. Cercherò di illustrare il punto con un test diagnostico. Supponiamo che tu abbia un test diagnostico che misura il livello di un marker del sangue. È noto che le persone che hanno una certa malattia hanno livelli più bassi di questo marker rispetto alle persone sane. È immediatamente chiaro che devi decidere un cutoff valore, al di sotto del quale una persona è classificata come “malata” mentre le persone con valori superiori a questo limite sono ritenute sane. È molto probabile, tuttavia, che la distribuzione del marcatore di sangue vari notevolmente anche allinterno di malati e persone sane. Alcune persone sane potrebbero avere livelli di marker nel sangue molto bassi, anche se sono perfettamente sani. E alcune persone malate hanno livelli elevati del marker nel sangue anche se hanno la malattia.
Ce ne sono quattro possibilità che possono verificarsi:
- una persona malata è correttamente identificata come malata (vero positivo = TP)
- una persona malata è falsamente classificata come sana (falso negativo = FN)
- una persona sana è correttamente identificata come sana (vero negativo = TN)
- una persona sana viene erroneamente classificata come malata (falso positivo = FP)
Queste possibilità possono essere illustrate con una tabella 2×2 :
Sick Healthy Test positive TP FP Test negative FN TN
$ \ alpha $ denota il tasso di falsi positivi, che è $ \ alpha = FP / (FP + TN) $. $ \ beta $ è il tasso di falsi negativi, che è $ \ beta = FN / (TP + FN) $. Ho scritto semplicemente uno script R
per illustrare graficamente la situazione.
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) }
Vediamo un esempio. Partiamo dal presupposto che il livello medio del marker ematico tra le persone malate sia 100 con una deviazione standard di 10. Tra le persone sane, il livello ematico medio è 140 con una deviazione standard di 15. Il medico imposta il cutoff a 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
Si vede che il aree sono in relazione tra loro. In questo caso, $ \ alpha = 901 / (901+ 9099) \ circa 0,09 $ e $ \ beta = 236 / (236 + 9764) \ circa 0,024 $. Ma cosa succede se il il medico aveva impostato il limite in modo diverso? Impostiamolo un po più in basso, a 105, e vediamo cosa succede.
Sick Healthy Test positive 6909 90 Test negative 3091 9910
Il nostro $ \ alpha $ è molto basso ora perché a quasi nessuna persona sana viene diagnosticata la malattia. Ma il nostro $ \ beta $ è aumentato, perché i malati con un elevato livello di marker nel sangue sono ora erroneamente classificati come sani.
Infine, vediamo come cambiano $ \ alpha $ e $ \ beta $ in modo diverso valori limite:
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)
Tu può immediatamente vedere che il rapporto tra $ \ alpha $ e $ \ beta $ non è costante. Ciò che è molto importante è anche la dimensione delleffetto. In questo caso, questa sarebbe la differenza delle medie dei livelli di marker ematici tra persone malate e sane. Maggiore è la differenza, più facilmente i due gruppi possono essere separati da un taglio:
Qui abbiamo un ” perfetto “test nel senso che il limite di 150 discrimina i malati dai sani.
Bonferroni adjustements
Gli aggiustamenti di Bonferroni riducono lerrore $ \ alpha $ ma aumentano lerrore di tipo II ($ \ beta $) .Ciò significa che lerrore di prendere una decisione falsa negativa aumenta mentre i falsi positivi sono ridotti al minimo. Ecco perché laggiustamento di Bonferroni è spesso definito conservativo. Nei grafici sopra, si noti come $ \ beta $ è aumentato quando abbiamo abbassato il limite da 120 a 105: è aumentato da $ 0,02 $ a $ 0,31 $. Allo stesso tempo, $ \ alpha $ è diminuito da $ 0,09 $ a $ 0,01 $.
Commenti
- @COOLSerdash Wow bella risposta! Grazie. Nel tuo esempio la scelta del livello significativo può essere fatto su distribuzioni note. In biologia, ad esempio, non puoi conoscere la distribuzione della tua variabile dipendente se il trattamento ha un effetto. In altre parole, scegliendo un livello di significatività, scegli il tasso di falsi positivi ma non hai quasi idea come viene impostato il tasso di falsi negativi. Poiché in realtà non hai idea di come sono impostati i tassi di vero positivo e negativo. È corretto?
- @ Remi.b Grazie. Penso che tu abbia ragione. Di solito, devi semplicemente scegliere $ \ alpha $ come livello di significatività o eseguire prima un calcolo della potenza (facendo ipotesi sulla dimensione delleffetto, $ \ alpha $ a nd potenza ($ 1- \ beta $). Ma ‘ hai ragione: puoi controllare $ \ alpha $ scegliendolo, ma $ \ beta $ è spesso sconosciuto. Questo documento è un ottimo punto di partenza sui valori $ p $ e sul significato reale di $ \ alpha $.
Risposta
Per altri in futuro:
Nella stima della dimensione del campione, lo Ztotale viene calcolato aggiungendo la Z corrispondente allalfa e Z corrispondente alla potenza (1-beta). Quindi, matematicamente, se la dimensione del campione è mantenuta costante, aumentare Z per alfa significa diminuire la Z per potenza della STESSA quantità, ad esempio, aumentare Zalfa da 0,05 a 0,1 diminuisce Zpower di 0,05.
La differenza è Z per alpha è a due code mentre la Z per beta è a 1 coda. Quindi, mentre il valore Z cambia della stessa quantità, ma la probabilità% a cui corrisponde questo valore Z non cambia della stessa quantità.
Esempio:
5% alpha ( 95% di confidenza) con l80% di potenza (20% beta) fornisce la stessa dimensione del campione del
20% alfa (80% di confidenza) con il 93,6% di potenza (6,4% beta) invece del 95% di potenza che abbiamo avrebbe se la relazione fosse 1: 1.
Risposta
Non esiste una relazione generale tra alpha e beta.
Tutto dipende dal tuo test, prendi il semplice esempio:
(Wikipedia)
Nelluso colloquiale di tipo I lerrore può essere considerato come “condannare una persona innocente” e errore di tipo II “lasciare libero un colpevole”.
Una giuria può essere severa: nessun errore di tipo II, alcune giurie di tipo IA possono essere “gentili”: nessuna giuria di tipo I ma qualche giuria di tipo II A può essere normale: alcune giurie di tipo I e di tipo II A possono essere perfette: nessun errore
In pratica ci sono due effetti antagonisti:
Quando la qualità del test aumenta, t lerrore di tipo I e di tipo II diminuisce fino a un certo punto. Quando una giuria migliora, tende a dare un giudizio migliore sia sulle persone innocenti che su quelle colpevoli.
Dopo un certo punto il problema sottostante appare nella costruzione del test. Il tipo I o II sono più importanti per chi esegue il test. Con lesempio della giuria, gli errori di tipo I sono più importanti e quindi il processo legale è costruito per evitare il tipo I. Se cè qualche dubbio la persona è libera. Intuitivamente questo porta a una crescita dellerrore di tipo II.
Riguardo a Bonferroni:
(ancora Wikipedia)
La correzione di Bonferroni controlla solo la probabilità di falsi positivi. La correzione normalmente ha il costo di aumentare la probabilità di produrre falsi negativi e di conseguenza ridurre il potere statistico. Quando si verifica un gran numero di ipotesi, ciò può portare a valori critici elevati.
Commenti
- Grazie per la risposta, è utile ma comunque qualcosa non mi è chiaro. Ho aggiornato il mio post aggiungendo una nuova domanda.