¿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!

usuario1357015
fuente
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.

Kieran
fuente
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