Apakah ada interval kepercayaan nonparametrik yang dapat diandalkan untuk rata-rata distribusi yang miring?

30

Distribusi yang sangat miring seperti log-normal tidak menghasilkan interval kepercayaan bootstrap yang akurat. Berikut adalah contoh yang menunjukkan bahwa area ekor kiri dan kanan jauh dari ideal 0,025 tidak peduli metode bootstrap apa pun yang Anda coba di R:

require(boot)
n    <- 25
B    <- 1000
nsim <- 1000
set.seed(1)
which <- c('basic', 'perc', 'norm', 'bca', 'stud')
mul <- 0; sdl <- 1.65   # on log scale
dist <- c('normal', 'lognormal')[2]
switch(dist, normal    = {g <- function(x) x; mu <- mul},
             lognormal = {g <- exp; mu <- exp(mul + sdl * sdl / 2)})
count <- matrix(0, nrow=length(which), ncol=2,
                dimnames=list(which, c('lower', 'upper')))
stat <- function(x, j) {
## See http://www.psychology.mcmaster.ca/bennett/boot09/percentileT.pdf
  x <- x[j]
  m <- mean(x)
  s <- sd(x)
  n <- length(x)
  sem <- s / sqrt(n)
  m.var <- sem ^ 2
  c(m, m.var)
}
for(i in 1 : nsim) {
  if(i %% 100 == 0) cat(i, '')
  x <- g(rnorm(n, mul, sdl))
  b  <- boot(x, stat, R=B)
  ci <- boot.ci(b, type=which)
  for(w in which) {
    nam <- switch(w, perc='percent', norm='normal', basic='basic',
                  stud='student', bca='bca')
    z <- rev(rev(ci[[nam]])[1:2])
    count[w, 'lower'] <- count[w, 'lower'] + (z[1] > mu)
    count[w, 'upper'] <- count[w, 'upper'] + (z[2] < mu)
  }
}
cat('\n')
count / nsim

Hasilnya di bawah ini:

      lower upper
basic 0.000 0.329
perc  0.003 0.257
norm  0.000 0.287
bca   0.015 0.185
stud  0.005 0.129

Untuk n=400 single bootstraps masih tidak memberikan cakupan yang cukup akurat:

      lower upper
basic 0.001 0.114
perc  0.005 0.093
norm  0.002 0.102
bca   0.017 0.067
stud  0.011 0.058

Kemungkinan empiris juga gagal memberikan interval kepercayaan yang akurat ketika pengambilan sampel dari distribusi lognormal.

Apakah ada pendekatan tujuan umum di luar sana yang tidak bergantung pada mengetahui distribusi di muka? Adakah yang mencoba mendapatkan interval kepercayaan untuk mean dengan memasukkan data ke Tukey generalizedλ distribusi (distribusi ini sangat fleksibel)? Bagaimana dengan menggunakan band kepercayaan diri Kolmogorov-Smirnov untuk CDF? Apakah menghitung rata-rata pada batas atas dan bawah pada CDF akan menjadi sangat konservatif? Saya akan menerima konservatisme jika suatu metode memiliki penerapan yang luas.

Untuk menyatakan kembali tujuan, saya mencari pendekatan yang berlaku umum untuk mendapatkan interval kepercayaan untuk populasi yang berarti seperti itu

  1. Intervalnya asimetris jika distribusi data mentah asimetris
  2. interval memiliki cakupan yang benar di keduanya ekor (mis., probabilitas kesalahan 0,025 di keduanya)
  3. prosedur tidak mengharuskan analis untuk menentukan apa pun tentang distribusi yang mendasarinya atau transformasi yang diperlukan untuk membuat distribusi simetris

tμ=0,σ=1.65n=20000

Dalam terus memikirkan hal ini ada dua cara luas untuk mengonseptualisasikan masalah yang ingin saya diskusikan.

  1. n=201.28×t
  2. Meskipun tidak ada bootstrap tunggal yang akan memberikan batas kepercayaan yang cukup akurat untuk sampel dari distribusi yang sangat miring, bootstrap ganda dapat secara signifikan meningkatkan cakupan kepercayaan di kedua ekor. Nankervis memiliki beberapa hasil bagus dan menyediakan algoritma komputasi yang sangat baik. Tetapi tidak ada perangkat lunak yang dapat saya temukan alat ini.

Kode R menggambarkan 1. di atas:

## Exact CI for median from DescTools package SignTest.default
## See also ttp://www.stat.umn.edu/geyer/old03/5102/notes/rank.pdf,
## http://de.scribd.com/doc/75941305/Confidence-Interval-for-Median-Based-on-Sign-Test
cimed <- function(x, alpha=0.05, na.rm=FALSE) {
  if(na.rm) x <- x[! is.na(x)]
  n <- length(x)
  k <- qbinom(p=alpha / 2, size=n, prob=0.5, lower.tail=TRUE)
  ## Actual CL: 1 - 2 * pbinom(k - 1, size=n, prob=0.5) >= 1 - alpha
  sort(x)[c(k, n - k + 1)]
}

n <- 20
m <- 20000
cil <- cilt <- 0
z <- qt(0.975, n - 1)

for(i in 1 : m) {
  x <- rnorm(n)
  cil  <- cil + diff(cimed(x))
  cilt <- cilt + 2 * z * sqrt(var(x) / n)
}
cil  <- cil / m
cilt <- cilt / m

c(cil, cilt, cilt / cil, cil / cilt)
Frank Harrell
sumber
1
Ini intensif secara komputasi, tetapi bagaimana jika Anda menggunakan cdf empiris, mulai membuat jembatan Brown secara acak; masing-masing jembatan Brown mewakili delta antara ecdf dan beberapa hipotesis hipotetis. Hitung rata-rata dengan menggunakan hipotesis hipotetis dan beratkan dengan faktor yang ditentukan oleh uji KS. Mengulangi ini sebentar, Anda akan memiliki seperangkat data tertimbang berarti dan dapat menghitung interval kepercayaan.
Nir Friedman
Saya tidak memiliki cdf hipotetis. Dan apa yang akan terjadi jika Anda hanya menggunakan wilayah kepercayaan atas dan bawah 0,95 dari KS dan menghitung mean dari mereka, yaitu, apakah ini akan menjadi sangat konservatif.
Frank Harrell
Cdf hipotetis diperkenalkan dengan menambahkan jembatan Brown yang dibuat secara acak ke cdf empiris. Juga, saya tidak menyarankan mengambil mean dari wilayah kepercayaan. Saya menyarankan mendapatkan banyak cara dengan menghasilkan banyak distribusi hipotetis, dengan bobot yang sesuai, dan kemudian mendapatkan interval kepercayaan. Ini pada dasarnya hanya pendekatan yang berbeda untuk bootstrap, saya pikir hasilnya bisa berbeda.
Nir Friedman
Akan menarik untuk melihat seberapa efisien dapat diprogram dan seberapa akurat cakupan interval kepercayaan. Terima kasih untuk sarannya. Saya ingin tahu apakah bootstrap Bayesian akan meniru itu. Saya sudah mencoba bootstrap Bayesian dalam konteks lain dan itu tidak meningkatkan cakupan interval kepercayaan.
Frank Harrell

Jawaban:

11

Saya agak pesimis tentang metode non-parametrik seperti itu, setidaknya tanpa pengenalan semacam kendala pada distribusi yang mendasarinya.

nn interval kepercayaan akan harus sewenang-wenang besar.

αααnα berarti benar.

Jadi jika Anda mencari cakupan asimptotik yang tepat , tentu saja ini dapat dicapai oleh CLT. Namun, pertanyaan Anda menyiratkan bahwa Anda (cukup masuk akal) tertarik dengan cakupan yang terbatas. Seperti contoh saya tunjukkan, akan selalu ada kasus patologis yang merusak CI dengan panjang yang terbatas.

Sekarang, Anda masih bisa memiliki CI non-parametrik yang mencapai cakupan terbatas yang baik dengan menambahkan kendala pada distribusi Anda. Sebagai contoh, batasan log-cekung adalah batasan non-parametrik. Namun, tampaknya tidak cukup untuk masalah Anda, karena log-normal bukan log-cekung.

α

Cliff AB
sumber
2
Pikiran yang luar biasa. Saya ragu untuk meminta kendala seperti itu karena saya melihat distribusi bimodal dan kompleksitas lainnya cukup sering.
Frank Harrell
1
@ Frankharrell: telah ada pekerjaan yang dilakukan dengan model campuran dengan komponen log-cekung non-parametrik. Namun, saya tidak dapat membayangkan saat ini bahwa ada metode yang baik untuk menciptakan kepercayaan untuk rata-rata keseluruhan, terutama jika jumlah komponen tidak diketahui sebelumnya.
Cliff AB
2

Salah satu asumsi mendasar dari setiap sampel adalah keterwakilan. Semakin lama ekor suatu distribusi, semakin kecil kemungkinan sampel kecil akan cukup representatif untuk setiap metode untuk memecahkan CI dengan andal karena sampel tidak akan dapat mewakili distribusi.

Misalnya, menjalankan perc CI sederhana pada distribusi eksponensial dengan ukuran sampel 250 menghasilkan hasil yang cukup ok. Mereka jauh lebih baik daripada dengan sampel 25, meskipun masih tidak ideal.

Saya setuju dengan Cliff AB bahwa tidak akan ada solusi umum tetapi Anda tidak perlu berhipotesis distribusi ekstrim. Tidak akan ada apa pun yang bekerja secara luas dengan sampel kecil. Dan dalam beberapa kasus sampel mungkin harus sangat besar (tetapi alangkah baiknya jika salah).

John
sumber