Чому помилка "розрахункове коригування" a "є NA" генерується з пакета завантаження R при обчисленні довірчих інтервалів методом bca?


14

У мене є векторний номер, який я завантажив сюди (... / code / MyData.Rdata) за допомогою dput.

Я хотів би отримати bca ci, тому я написав цей код:

my.mean <- function(dat, idx){
 return (mean(dat[idx], na.rm = TRUE))
} 

boot.out<-boot(data=my.data, statistic = my.mean, R=1000)

Але коли я запускаю наступне, я отримую це:

> boot.ci(boot.out)
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o,  : 
estimated adjustment 'a' is NA
In addition: Warning message:
In boot.ci(boot.out) : bootstrap variances needed for studentized intervals

Чи може хтось допомогти мені зрозуміти, що викликає цю помилку? Дякую за твою допомогу!


3
Я намагався з R = 10000 замість R = 1000 (і вказуючи type = 'bca' замість type = 'all', оскільки це те, що ви дійсно хочете), і це працює. Отже, мій висновок буде таким, що те, що викликає цю помилку, є недостатньою кількістю реплікацій завантажувальної програми ... але я не можу сказати більше ...
ocram

Відповіді:


23

Як видно зі свого повідомлення про помилку, boot.ciдзвінки bca.ci. Оскільки boot.outоб'єкт не надає L, значення емпіричного впливу на статистику, яку ви обчислюєте на даних, bca.ciнамагається обчислити їх за допомогою empinfфункції, а потім (як каже Майкл), він використовує їх для обчислення константи прискорення:

L <- empinf(boot.out, index = index, t = t.o, ...)
a <- sum(L^3)/(6 * sum(L^2)^1.5)

Але з невеликою кількістю реплікацій empinfіноді виходить з ладу і повертає вектор NAзначень. У результаті ви не маєте значень для L, aїх не можна обчислити, і ви отримаєте свою помилку. Як каже ocram, збільшення кількості реплікацій boostrap це виправить. Навіть подвоєння Rдо 2000 року повинно це зробити.


1
+1 @Kieran Дякую! Я радий, що моя здогадка мала певну силу. Ви маєте правильну відповідь на основі своїх знань щодо програм R. тому моя відповідь більше не потрібна. Хтось або не любив, як я здогадувався, або вважав, що моя відповідь має бути коментарем. З усіх цих причин має сенс видалити його зараз.
Майкл Р. Черник

4
Для інших, хто страждає від проблеми: Відповідно до stat.ethz.ch/pipermail/r-help/2011-February/269006.html кількість повторень має бути більшою за кількість рядків даних. Мене м'яко здивували, що так багато повторень потрібно ...
BurninLeo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.