79 votos

Regla general para el número de muestras bootstrap

Me pregunto si alguien conoce alguna regla general sobre el número de muestras bootstrap que se debe utilizar, en función de las características de los datos (número de observaciones, etc.) y/o de las variables incluidas.

3 votos

Yo también tengo curiosidad por esto, ya que estoy planeando un análisis de simulación. ¿Hay alguna razón para no tomar tantas muestras como sea posible/práctico? Aparte de las preocupaciones ambientales (por ejemplo, el gasto de electricidad) y las preocupaciones personales (por ejemplo, la superación de los umbrales críticos para la frialdad sostenible, la transición hacia el frikismo puro ), no veo ninguna contraindicación en las respuestas hasta el momento (+1 a todos por cierto)...

6 votos

@Nick Estoy en gran medida de acuerdo - por lo general uso tantos como puedo permitirme esperar (por lo general hasta un millón, aunque no siempre), pero normalmente considero 1000 como un límite inferior bastante claro. Como primer intento, a menudo hago 1K para obtener información de tiempo, y luego calcular cuántos múltiplos de eso estoy dispuesto a esperar para la respuesta real.

1 votos

Si la parte del proceso que consume tiempo es la generación de simulaciones, y las observaciones de las mismas pueden agregarse fácilmente (como a menudo pueden hacerlo con un poco de codificación adicional), parece que hay pocas excusas para no pecar de exceso. Supongo que podría irse de las manos con el tiempo si la gente lo hiciera y se olvidara de por qué, pero como probablemente nunca va a ser el caso... Tener un umbral mínimo al que la gente aspira innecesariamente parece un poco contraproducente, si la alternativa -sólo ir a por más hasta que realmente no quede espacio para la duda- se desalienta implícitamente.

55voto

alexs77 Puntos 36

Mi experiencia es que los estadísticos no se toman en serio las simulaciones o las pruebas de arranque a menos que el número de iteraciones sea superior a 1.000. El error de MC es un gran problema que no se aprecia lo suficiente. Por ejemplo, este documento usado Niter=50 para demostrar que LASSO es una herramienta de selección de características. Mi tesis habría tardado mucho menos en ejecutarse si se hubieran considerado aceptables 50 iteraciones. Recomiendo que siempre inspeccionar el histograma de las muestras bootstrap . Su distribución debería ser bastante regular. No creo que ninguna regla numérica simple sea suficiente, y sería exagerado realizar, por ejemplo, un doble bootstrap para evaluar el error de MC.

Supongamos que se estima la media de una relación de dos variables aleatorias normales independientes, algún estadístico podría recomendar la realización de un bootstrap, ya que la integral es difícil de calcular. Si tienes conocimientos básicos de teoría de la probabilidad, reconocerás que este cociente forma una variable aleatoria de Cauchy con una media inexistente. Cualquier otra distribución leptocúrtica requeriría varias iteraciones adicionales de bootstrap en comparación con una densidad gaussiana más regular. En ese caso, 1000, 100000 o 10000000 muestras bootstrap serían insuficientes para estimar lo que no existe. El histograma de estos bootstraps seguiría pareciendo irregular y erróneo.

Hay algunas arrugas más en esa historia. En particular, el bootstrap sólo está realmente justificado cuando existen los momentos del modelo de probabilidad que genera los datos. Esto se debe a que estás utilizando la función de distribución empírica como un hombre de paja para el modelo de probabilidad real, y asumiendo que tienen la misma media, desviación estándar, asimetría, percentil 99, etc.

En resumen, una estimación bootstrap de una estadística y su error estándar sólo está justificada cuando el histograma de las muestras bootstrap parece regular más allá de toda duda razonable y cuando el bootstrap está justificado.

8 votos

Yo también he visto siempre grandes muestras bootstrap. Sin embargo, en "An Introduction to the Bootstrap" (1994), de Efron y Tibshirani, informan de que se puede obtener una estimación decente con B=25, y con B=200 te acercas a un coeficiente de variación similar al infinito. Proporcionan una tabla de los coeficientes de variación para varios B (p. 52-53, ambas páginas están disponibles en google books).

25voto

x0n Puntos 26002

editar:

Si se toma en serio lo de tener suficientes muestras, lo que debería hacer es ejecutar su procedimiento bootstrap con, lo que espera que sean, suficientes muestras un número de veces y ver cuánto "saltan" las estimaciones bootstrap. Si las estimaciones repetidas no difieren mucho (el "mucho" depende de su situación específica), lo más probable es que esté bien. Por supuesto, se puede estimar cuánto saltan las estimaciones repetidas calculando la SD de la muestra o algo similar.

Si quieres una referencia y una regla general Wilcox(2010) escribe "599 se recomienda para uso general". Pero esto debe considerarse sólo una guía o quizás el número mínimo de muestras que debe considerar. Si quiere estar seguro, no hay razón (si es computacionalmente factible) por la que no deba generar un orden de magnitud más de muestras.

A título personal, suelo realizar 10.000 muestras cuando estimo "para mí" y 100.000 muestras cuando estimo algo que se transmite a otros (pero esto es rápido, ya que trabajo con conjuntos de datos pequeños).

Referencia

Wilcox, R. R. (2010). Fundamentos de los métodos estadísticos modernos: Mejora sustancial de la potencia y la precisión. Springer.

31 votos

599? ¿Mil novecientos noventa y nueve? ¿Qué argumento puede haber a favor de este número?

0 votos

Supongo que se lo preguntarán a Wilcox (2010)... Pero yo también tengo curiosidad; ¿quizás Rasmus nos agracie con un poco más de contexto en torno a la cita?

0 votos

No me queda claro de dónde viene el 599 también... sin embargo, agregó un mejor consejo a la respuesta...

16voto

cbeleites Puntos 12461

Hay algunas situaciones en las que se puede decir, ya sea de antemano o después de unas pocas iteraciones, que un gran número de iteraciones de bootstrap no ayudará al final.

  • Es de esperar que tenga una idea de antemano sobre el orden de magnitud de la precisión que se requiere para una interpretación significativa de los resultados. Si no es así, tal vez sea el momento de aprender un poco más sobre el problema que hay detrás del análisis de datos. De todos modos, después de unas cuantas iteraciones puede ser capaz de estimar cuántas iteraciones más se necesitan.

  • Evidentemente, si tienes muy pocos casos (por ejemplo, el comité de ética permitió 5 ratas) no necesitas pensar en decenas de miles de iteraciones. Tal vez sería mejor mirar todos los sorteos posibles. Y tal vez sería incluso mejor detenerse a pensar en la certeza de cualquier tipo de conclusión puede (no) estar basada en 5 ratas.

  • Piensa en la incertidumbre total de los resultados. En mi campo, la parte de la incertidumbre que se puede medir y reducir mediante el bootstrapping puede ser sólo una parte menor de la incertidumbre total (por ejemplo, debido a las restricciones en el diseño de los experimentos, a menudo no se cubren importantes fuentes de variación en el experimento - digamos que empezamos con experimentos en líneas celulares aunque el objetivo final serán, por supuesto, los pacientes). En esta situación, no tiene sentido realizar demasiadas iteraciones, ya que de todos modos no ayudará al resultado final y, además, puede producir una falsa sensación de certeza.

  • Un problema relacionado (aunque no exactamente el mismo) se produce durante la validación cruzada o fuera del bootstrap de los modelos: hay dos fuentes de incertidumbre: el número finito (y, en mi caso, normalmente muy pequeño de casos independientes) y la (in)estabilidad de los modelos del bootstrap. Dependiendo de la configuración de la validación por remuestreo, puede que sólo una de ellas contribuya a la estimación por remuestreo. En ese caso, puede utilizar una estimación de la otra fuente de varianza para juzgar qué certeza debe alcanzar con el remuestreo, y cuándo deja de ayudar al resultado final.

  • Por último, aunque hasta ahora mis reflexiones eran sobre cómo hacer menos iteraciones, he aquí una consideración práctica a favor de hacer más :
    En la práctica, mi trabajo no se realiza después de la ejecución del bootstrap. El resultado del bootstrap debe agregarse en estadísticas de resumen y/o cifras. Hay que interpretar los resultados y redactar el documento o el informe. Mucho de esto puede hacerse ya con los resultados preliminares de unas pocas iteraciones del bootstrap (si los resultados son claros, se muestran ya después de unas pocas iteraciones, si están en el límite se quedarán en el límite). Así que a menudo configuro el bootstrap de forma que me permita obtener resultados preliminares para poder seguir trabajando mientras el ordenador calcula. Así no me molesta mucho si el bootstrapping tarda otros días.

14voto

OpenIntro Puntos 136

TLDR. 10.000 parece ser una buena regla general, por ejemplo, los valores p de este tamaño o de un número mayor de muestras bootstrap estarán dentro del 0,01 del "verdadero valor p" del método aproximadamente el 95% de las veces.

A continuación sólo considero el enfoque de bootstrap percentil, que es el método más utilizado (hasta donde yo sé), pero también Hay que admitir que tiene puntos débiles y que no debería utilizarse con muestras pequeñas .

Reencuadre ligeramente. Puede ser útil calcular la incertidumbre asociada a los resultados del bootstrap para tener una idea de la incertidumbre resultante del uso del bootstrap. Tenga en cuenta que esto no aborda las posibles debilidades del bootstrap (por ejemplo, véase el enlace anterior), pero ayuda a evaluar si hay "suficientes" muestras de bootstrap en una aplicación concreta. En general, el error relacionado con el tamaño de la muestra bootstrap n llega a cero a medida que n va hasta el infinito, y la pregunta que se hace es cuán grande debe ser n para que el error asociado al pequeño tamaño de la muestra bootstrap sea pequeño?

Incertidumbre Bootstrap en un valor p. La imprecisión en un valor p estimado, digamos que pv_est es el valor p estimado a partir del bootstrap, es de aproximadamente 2 x sqrt(pv_est * (1 - pv_est) / N) , donde N es el número de muestras bootstrap. Esto es válido si pv_est * N et (1 - pv_est) * N son ambos >= 10 . Si uno de ellos es menor que 10, entonces es menos preciso pero muy aproximadamente en el mismo vecindario que esa estimación.

Error de Bootstrap en un intervalo de confianza. Si se utiliza un intervalo de confianza del 95%, entonces observe la variabilidad de los cuantiles de la distribución bootstrap cerca del 2,5% y del 97,5% comprobando los percentiles en (para el percentil 2,5) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n) . Esta fórmula comunica la incertidumbre del extremo inferior del intervalo de confianza del 95% en función del número de muestras bootstrap tomadas. Debería hacerse una exploración similar en el extremo superior. Si esta estimación es algo volátil, ¡asegúrese de tomar más muestras bootstrap!

0 votos

Escoge cualquier n y cualquier valor multiplicativo (¿2 veces, 10 veces?), puedo darte un modelo de probabilidad para el que la máxima verosimilitud tiene ese valor como eficiencia relativa al bootstrap.

6voto

kylex Puntos 3796

La mayoría de las aplicaciones de bootstrapping que he visto reportan alrededor de 2.000 a 100k iteraciones. En la práctica moderna, con un software adecuado, los problemas más destacados del bootstrap son los estadísticos, más que el tiempo y la capacidad de cálculo. Para los usuarios novatos con Excel, uno podría realizar sólo varios cientos antes de requerir el uso de programación avanzada de Visual Basic. Sin embargo, R es mucho más sencillo de utilizar y hace que la generación de miles de valores con bootstrap sea fácil y directa.

0 votos

El bootstrapping es fácil de codificar desde cero en casi cualquier lenguaje de programación, especialmente en los lenguajes de scripting modernos, y muchos lenguajes también tienen ya implementaciones disponibles. Lo mismo puede decirse de las permutaciones de muestreo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X