Bagaimana saya bisa menghitung interval kepercayaan rata-rata dalam sampel yang terdistribusi tidak normal?

19

Bagaimana saya bisa menghitung interval kepercayaan rata-rata dalam sampel yang terdistribusi tidak normal?

Saya mengerti metode bootstrap yang biasa digunakan di sini, tetapi saya terbuka untuk opsi lain. Sementara saya mencari opsi non-parametrik, jika seseorang dapat meyakinkan saya bahwa solusi parametrik valid, itu akan baik-baik saja. Ukuran sampel> 400.

Kalau ada yang bisa memberikan sampel dalam R itu akan sangat dihargai.

fmark
sumber
3
Teorema Limit Sentral menyiratkan bahwa distribusi pembatas rata-rata sampel adalah normal terlepas dari distribusi data asli (dalam beberapa kondisi). Dalam banyak kasus ukuran sampel cukup besar sehingga perkiraan normal cukup akurat tetapi akurasi tergantung pada distribusi induk - mungkin membantu jika Anda, misalnya, memposting histogram dari data asli. n>400
Makro

Jawaban:

18

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")

Mean (merah), mean dipangkas 20% (hijau), dan median (biru) untuk distribusi log-normal

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 Rpaket simplebootadalah 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
Felix S
sumber
Terima kasih banyak untuk jawaban terperinci. Apakah Anda ingin mengomentari perbedaan (minimal) antara statistik persentil dan persentil yang disesuaikan (BCa)?
fmark
"Interval bootstrap yang dikoreksi dipercepat (BCa) adalah modifikasi dari metode persentil yang menyesuaikan persentil untuk mengoreksi bias dan kemiringan" (Hesterberg, T., Monaghan, S., Moore, D., Clipson, A., & Epstein, R. (2005). Metode bootstrap dan tes permutasi. Pengantar Praktik Statistik, 14.1-14.70.). Setiap kali perangkat lunak memungkinkan, gunakan CI yang dikoreksi BCa (catatan: perlu> 1000 sampel)
Felix S
Tampaknya dari dokumentasi untuk paket simpleboot bahwa argumen untuk pemangkasan tidak lagi didukung. :(
et adalah
8

κ^/(6s2n)κ^HAI(n-1/2)HAI(n-1)n1/2>20n>400

(exp(1)+2)exp(1)-1kappa = (exp(1)+2)*sqrt( exp(1) - 1) = 6.184877s = sqrt( (exp(1)-1)*exp(1) ) = 2.1611972*s*qnorm(0.975)/sqrt(n) = 0.2678999kappa*s/(6*n) = 0.00222779kappa

Tugas
sumber
2

Coba distribusi log-normal, hitung:

  1. Logaritma data;
  2. Rata-rata dan standar deviasi (1)
  3. Interval kepercayaan sesuai dengan (2)
  4. Eksponensial dari (3)

Anda akan berakhir dengan interval kepercayaan asimetris di sekitar nilai yang diharapkan (yang bukan berarti dari data mentah).

Felipe G. Nievinski
sumber