Jag försöker få Bonferroni-korrigeringen rätt.
Låt oss anta att jag har en dataset med 100 p-värden, 20 signifikant på minst 10% -nivån (p-värde < 0,1) och 80 inte signifikant (p-värde> = 0,1).
När du använder Bonferroni-korrigeringen med R, med p.adjust()
vad är det korrekta n
-värdet?
Ska jag lägga n = 100
(alla p-värden) eller n = 20
(bara signifikanta p-värden)?
Tack för all hjälp
Svar
Det fungerar inte oavsett om dina p-värden är signifikanta eller inte. Din n är antalet tester (= p-värden) du vill korrigera för. Om du är intresserad av resultaten av alla 100 tester, så är n = 100.
Kommentarer
- så att använda n = 100 bör gälla även om jag är intresserad av att bara korrigera p-värdena t hat är betydande?
- Ja, du borde inte korrigera baserat på p-värden. Du bör kontrollera din typ 1-felfrekvens för flera tester innan du kör testerna. Bestäm först hur många tester du faktiskt vill köra. Du blir straffad för att ha kört onödiga tester.
- tack. Men med mina verkliga data av 1000 tester får jag bara 2 signifikanta p-värden efter Bonferroni-korrigeringen. Jag tycker det är för strikt.
- Det finns andra korrigeringar som kan ge dig mer kraft att upptäcka betydande effekter. Viktiga punkter är: 1) varför kör du 100 (1000?) Tester? 2) varför låter du som att ditt mål är att hitta betydelse? Detta borde inte vara ', du bör sträva efter att göra korrekta slutsatser och korrigering – Bonferroni eller annat – hjälper dig att kontrollera din typ 1-felfrekvens, vilket hjälper i den riktningen.
- Jag vet inte ' Jag känner inte till dina fält-, design- eller forskningsfrågor, så det är bortom mig om du verkligen behöver alla sådana tester. Om detta är utforskande forskning, kanske överväga andra alternativ än NHST och p-värden.