Regla general para la cantidad de muestras de bootstrap

40

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

hoyem
fuente
2
También he sentido 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 / practicable? Aparte de las preocupaciones ambientales (p. Ej., Gasto de electricidad) y las preocupaciones personales (p. Ej., Exceder los umbrales críticos para el nerdiness sostenible, la transición al geekdom puro ), hasta ahora no veo ninguna contraindicación en las respuestas (+1 en todo BTW). .
Nick Stauner
44
@Nick Estoy de acuerdo en gran medida: generalmente uso tantos como puedo permitirme esperar (generalmente superando un millón, aunque no siempre), pero generalmente considero 1000 como un límite inferior bastante claro. Como primer intento, a menudo hago 1K para obtener información de tiempo, y luego calculo cuántos múltiplos de eso estoy preparado para esperar la respuesta real.
Glen_b -Reinstala a Monica
1
Si la parte del proceso que lleva mucho tiempo genera simulaciones, y las observaciones de ellos se pueden agregar fácilmente (como a menudo pueden hacerlo con un poco de codificación adicional), parece que hay poca excusa para no equivocarse en el lado del exceso de logro. Supongo que con el tiempo podría escalar si las personas hicieran esto y olvidaran por qué, pero dado que probablemente ese nunca será el caso ... Tener un umbral mínimo al que las personas aspiran innecesariamente parece un poco contraproducente, si la alternativa ... solo ir por más hasta que realmente no quede espacio para la duda, por lo tanto, se desalienta implícitamente.
Nick Stauner
Solo arranco hasta que veo una clara convergencia. Si desea aliviar las preocupaciones de los revisores, simplemente incluiría una visualización de las iteraciones de bootstrap frente a la estimación resultante para ilustrar la convergencia.
RTbecard
North y col. 2002 proporciona algunas pautas que he encontrado útiles DOI: 10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

Respuestas:

33

Mi experiencia es que los estadísticos no tomarán en serio las simulaciones o los bootstraps a menos que el número de iteraciones exceda de 1,000. El error de MC es un gran problema que es poco apreciado. Por ejemplo, este documento solía Niter=50demostrar LASSO como una herramienta de selección de características. ¡Mi tesis hubiera llevado mucho menos tiempo de ejecución si se hubieran considerado aceptables 50 iteraciones! Le recomiendo que siempre inspeccione el histograma de las muestras de bootstrap . Su distribución debería parecer bastante regular. No creo que una regla numérica simple sea suficiente, y sería excesivo realizar, digamos, un doble arranque para evaluar el error de MC.

Suponga que está estimando la media a partir de una relación de dos variables aleatorias normales estándar independientes, algún estadístico podría recomendar el arranque ya que la integral es difícil de calcular. Si tiene la teoría de probabilidad básica en su haber, reconocería que esta relación forma una variable aleatoria de Cauchy con una media inexistente. Cualquier otra distribución leptokurtica requeriría varias iteraciones de arranque adicionales en comparación con una contraparte gaussiana de densidad más regular. En ese caso, 1000, 100000 o 10000000 muestras de bootstrap serían insuficientes para estimar lo que no existe. El histograma de estas botas continuaría pareciendo irregular e incorrecto.

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

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

AdamO
fuente
3
Siempre he visto grandes muestras de bootstrap también. Sin embargo, en "Introducción a Bootstrap" (1994) de Efron y Tibshirani, informan que puede obtener una estimación decente con B = 25, y B = 200 se aproxima 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).
jeramy townsley
19

editar:

Si usted es serio acerca de tener suficientes muestras, lo que debe hacer es ejecutar su procedimiento de arranque con, lo que espera que sea, suficientes muestras varias veces y ver cuánto "saltan" las estimaciones de arranque. Si las estimaciones repetidas no difieren mucho (donde "mucho" depende de su situación específica) es muy probable que esté bien. Por supuesto, puede estimar cuánto saltan las estimaciones repetidas calculando la muestra SD o similar.

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

En una nota personal, tiendo a ejecutar 10,000 muestras al estimar "para mí" y 100,000 muestras al estimar algo que se pasa a otros (pero esto es rápido ya que trabajo con pequeños conjuntos de datos).

Referencia

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

Rasmus Bååth
fuente
17
599? ¿Quinientos noventa y nueve? ¿Qué demonios podría ser un argumento a favor de este número?
ameba dice Reinstate Monica
Pregúntele a Wilcox (2010), supongo ... aunque también tengo curiosidad; ¿Quizás Rasmus nos honraría con un poco más de contexto en torno a la cita?
Nick Stauner
no está claro para mí de dónde viene el 599 también ... aunque agregó algunos mejores consejos a la respuesta ...
Rasmus Bååth
8
@amoeba Puedes leer el "pasaje" por ti mismo . Este es un ejemplo de escritura excepcionalmente poco clara en estadística, y en particular solo se aplica a la inferencia en la media recortada con estimaciones de error estándar Windsorized .
AdamO
11

Hay algunas situaciones en las que puede decir de antemano o después de algunas iteraciones que un gran número de iteraciones de arranque no ayudará al final.

  • Es de esperar que tenga una idea de antemano sobre el orden de magnitud de precisión que se requiere para una interpretación significativa de los resultados. Si no lo hace, tal vez sea hora de aprender un poco más sobre el problema detrás del análisis de datos. De todos modos, después de algunas iteraciones, puede estimar cuántas iteraciones más se necesitan.

  • Obviamente, si tiene muy pocos casos (por ejemplo, el comité de ética permitió 5 ratas), no necesita pensar en decenas de miles de iteraciones. Tal vez sería mejor mirar todos los sorteos posibles. Y tal vez sería aún mejor detenerse y pensar cuán seguro puede ser (no) cualquier tipo de conclusión basada en 5 ratas.

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

  • Un problema relacionado (aunque no exactamente el mismo) ocurre durante la validación cruzada o fuera de lugar de los modelos: tiene dos fuentes de incertidumbre: la cantidad finita (y en mi caso generalmente muy pequeña de casos independientes) y (in) Estabilidad de los modelos bootstrapped. Dependiendo de la configuración de la validación de muestreo, es posible que solo uno de ellos contribuya a la estimación de muestreo. En ese caso, puede usar una estimación de la otra fuente de variación para juzgar qué certeza debe lograr con el nuevo muestreo y cuándo se detiene para ayudar al resultado final.

  • Finalmente, aunque hasta ahora mis pensamientos eran sobre cómo hacer menos iteraciones, aquí hay una consideración práctica a favor de hacer más :
    en la práctica, mi trabajo no se realiza después de ejecutar el bootstrap. El resultado de la rutina de carga debe agregarse en estadísticas y / o cifras resumidas. Los resultados deben ser interpretados en papel o informe para ser escrito. Gran parte de esto ya se puede hacer con resultados preliminares de algunas iteraciones de la rutina de carga (si los resultados son claros, se muestran después de algunas iteraciones, si están en el límite, permanecerán en el límite). Por lo tanto, a menudo configuro el arranque de una manera que me permite obtener resultados preliminares para poder seguir trabajando mientras la computadora calcula. De esa manera, no me molesta mucho si el arranque lleva otros días.

cbeleites apoya a Monica
fuente
10

TLDR. 10,000 parece ser una buena regla general, por ejemplo, los valores p de esta muestra de bootstrap grande o mayor estarán dentro de 0.01 del "valor p verdadero" para el método aproximadamente el 95% del tiempo.

Solo considero el enfoque de arranque por percentil a continuación, que es el método más utilizado (que yo sepa), pero también es cierto que tiene debilidades y no debe usarse con muestras pequeñas .

Enmarcando ligeramente. Puede ser útil calcular la incertidumbre asociada con los resultados del bootstrap para tener una idea de la incertidumbre resultante del uso del bootstrap. Tenga en cuenta que esto no resuelve las posibles debilidades en el bootstrap (por ejemplo, consulte el enlace anterior), pero ayuda a evaluar si hay "suficientes" muestras de bootstrap en una aplicación en particular. En general, el error relacionado con el tamaño de la muestra de bootstrap n va a cero nal infinito, y la pregunta es, ¿qué tan grande debe nser el error asociado con el tamaño de la muestra de bootstrap pequeño?

La incertidumbre de 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 aproximadamente 2 x sqrt(pv_est * (1 - pv_est) / N), dónde Nestá el número de muestras de bootstrap. Esto es válido si pv_est * Ny (1 - pv_est) * Nson ambos >= 10. Si uno de estos es menor que 10, entonces es menos preciso pero muy aproximado en el mismo vecindario que esa estimación.

Error de bootstrap en un intervalo de confianza. Si usa un intervalo de confianza del 95%, observe cómo la variabilidad de los cuantiles de la distribución de arranque se acerca al 2.5% y al 97.5% al ​​verificar 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 de bootstrap tomadas. Se debe hacer una exploración similar en el extremo superior. Si esta estimación es algo volátil, ¡asegúrese de tomar más muestras de arranque!

OpenIntro
fuente
n
7

599

αB

α(1+B)=integer

α1=0.1α2=0.05

Tenemos

B1=integer0.11,B2=integer0.051

599

Tomé la siguiente información de Davidson, R. y MacKinnon, JG (2000). Pruebas de bootstrap: ¿cuántas bootstraps? Revisiones econométricas, 19 (1), 55-68. (la versión del documento de trabajo se puede descargar libremente).

0.053990.011499

B

"Es fácil entender por qué el procedimiento de prueba previa funciona bien. Cuando la hipótesis nula es verdadera, B puede ser pequeño con seguridad, porque no nos preocupa el poder en absoluto. Del mismo modo, cuando el nulo es falso y el poder de prueba es extremadamente alto, B no necesita ser grande, porque la pérdida de potencia no es un problema grave. Sin embargo, cuando el valor nulo es falso y la potencia de prueba es moderadamente alta, B debe ser grande para evitar la pérdida de potencia. El procedimiento de prueba previa tiende a hacer B pequeño cuando puede ser con seguridad pequeño y grande cuando necesita ser grande ".

B

Alecos Papadopoulos
fuente
4

La mayoría de las aplicaciones de arranque que he visto reportaron alrededor de 2,000 a 100k iteraciones. En la práctica moderna con un software adecuado, los problemas principales con bootstrap son los estadísticos, más que el tiempo y la capacidad informática. Para usuarios novatos con Excel, uno podría realizar solo varios cientos antes de requerir el uso de programación avanzada de Visual Basic. Sin embargo, R es mucho más simple de usar y hace que la generación de miles de valores de arranque sea fácil y directa.

Germaniawerks
fuente