Pertama-tama, saya akan memeriksa apakah mean adalah indeks yang tepat untuk tugas yang dihadapi. Jika Anda mencari "nilai tipikal / atau sentral" dari distribusi miring, mean mungkin mengarahkan Anda ke nilai yang agak tidak representatif. Pertimbangkan distribusi log-normal:
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")
Rerata (garis merah) agak jauh dari sebagian besar data. 20% rata-rata yang dipangkas (hijau) dan median (biru) lebih dekat dengan nilai "tipikal".
Hasilnya tergantung pada jenis distribusi "tidak normal" Anda (histogram dari data aktual Anda akan sangat membantu). Jika tidak miring, tetapi memiliki ekor yang berat, CI Anda akan sangat lebar.
Bagaimanapun, saya pikir bootstrap memang merupakan pendekatan yang baik, karena juga dapat memberi Anda CI asimetris. The R
paket simpleboot
adalah awal yang baik:
library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))
... memberi Anda hasil berikut:
# 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