Як обчислити довірчі інтервали для ненормального розподілу?


21

У мене є 383 зразки, які мають великі ухили щодо деяких загальних значень, як би я обчислив середню значення 95%? Цільовий інтерфейс, який я обчислював, здається далеким, тому я вважаю, що мої дані не схожі на криву, коли я роблю гістограму. Тому я думаю, що я повинен використовувати щось на кшталт завантажувального завантаження, яке я не дуже добре розумію.


2
Одним із варіантів рішення було б використання асимптотичного КІ, який використовує той факт, що RV має обмежувальний стандартний нормальний розподіл. Ваш зразок досить великий, тому це може зробити гарне наближення. Х¯-мкS/н
ДжонК

1
Ні, ви виявите дійсно поганий покрив хвоста в обох хвостах довірчого інтервалу, використовуючи такий підхід. Середнє покриття може бути вдалим, але обидва показники помилок хвоста будуть помилковими.
Френк Харрелл

2
Що означає "сильний ухил до деяких загальних цінностей"? Зауважте, що упередження має особливе значення у статистиці; вам слід спробувати уникнути цього, якщо ви цього не маєте на увазі. Ви просто маєте на увазі "деякі особливі значення трапляються дуже часто"? Чи можете ви показати свої розрахунки та деякий показ або таблицю своїх даних?
Glen_b -Встановіть Моніку

Відповіді:


21

Так, завантажувальна програма - це альтернатива отримання середніх довірчих інтервалів (і ви повинні докласти трохи зусиль, якщо хочете зрозуміти метод).

Ідея така:

  1. Повторити вибір із заміною B разів.
  2. Для кожної з цих проб обчислюють середню вибірку.
  3. Обчисліть відповідний довірчий інтервал завантажувальної стрічки.

Щодо останнього кроку, існує кілька типів довірчого інтервалу завантажувальної стрічки (BCI). Наступні посилання представляють дискусію про властивості різних типів ІЦП:

http://staff.ustc.edu.cn/~zwp/teach/Stat-Comp/Efron_Bootstrap_CIs.pdf

http://www.tau.ac.il/~saharon/Boot/10.1.1.133.8405.pdf

Доброю практикою є обчислення кількох ІСН і спробування зрозуміти можливі розбіжності між ними.

В R ви можете легко реалізувати цю ідею, використовуючи пакет "завантаження" пакета R наступним чином:

rm(list=ls())
# Simulated data
set.seed(123)
data0 = rgamma(383,5,3)
mean(data0) # Sample mean

hist(data0) # Histogram of the data

library(boot) 

# function to obtain the mean
Bmean <- function(data, indices) {
  d <- data[indices] # allows boot to select sample 
    return(mean(d))
} 

# bootstrapping with 1000 replications 
results <- boot(data=data0, statistic=Bmean, R=1000)

# view results
results 
plot(results)

# get 95% confidence interval 
boot.ci(results, type=c("norm", "basic", "perc", "bca"))

3
Останній крок, обчисливши декілька, передбачає риболовлю на CI, який вам подобається в результаті. Ви повинні визначитися з типом CI, який ви хочете, виходячи з того, що вони є заздалегідь.
Іван

@John Різні CI мають різні властивості. Це хороша практика перевірити можливі невідповідності (і спробувати дослідити джерело цього). Йдеться не про риболовлю для зручного результату.
Мюнхаузен

Абсолютно, але без такого опису причини у вашій відповіді це "передбачає" риболовлю. І ви все ще не заявляєте, що важливо спочатку вибрати той ІП, який Ви хочете. Я пропоную оновити відповідь з деякою критичною інформацією для наївного запитувача. Було б навіть краще, якщо ви вкажете, який саме CI ви віддаєте перевагу і чому, або який ви віддаєте перевагу у таких випадках і чому.
Іван

2
@IhaveCandy: Ні. Вона демонструє центральну граничну теорему, тобто те, як розподіл вибірки середнього значення доходить до норми, навіть для значень після дуже "ненормального" розподілу. Ось чому простий інтервал z довіри не буде сильно відрізнятися від будь-якого іншого вигадливого рішення, наприклад, завантажувального пристрою.
Майкл М

1
@IhaveCandy Будь ласка, дивіться мій коментар вище, Майкл Майєр робить той же пункт.
JohnK

8

Іншою стандартною альтернативою є обчислення ІС за допомогою тесту Вілкоксона. В Р

wilcox.test(your-data, conf.int = TRUE, conf.level = 0.95)

На жаль, це дає вам ІС навколо (псевдо) медіани не середнього значення, але тоді, якщо дані сильно ненормальні, можливо, медіана є більш інформативним заходом.


2

Для нормальних даних для журналу Olsson (2005) пропонує «модифікований метод Кокса»

ХЕ(Х)=θжурнал(θ)

Y¯=S22±тгfS2н+S42(н-1)

Y=журнал(Х)YY¯YS2

R-функція знаходиться нижче:

ModifiedCox <- function(x){
  n <- length(x)
  y <- log(x)
  y.m <- mean(y)
  y.var <- var(y)

  my.t <- qt(0.975, df = n-1)

  my.mean <- mean(x)
  upper <- y.m + y.var/2 + my.t*sqrt(y.var/n + y.var^2/(2*(n - 1)))
  lower <- y.m + y.var/2 - my.t*sqrt(y.var/n + y.var^2/(2*(n - 1)))

 return(list(upper = exp(upper), mean = my.mean, lower = exp(lower)))

}

Повторення прикладу з статті Олссона

CO.level <- c(12.5, 20, 4, 20, 25, 170, 15, 20, 15)

ModifiedCox(CO.level)
$upper
[1] 78.72254

$mean
[1] 33.5

$lower
[1] 12.30929

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.