¿Por qué se genera el error "ajuste estimado 'a' es NA" a partir del paquete de arranque R al calcular los intervalos de confianza utilizando el método bca?


14

Tengo un vector de números que he subido aquí (... / code / MyData.Rdata) usando dput.

Me gustaría obtener el bca ci, así que escribí este código:

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

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

Pero cuando ejecuto lo siguiente me sale esto:

> 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

¿Alguien puede ayudarme a descubrir qué está causando este error? ¡Gracias por tu ayuda!


3
He intentado con R = 10000 en lugar de R = 1000 (y especificando type = 'bca' en lugar de type = 'all' ya que esto es lo que realmente quieres) y funciona. Entonces, mi conclusión sería que lo que está causando este error no son suficientes repeticiones de arranque ... pero no puedo decir más ...
ocram

Respuestas:


23

Como puede ver en su mensaje de error, boot.cillamadas bca.ci. Debido a que el boot.outobjeto no se suministra L, los valores de influencia empírica para la estadística que está calculando en los datos, bca.ciintenta calcularlos usando la empinffunción y luego (como dice Michael) los usa para calcular la constante de aceleración:

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

Pero con un pequeño número de repeticiones, a empinfveces falla y devuelve un vector de NAvalores. El resultado es que no tiene valores L, ano puede calcularse y obtiene su error. Como dice ocram, aumentar el número de repeticiones boostrap solucionará esto. Incluso duplicar Ra 2000 probablemente debería hacerlo.


1
+1 @Kieran ¡Gracias! Me alegra que mi suposición haya tenido alguna validez. Tiene la respuesta correcta de su conocimiento de los programas de R involucrados. entonces mi respuesta ya no es necesaria. Alguien no quería que adivinara o pensaba que mi respuesta debería ser un comentario. Por todas esas razones, tiene sentido para mí eliminarlo ahora.
Michael R. Chernick

44
Para otros que sufren el problema: Según stat.ethz.ch/pipermail/r-help/2011-February/269006.html, el número de repeticiones debe ser mayor que el número de filas de datos. Se me dijo suavemente que son necesarias tantas repeticiones ...
BurninLeo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.