Patrón extraño en la estimación del intervalo de confianza de la desviación estándar a través de bootstrapping

8

Quería estimar el intervalo de confianza para la desviación estándar de algunos datos. El código R se ve así:

library(boot)
sd_boot <- function (x, ind) {                
        res <- sd(x$ReadyChange[ind], na.rm = TRUE)
        return(res)            
}
data_boot <- boot::boot(data, statistic = sd_boot, R = 10000)
plot(data_boot)

Y tengo la siguiente trama: ingrese la descripción de la imagen aquí

Estoy atrapado en interpretar este histograma de bootstraps correctamente. Todos los demás conjuntos de datos similares muestran distribuciones normales de estimaciones de arranque ... Pero no esto. Por cierto, estos son datos sin procesar reales:

> data$ReadyChange
 [1] 27.800000  8.985046 11.728021  8.830856  5.738600 12.028310  7.771528  9.208924 11.778611  6.024259  5.969931  6.063484  4.915764
[14] 12.027639  9.111146 13.898171 12.921377  6.916667 10.764479  6.875000 12.875000  7.017917  9.750000  7.921782 12.911551  6.000000

¿Me pueden ayudar con la interpretación de este patrón de arranque?

usuario16
fuente
1
No puedo reproducir sus resultados incluso copiando y pegando el código. Me sale un histograma muy normalmente distribuido.
jwimberley
1
@jwimberley, había un vector de datos incorrecto ... Gracias por su tiempo para descubrirlo. Los datos reales están en la publicación debajo de EDITAR.
usuario16
2
patrón confirmado para nuevos datos. Supongo que es causado por el punto de datos 27.800000, que es mucho más grande que todos los demás.
psarka
2
@psarka Confirmando eso. Eliminar este punto elimina el comportamiento extraño. La desviación estándar de sd sin este punto es 3.02, pero 4.24 con este punto. Eso explica los picos en 3.02 y 4.24 (punto no incluido en bootstrap; punto incluido en bootstrap). Las resonancias más altas son cuando este punto se incluye varias veces.
jwimberley
1
@mdewey Esto se basó en una observación de psarka de la que no quiero dar crédito.
jwimberley

Respuestas:

21

Es posible que tenga un error en su código, o la biblioteca de arranque hace algo más de lo esperado.

Editar:

Después de que se proporcionaron los datos corregidos, se hizo evidente que el patrón fue causado por un valor atípico, con cada pico correspondiente al número diferente de veces que se seleccionó el valor atípico en una muestra.

ingrese la descripción de la imagen aquí

psarka
fuente
1
Lo mismo en R: después de hacer los datos del vector de 21 elementos de la manera obvia, cree una matriz de índices con inds <- matrix(sample(21,10000*21,replace=TRUE),10000,21)y luego busque los elementos de datos de cada columna y encuentre la desviación estándar con hist(apply(inds,1,function(ind){sd(data[ind])})). No hay picos múltiples.
jwimberley
1
Esta respuesta explica e ilustra muy bien el problema, pero no proporciona orientación ni consejos sobre qué hacer al respecto en la práctica.
ameba
8

Dudo en dejar esto como respuesta, pero para mí esto parece ser causado por la pequeña cantidad de puntos de datos en los que basa su arranque (21, corríjame si me equivoco).

Para ser más precisos, a mí me parece que estos 21 valores específicos , de los cuales tomas muestras, tienen solo unas pocas desviaciones estándar posibles con frecuencia (los picos en tu histograma). Si la muestra base fuera más grande y más diversa, el histograma resultante sería mucho más uniforme (y probablemente más similar a la distribución normal que esperaba).

En una nota general y suponiendo que estoy aquí, este es un buen ejemplo para mostrar que bootstrapping no resuelve los problemas de tener una muestra pequeña.

IWS
fuente
3
Me gustan las explicaciones como esta, ¡pero no puedo reproducir el resultado!
Nick Cox
1
@ NickCox Tienes toda la razón al señalar eso. Ingresé esta respuesta sin intentar replicar estos resultados. Como se puede ver en la respuesta de Psarka (que he votado inmediatamente) debe haber algún error de codificación. Por lo tanto, también he aprendido algo (para tratar de replicar tal problema).
IWS
También es clave que bootstrap dependa necesariamente de los datos originales.
Nick Cox
Por supuesto que sí, ¿qué punto estás haciendo?
IWS
1
¡Apoyándote! A saber, argumentando que los artefactos son posibles y que se necesita vigilancia.
Nick Cox