Zunächst würde ich prüfen, ob der Mittelwert für die jeweilige Aufgabe geeignet ist. Wenn Sie nach einem "typischen / oder zentralen Wert" für eine verzerrte Verteilung suchen, verweist der Mittelwert möglicherweise auf einen eher nicht repräsentativen Wert. Betrachten Sie die logarithmische Normalverteilung:
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")
Der Mittelwert (rote Linie) ist ziemlich weit von der Masse der Daten entfernt. 20% getrimmter Mittelwert (grün) und Median (blau) liegen näher am "typischen" Wert.
Die Ergebnisse hängen von der Art Ihrer "nicht normalen" Verteilung ab (ein Histogramm Ihrer tatsächlichen Daten wäre hilfreich). Wenn es nicht schief ist, aber schwere Schwänze aufweist, sind Ihre CIs sehr breit.
Auf jeden Fall halte ich Bootstrapping in der Tat für einen guten Ansatz, da es Ihnen auch asymmetrische CIs bieten kann. Das R
Paket simpleboot
ist ein guter Anfang:
library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))
... ergibt folgendes Ergebnis:
# 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