Чому мій інтервал завантаження має жахливе покриття?


29

Я хотів провести демонстрацію класу, де я порівнюю t-інтервал з інтервалом завантаження і обчислив вірогідність покриття обох. Я хотів, щоб дані надходили з перекошеного розподілу, тому я вирішив генерувати дані як exp(rnorm(10, 0, 2)) + 1зразок розміром 10 із зрушеної лонормальної. Я написав сценарій, щоб намалювати 1000 зразків і, для кожного зразка, обчислити 95% інтервал t і 95% інтервал завантажувального перцентиля на основі 1000 повторень.

Коли я запускаю сценарій, обидва способи дають дуже однакові інтервали, і обидва мають ймовірність покриття 50-60%. Я був здивований, тому що думав, що інтервал завантаження буде кращим.

Моє запитання: чи маю я

  • помилився в коді?
  • помилилися в обчисленні інтервалів?
  • помилилися, очікуючи, що інтервал завантаження матиме кращі властивості покриття?

Також, чи існує спосіб побудови більш надійної ІС у цій ситуації?

 tCI.total <- 0
 bootCI.total <- 0
 m <- 10 # sample size
 true.mean <- exp(2) + 1

for (i in 1:1000){
 samp <- exp(rnorm(m,0,2)) + 1
 tCI <- mean(samp) + c(1,-1)*qt(0.025,df=9)*sd(samp)/sqrt(10)

 boot.means <- rep(0,1000)
 for (j in 1:1000) boot.means[j] <- mean(sample(samp,m,replace=T))
 bootCI <- sort(boot.means)[c(0.025*length(boot.means), 0.975*length(boot.means))]

 if (true.mean > min(tCI) & true.mean < max(tCI)) tCI.total <- tCI.total + 1
 if (true.mean > min(bootCI) & true.mean < max(bootCI)) bootCI.total <- bootCI.total + 1 
}
tCI.total/1000     # estimate of t interval coverage probability
bootCI.total/1000  # estimate of bootstrap interval coverage probability

3
Люди часто забувають про інше використання завантажувальної стрічки: для виявлення та виправлення упередженості . Я підозрюю, що якби ви включили корекцію зміщення у свій завантажувальний інструмент, ви могли б отримати набагато кращі показники роботи із ІС.
whuber

@whuber: приємна точка, +1. Наскільки я пам’ятаю, методи Bootstrap та їх застосування від Davison & Hinkley дають приємне та доступне вступ до корекції зміщення та інших удосконалень завантажувальної програми.
S. Kolassa - Відновіть Моніку

1
Варто спробувати інші варіанти завантажувача, особливо базовий завантажувальний.
Френк Харрелл

3
Запуск завантажень - процедура великого зразка. не велике, особливо для нормальних даних журналу . н=10
Кліф АВ

Відповіді:


16

Діагностика та засоби завантаження компанії Canto, Davison, Hinkley & Ventura (2006), здається, є логічною точкою відправлення. Вони обговорюють кілька способів руйнування завантажувального пристрою і - що ще важливіше - пропонують діагностику та можливі способи лікування:

  1. Випускники
  2. Неправильна модель перекомпонування
  3. Безлюдність
  4. Невідповідність методу завантаження

Я не бачу проблем з 1, 2 і 4 в цій ситуації. Подивимось на 3. Як зазначає @Ben Ogorek (хоча я погоджуюся з @Glen_b, що обговорення нормальності може бути червоною оселедцем), обгрунтованість завантажувальної програми залежить від основної важливості статистики, яка нас цікавить.

Розділ 4 у Canty et al. пропонує повторне розміщення в межах resamples, щоб отримати міру зміщення та дисперсії для оцінки параметра в межах кожної повторної вибірки завантажувальної програми . Ось код для копіювання формул з p. 15 статті:

library(boot)
m <- 10 # sample size
n.boot <- 1000
inner.boot <- 1000

set.seed(1)
samp.mean <- bias <- vars <- rep(NA,n.boot)
for ( ii in 1:n.boot ) {
    samp <- exp(rnorm(m,0,2)) + 1
    samp.mean[ii] <- mean(samp)
    foo <- boot(samp,statistic=function(xx,index)mean(xx[index]),R=inner.boot)
    bias[ii] <- mean(foo$t[,1])-foo$t0
    vars[ii] <- var(foo$t[,1])
}

opar <- par(mfrow=c(1,2))
    plot(samp.mean,bias,xlab="Sample means",ylab="Bias",
        main="Bias against sample means",pch=19,log="x")
    abline(h=0)
    plot(samp.mean,vars,xlab="Sample means",ylab="Variance",
        main="Variance against sample means",pch=19,log="xy")
par(opar)

діагностика завантаження

Зверніть увагу на ваги журналів - без журналів це ще більш кричуще. Ми добре бачимо, як дисперсія середньої оцінки завантажувальної програми піднімається із середньою величиною вибірки завантажувальної програми. Мені це здається достатньою для куріння пістолета, щоб притягнути вину до неграмотності як винуватця низького покриття довірчого інтервалу.

Однак я із задоволенням визнаю, що можна було б вести багато способів. Наприклад, ми могли б подивитися на те, чи включає інтервал довіри від конкретної репліки завантажувача справжнє середнє значення, що залежить від середньої репліки.

Щодо засобів захисту, Canty та ін. обговорюють перетворення, і логарифми тут приходять на думку (наприклад, завантажувати та створювати довірчі інтервали не для середнього, а для середнього даних, що ввійшли в систему), але я не міг реально змусити його працювати.

Канті та ін. продовжуйте обговорювати, як можна зменшити кількість внутрішніх завантажувальних пристроїв і шум, що залишився, шляхом вибірки та згладжування важливості, а також додати смуги довіри до шарнірних сюжетів.

Це може бути цікавим дипломним проектом для розумного студента. Буду вдячний за будь-які вказівки, на які я помилився, а також будь-яку іншу літературу. І я смію додати diagnosticтег до цього питання.


13

мк^-мк
мк^т
ммк^-мкσ^

Тоді я подумав трохи більше про всю установку. Маючи лише 10 спостережень та надзвичайно перекошений розподіл, чи не є в принципі неможливим непараметрично оцінити середній, не кажучи вже про побудову довірчих інтервалів з правильним покриттям?

е2+1=8.39П(Х2)=0,84ХN(0,4)0,840,8410=0,178. Тож у трохи менше 18% випадків найбільше спостереження менше середнього. Для отримання покриття більше 0,82 нам потрібна побудова довірчого інтервалу для середнього розширення, що перевищує найбільше спостереження. Мені важко уявити, як можна зробити таку конструкцію (і виправдано) без попередніх припущень, що розподіл надзвичайно перекошений. Але я вітаю будь-які пропозиції.


Я погоджуюсь з тобою. Мені дуже хотілося подумати про це з точки зору того, хто отримав один зразок з цього розподілу. Як я можу знати, що в цьому випадку небезпечно використовувати завантажувальний інструмент? Єдина думка, про яку я можу придумати, - це те, що я, можливо, взяв журнали перед тим, як робити аналіз, але один з інших відповідачів каже, що це насправді не допомагає.
Flounderer

1
Ви не знатимете, безпечний чи небезпечний лише з 10 точок даних. Якщо ви підозрюєте, що косоокість або важкі хвости, рішенням може бути зосередження уваги на іншому параметрі, ніж середній. Наприклад, середнє значення журналу або медіана. Це не дасть вам оцінити (або інтервал довіри) для середнього, якщо ви не зробите додаткові припущення, але, можливо, було б краще ідею зосередитись на параметрі, який менш чутливий до хвостів розподілу.
NRH

6

Розрахунки були правильні, я перехресно перевірив добре відомий пакет завантаження . Додатково я додав інтервал BCa (за Ефроном), скореговану на зміну версію процентного інтервалу завантажувальної стрічки:

for (i in 1:1000) {
  samp <- exp(rnorm(m, 0, 2)) + 1

  boot.out <- boot(samp, function(d, i) sum(d[i]) / m, R=999)
  ci <- boot.ci(boot.out, 0.95, type="all")

  ##tCI <- mean(samp) + c(1,-1)*qt(0.025,df=9)*sd(samp)/sqrt(10)
  tCI <- ci$normal[2:3]
      percCI <- ci$perc[4:5]
  bcaCI <- ci$bca[4:5]
      boottCI <- ci$student[4:5]

  if (true.mean > min(tCI) && true.mean < max(tCI)) tCI.total <- tCI.total + 1
  if (true.mean > min(percCI) && true.mean < max(percCI)) percCI.total <- percCI.total + 1 
  if (true.mean > min(bcaCI) && true.mean < max(bcaCI)) bcaCI.total <- bcaCI.total + 1
}

tCI.total/1000     # estimate of t interval coverage probability
0.53
percCI.total/1000  # estimate of percentile interval coverage probability
0.55
bcaCI.total/1000  # estimate of BCa interval coverage probability
0.61

Я припускаю, що інтервали будуть набагато кращими, якщо вихідний розмір вибірки буде більшим, ніж 10, скажімо, 20 або 50.

Крім того, метод bootstrap-t зазвичай призводить до кращих результатів для перекошеної статистики. Однак для цього потрібен вкладений цикл і, отже, в 20+ разів більше часу на обчислення.

Для тестування гіпотез також дуже важливо, щоб однобічні покриття були хорошими. Тож дивлячись лише на двосторонні покриття часто можна ввести в оману.


1
н<100

5

Мене з цим також бентежили, і я витратив багато часу на інтервали інтерв'ю Bootstrap Confidence 1996 року «DiCiccio» та «Efron» , не особливо для цього.

Це насправді змусило мене менше думати про завантажувальний інструмент як про метод загального призначення. Раніше я думав про це як про щось, що витягло б вас із варення, коли ви справді застрягли. Але я дізнався його брудний маленький секрет: інтервали довіри завантажувальної програми так чи інакше базуються на нормальності. Дозвольте мені пояснити.

хN(мк,σ2)
σ
z=х-мкσN(0,1)
мкПр(-1,96х-мкσ1,96)=0,95

Коли ви замислюєтеся над тим, що виправдовує відсоткові норми нормального розподілу, пов'язані з довірчими інтервалами, це повністю базується на цій зручній основної кількості. Для довільного розподілу не існує теоретичного зв’язку між відсотками розподілу вибірки та довірчими інтервалами , а взяття необроблених пропорцій розподілу вибірки завантажувальної програми не перерізає його.

Отже, інтервали BCa Efron (виправлені з урахуванням зміщення) використовують перетворення для досягнення приблизної нормальності, а методи bootstrap-t покладаються на те, що отримана t-статистика є приблизно ключовою. Тепер завантажувальна машина може оцінити пекло з моментів, і ви завжди можете припустити нормальність і використовувати стандарт +/- 2 * SE. Але з огляду на всю роботу, яка перейшла в непараметричні показники завантажувальної програми, це здається не зовсім справедливим, чи не так?


2
Можливо, я щось пропустив, але той факт, що завантажувальний зв'язок пов’язаний із стрижневими або близькими до головних кількостях, сам по собі не означає жодної асоціації з нормальністю. Основні величини можуть мати всі способи розподілу за певних обставин. Я також не бачу, як випливає курсивне речення у другому останньому абзаці.
Glen_b -Встановити Моніку

1
Як тоді випливає твердження про нормальність?
Glen_b -Встановити Моніку

1
ЖΦ-1[Ж(Х)]

2
Ж

2
Щоб додати до @Glen_b: перетворення до нормального розподілу має існувати лише для доведення правильності методу. Вам не потрібно знайти його для використання методу. Крім того, якщо вам не подобаються звичайні розподіли, ви можете переписати цілий доказ з іншим симетричним безперервним розподілом. Використання звичайних розподілів технічно корисно, але не є строго необхідним, воно не говорить нічого про джерело даних або про вибірку.
Пітер

0

Перегляньте статтю Тіма Хестерберга в американському статистику за адресою http://www.timhesterberg.net/bootstrap#TOC-What-Teachers-Should-Know-about-the-Bootstrap:-Resampling-in-the-Undergraduate-Statistics-Curriculum .

По суті, інтервал завантажувального перцентиля не має великої ймовірності покриття для перекошених даних, якщо n не є великим.

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