Przede wszystkim sprawdziłbym, czy średnia jest odpowiednim wskaźnikiem dla danego zadania. Jeśli szukasz „typowej / lub centralnej wartości” przekrzywionego rozkładu, średnia może wskazywać na raczej niereprezentatywną wartość. Rozważ log-normalną dystrybucję:
x <- rlnorm(1000)
plot(density(x), xlim=c(0, 10))
abline(v=mean(x), col="red")
abline(v=mean(x, tr=.20), col="darkgreen")
abline(v=median(x), col="blue")
Średnia (czerwona linia) jest raczej daleko od dużej ilości danych. 20% średnia obcięta (zielona) i mediana (niebieska) są bliższe wartości „typowej”.
Wyniki zależą od rodzaju „nienormalnego” rozkładu (pomocny byłby histogram rzeczywistych danych). Jeśli nie jest przekrzywiony, ale ma ciężkie ogony, twoje CI będą bardzo szerokie.
W każdym razie uważam, że ładowanie początkowe rzeczywiście jest dobrym podejściem, ponieważ może również zapewnić asymetryczne CI. R
Pakiet simpleboot
jest dobry początek:
library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))
... daje następujący wynik:
# The bootstrap trimmed mean:
> b1$t0
[1] 1.144648
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 2000 bootstrap replicates
Intervals :
Level Percentile BCa
95% ( 1.062, 1.228 ) ( 1.065, 1.229 )
Calculations and Intervals on Original Scale