Her şeyden önce, ortalamanın eldeki görev için uygun bir dizin olup olmadığını kontrol ederdim. Eğri bir dağılımın "tipik / veya merkezi bir değerini" arıyorsanız, ortalama sizi temsili olmayan bir değere işaret edebilir. Günlük normal dağılımını düşünün:
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")
Ortalama (kırmızı çizgi) verilerin büyük bir bölümünden oldukça uzaktır. % 20 kesilmiş ortalama (yeşil) ve ortanca (mavi) "tipik" değere daha yakındır.
Sonuçlar "normal olmayan" dağılımınızın türüne bağlıdır (gerçek verilerinizin bir histogramı yardımcı olacaktır). Eğri değilse, ancak ağır kuyrukları varsa, CI'leriniz çok geniş olacaktır.
Her durumda, size asimetrik CI'ler verebileceğinden, önyüklemenin gerçekten iyi bir yaklaşım olduğunu düşünüyorum. R
Paket simpleboot
iyi bir başlangıç:
library(simpleboot)
# 20% trimmed mean bootstrap
b1 <- one.boot(x, mean, R=2000, tr=.2)
boot.ci(b1, type=c("perc", "bca"))
... size aşağıdaki sonucu verir:
# 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