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.
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.
Respuestas:
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=50
demostrar 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.
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).
Wilcox, RR (2010). Fundamentos de los métodos estadísticos modernos: mejora sustancial de la potencia y la precisión. Saltador.
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.
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 n
al infinito, y la pregunta es, ¿qué tan grande debe n
ser 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 N
está el número de muestras de bootstrap. Esto es válido si pv_est * N
y (1 - pv_est) * N
son 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!
Tenemos
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).
"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 ".
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.