Min fråga har att göra med förhållandet mellan alfa och beta och deras definitioner i statistik.

alfa = typ I-felfrekvens = signifikansnivå under övervägande att NULL-hypotesen är korrekt

Beta = typ II-felfrekvens

Om alfa sänks (specificitet ökar som alfa = 1- specificitet ), beta ökar (känslighet / effekt minskar som beta = 1 – känslighet / effekt)

Hur påverkar alfaändring beta? Finns det ett linjärt förhållande eller inte? Är förhållandet alfa / beta alltid detsamma, med andra ord är förhållandet specificitet / känslighet alltid detsamma? Om ja, betyder det att genom att använda en bonferronikorrigering flyttar vi bara till lägre känslighet och högre specificitet men vi ändrar inte känslighet / specificitetsförhållande. Är det korrekt att säga det?

Uppdatering (fallspecifik fråga):

För en given experimentell design kör vi 5 linjära modeller på data. Vi har en sann positiv frekvens (känslighet / effekt) vid 0,8 och en sann negativ hastighet (specificitet) vid 0,7. (Låt oss föreställa oss att vi vet vad som bör vara positivt och vad som inte bör.). Om vi nu korrigerar signifikansnivån med Bonferroni till 0,05 / 5 = 0,01. Kan vi numeriskt uppskatta den resulterande sanna positiva hastigheten (känslighet / effekt) och sant Negativ frekvens (specificitet)?

Tack så mycket för din hjälp.

Svar

$ \ alpha $ och $ \ beta $ är relaterade. Jag försöker illustrera poängen med ett diagnostiskt test. Låt oss säga att du har ett diagnostiskt test som mäter nivån på en blodmarkör. Det är känt att personer som har en viss sjukdom har lägre nivåer av denna markör jämfört med friska människor. Det är omedelbart klart att du måste bestämma ett avbrott. värdet, under vilket en person klassificeras som ”sjuk” medan människor med värden över denna nedskärning anses vara friska. Det är dock mycket troligt att fördelningen av blodmarkören varierar avsevärt även inom sjuka och friska människor. Vissa friska personer kan ha mycket låga blodmarkörnivåer, även om de är helt friska. Och vissa sjuka har höga nivåer av blodmarkören trots att de har sjukdomen.

Det finns fyra möjligheter som kan förekomma:

  1. en sjuk person identifieras korrekt som sjuk (sant positivt = TP)
  2. en sjuk person är falskt klassificerad som frisk (falsk negativ = FN)
  3. en frisk person identifieras korrekt som frisk (true negative = TN)
  4. en frisk person klassificeras falskt som sjuk (falskt positiv = FP)

Dessa möjligheter kan illustreras med en 2×2-tabell :

 Sick Healthy Test positive TP FP Test negative FN TN 

$ \ alpha $ betecknar falskt positivt värde, vilket är $ \ alpha = FP / (FP + TN) $. $ \ beta $ är falskt negativt värde, vilket är $ \ beta = FN / (TP + FN) $. Jag skrev ett helt enkelt R -skript för att illustrera situationen grafiskt.

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) } 

Låt oss titta på ett exempel. Vi antar att den genomsnittliga nivån av blodmarkören bland de sjuka är 100 med en standardavvikelse på 10. Bland de friska människorna är den genomsnittliga blodnivån 140 med en standardavvikelse på 15. Klinikern sätter gränsen till 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 och alfa med en gräns på 120

Du ser att den skuggade områden står i förhållande till varandra. I det här fallet är $ \ alpha = 901 / (901+ 9099) \ ca 0,09 $ och $ \ beta = 236 / (236 + 9764) \ ca 0,024 $. Men vad händer om Kliniker hade ställt in gränsen annorlunda? Låt oss sätta den lite lägre till 105 och se vad som händer.

 Sick Healthy Test positive 6909 90 Test negative 3091 9910 

Cutoff 105

Våra $ \ alpha $ är mycket låga nu eftersom nästan inga friska människor diagnostiseras som sjuka. Men vår $ \ beta $ har ökat, eftersom sjuka människor med hög blodmarkörnivå nu falskt klassificeras som friska.

Slutligen, låt oss se hur $ \ alpha $ och $ \ beta $ förändras för olika cutoffs:

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) 

Diagram över alfa och beta med olika gränsvärden

Du kan omedelbart se att förhållandet mellan $ \ alpha $ och $ \ beta $ inte är konstant. Det som också är mycket viktigt är effektstorleken. I det här fallet skulle detta vara skillnaden mellan medel för blodmarkörnivåer bland sjuka och friska människor. Ju större skillnad, desto lättare kan de två grupperna separeras med en cutoff:

Perfekt cutoff

Här har vi en ” perfekt ”test i den meningen att avgränsningen av 150 diskriminerar de sjuka från de friska.


Bonferroni-justeringar

Bonferroni-justeringar minskar $ \ alpha $ -felet men blåser upp typ II-felet ($ \ beta $) .Detta innebär att felet att göra ett falskt negativt beslut ökas medan falska positiva minimeras. Det är därför Bonferroni-justeringen ofta kallas konservativ. I diagrammen ovan, notera hur $ \ beta $ ökade när vi sänkte gränsen från 120 till 105: den ökade från $ 0,02 $ till $ 0,31 $. Samtidigt $ \ alpha $ minskade från $ 0,09 $ till $ 0,01 $.

Kommentarer

  • @COOLSerdash Wow trevligt svar! Tack. I ditt exempel valet av signifikant nivå kan göras på kända distributioner. I biologi kan du till exempel inte veta fördelningen av din beroende variabel om behandlingen har en effekt. Med andra ord genom att välja en signifikansnivå väljer du False Positive Rate men du har nästan ingen aning hur den falska negativa räntan är inställd. Eftersom du faktiskt inte har någon aning om hur de riktiga positiva och negativa priserna är inställda. Är det korrekt?
  • @ Remi.b Tack. Jag tror att du har rätt. Vanligtvis, du väljer bara $ \ alpha $ som signifikansnivå eller gör en effektberäkning innan (genom att göra antaganden om effektstorleken, $ \ alpha $ a and power ($ 1- \ beta $). Men du ' har rätt: du kan styra $ \ alpha $ genom att välja det, men $ \ beta $ är ofta okänt. Det här dokumentet är en mycket bra utgångspunkt om $ p $ -värden och vad $ \ alpha $ -nivåer egentligen betyder.

Svar

För andra i framtiden:

I uppskattning av provstorlek beräknas Ztotalen genom att lägga till Z motsvarande alfa och Z motsvarande effekt (1-beta). Så matematiskt, om provstorleken hålls konstant, innebär att en ökning av Z för alfa minskar Z för effekt med samma mängd, t.ex. om man ökar Zalpha från 0,05 till 0,1 minskar Zpower med 0,05.

Skillnaden är Z för alfa är två-tailed medan Z för beta är 1-tailed. Så medan Z-värdet ändras med samma mängd, men sannolikheten% som detta Z-värde motsvarar ändras inte med samma mängd.

Exempel:

5% alfa ( 95% konfidens) med 80% effekt (20% beta) ger samma provstorlek som

20% alfa (80% konfidens) med 93,6% effekt (6,4% beta) snarare än 95% effekt vi skulle ha om förhållandet var 1: 1.

Svar

Det finns ingen allmän relation mellan alfa och beta.

Allt beror på ditt test, ta det enkla exemplet:

(Wikipedia)

I allmänt bruk typ F kan jag betraktas som ”att döma en oskyldig person” och typ II-fel ”att låta en skyldig gå fri”.

En jury kan vara allvarlig: inget typ II-fel, någon typ IA-jury kan vara ”snäll”: ingen typ I men någon typ II A-jury kan vara normalt: någon typ I och någon typ II En jury kan vara perfekt: inget fel

I praktiken finns det två antagonisteffekter:

När testets kvalitet stiger, t ype I och typ II-fel minskar tills någon punkt. När en jury förbättras tenderar han att ge bättre bedömning av både oskyldiga och skyldiga människor.

Efter en tid framträder det underliggande problemet i testets uppbyggnad. Typ I eller II är viktigare för den som kör testet. Med juryexemplet är typ I-fel viktigare och därför är lagprocessen uppbyggd för att undvika typ I. Om det råder något tvivel är personen fri. Intuitivt ledde detta till en ökning av typ II-felet.

När det gäller Bonferroni:

(Wikipedia igen)

Bonferroni-korrigering kontrollerar bara sannolikheten för falska positiva resultat. Korrigeringen kostar vanligtvis att öka sannolikheten för att producera falska negativ och därmed minska statistisk kraft. När du testar ett stort antal hypoteser kan detta resultera i stora kritiska värden.

Kommentarer

  • Tack för ditt svar, det är användbart men ändå något är inte klart för mig. Jag uppdaterade mitt inlägg och lade till en ny fråga.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *