Jeg forsøger at få Bonferroni-korrektionen rigtig.
Lad os antage, at jeg har et datasæt med 100 p-værdier, 20 signifikant mindst 10% -niveauet (p-værdi < 0,1) og 80 ikke signifikant (p-værdi> = 0,1).
Ved anvendelse af Bonferroni-korrektionen med R, ved hjælp af p.adjust()
hvad er den korrekte n
værdi?
Skal jeg sætte n = 100
(alle p-værdier) eller n = 20
(kun signifikante p-værdier)?
Tak for enhver hjælp
Svar
Det gør ikke “t uanset om dine p-værdier er signifikante eller ej. Din n er antallet af tests (= p-værdier), du vil rette til. Hvis du er interesseret i resultaterne af alle 100 tests, så er n = 100.
Kommentarer
- så brug af n = 100 skal også gælde, hvis jeg kun er interesseret i at korrigere p-værdierne t hat er vigtige?
- Ja, du skal ikke rette ud fra p-værdier. Du skal kontrollere din type 1-fejlrate for flere tests, før du kører testene. Find først ud af, hvor mange tests du rent faktisk vil køre. Du bliver straffet for at køre unødvendige tests.
- tak. Men med mine reelle data ud af 1.000 tests får jeg kun 2 signifikante p-værdier efter Bonferroni-korrektionen. Jeg synes, det er for strengt.
- Der er andre rettelser, der kan give dig mere magt til at opdage signifikante effekter. Vigtige punkter er: 1) hvorfor kører du 100 (1.000?) Tests? 2) hvorfor lyder du som dit mål er at finde betydning? Dette burde ikke være ' hvis det ikke er tilfældet, skal du sigte mod at lave korrekte slutninger og korrektioner – Bonferroni eller andet – hjælper dig med at kontrollere din Type 1-fejlrate, hvilket hjælper i den retning.
- Jeg kender ikke ' Jeg kender ikke dine felt-, design- eller forskningsspørgsmål, så det er uden for mig, om du virkelig har brug for alle sådanne tests. Hvis dette er sonderende forskning, kan du overveje andre alternativer end NHST og p-værdier.