und β sind verwandt. Ich werde versuchen, den Punkt mit einem diagnostischen Test zu veranschaulichen. Angenommen, Sie haben einen diagnostischen Test, der den Spiegel eines Blutmarkers misst. Es ist bekannt, dass Menschen mit einer bestimmten Krankheit im Vergleich zu gesunden Menschen einen geringeren Gehalt an diesem Marker aufweisen. Es ist sofort klar, dass Sie einen Grenzwert festlegen müssen, unter dem eine Person als "krank" eingestuft wird, während Personen mit Werten über diesem Grenzwert als gesund gelten. Es ist sehr wahrscheinlich, aber, dass die Verteilung der bloodmarker wesentlich auch variiertinnerhalbkranken und gesunden Menschen. Einige gesunde Personen haben möglicherweise sehr niedrige Blutmarkerwerte, obwohl sie vollkommen gesund sind. Und einige kranke Menschen haben einen hohen Blutmarker, obwohl sie an der Krankheit leiden.αβ
Es gibt vier Möglichkeiten, die auftreten können:
- Eine kranke Person wird korrekt als krank identifiziert (wahr positiv = TP).
- Eine kranke Person wird fälschlicherweise als gesund eingestuft (falsch negativ = FN).
- Eine gesunde Person wird korrekt als gesund identifiziert (wahr negativ = TN).
- Eine gesunde Person wird fälschlicherweise als krank eingestuft (falsch positiv = FP).
Diese Möglichkeiten können mit einer 2x2-Tabelle veranschaulicht werden :
Sick Healthy
Test positive TP FP
Test negative FN TN
bezeichnet die falsch positive Rate, die α = F P / ( F P + T N ) ist . β ist die falsch negative Rate, die β = F N / ( T P + F N ) ist . Ich habe ein einfachesSkript geschrieben, um die Situation grafisch darzustellen.αα = F.P./ (F.P.+ T.N.)ββ= F.N./ (T.P.+ F.N.)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)
}
Schauen wir uns ein Beispiel an. Wir gehen davon aus, dass der mittlere Blutmarkerwert bei den Kranken 100 mit einer Standardabweichung von 10 beträgt. Bei den gesunden Menschen beträgt der mittlere Blutspiegel 140 mit einer Standardabweichung von 15. Der Kliniker setzt den Grenzwert auf 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
α = 901 / ( 901 + 9099 ) ≈ 0.09β= 236 / ( 236 + 9764 ) ≈ 0,024
Sick Healthy
Test positive 6909 90
Test negative 3091 9910
αβ
αβ
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)
αβ
Hier haben wir einen "perfekten" Test in dem Sinne, dass der Cutoff von 150 die Kranken von den Gesunden unterscheidet.
Bonferroni-Einstellungen
αββ0,020,31α0,090,01
Für andere in der Zukunft:
Bei der Schätzung der Stichprobengröße wird das Ztotal berechnet, indem das Z entsprechend Alpha und das Z entsprechend der Leistung (1-Beta) addiert werden. Wenn also die Stichprobengröße konstant gehalten wird, bedeutet das Erhöhen von Z für Alpha, dass Sie das Z für die Leistung um den gleichen Betrag verringern, z. B. wenn Sie Zalpha von 0,05 auf 0,1 erhöhen, wird die Z-Leistung um 0,05 verringert.
Der Unterschied besteht darin, dass das Z für Alpha zweiseitig ist, während das Z für Beta einseitig ist. Während sich der Z-Wert um den gleichen Betrag ändert, ändert sich die Wahrscheinlichkeit%, der dieser Z-Wert entspricht, nicht um den gleichen Betrag.
Beispiel:
5% Alpha (95% Konfidenz) mit 80% Leistung (20% Beta) ergeben die gleiche Stichprobengröße wie
20% Alpha (80% Vertrauen) mit 93,6% Leistung (6,4% Beta) anstelle der 95% Leistung, die wir hätten, wenn die Beziehung 1: 1 wäre.
quelle
Es gibt keine allgemeine Beziehung zwischen Alpha und Beta.
Es hängt alles von Ihrem Test ab, nehmen Sie das einfache Beispiel:
(Wikipedia)
Im umgangssprachlichen Sprachgebrauch kann der Fehler vom Typ I als "Verurteilung einer unschuldigen Person" und der Fehler vom Typ II als "Freilassung einer schuldigen Person" angesehen werden.
Eine Jury kann schwerwiegend sein: kein Fehler vom Typ II, einige vom Typ I Eine Jury kann "freundlich" sein: kein Typ I, aber einige vom Typ II Eine Jury kann normal sein: einige vom Typ I und einige vom Typ II Eine Jury kann perfekt sein: kein Fehler
In der Praxis gibt es zwei Antagonisteneffekte:
Wenn die Qualität des Tests steigt, nehmen die Fehler vom Typ I und Typ II bis zu einem gewissen Punkt ab. Wenn sich eine Jury verbessert, neigt er dazu, sowohl unschuldige als auch schuldige Menschen besser zu beurteilen.
Nach einiger Zeit tritt das zugrunde liegende Problem im Aufbau des Tests auf. Typ I oder II sind für denjenigen, der den Test durchführt, wichtiger. Mit dem Beispiel der Jury sind Fehler vom Typ I wichtiger, und daher wird das Rechtsverfahren so aufgebaut, dass Typ I vermieden wird. Im Zweifelsfall ist die Person frei. Intuitiv führte dies zu einem Anstieg des Typ-II-Fehlers.
In Bezug auf Bonferroni:
(Wieder Wikipedia)
Die Bonferroni-Korrektur steuert nur die Wahrscheinlichkeit von Fehlalarmen. Die Korrektur geht normalerweise zu Lasten der Erhöhung der Wahrscheinlichkeit, falsche Negative zu erzeugen, und folglich der Verringerung der statistischen Leistung. Beim Testen einer großen Anzahl von Hypothesen kann dies zu großen kritischen Werten führen.
quelle