131 votos

Diferencias entre validación cruzada y remuestreo bootstrap para estimar el error de predicción

Me gustaría conocer tu opinión sobre las diferencias entre la validación cruzada y el bootstrapping para estimar el error de predicción.

¿Cuál funciona mejor para tamaños de conjunto de datos pequeños o grandes?

110voto

VarLogRant Puntos 284

Se reduce a la varianza y al sesgo (como de costumbre). CV tiende a ser menos sesgado pero K-fold CV tiene una varianza bastante grande. Por otro lado, el bootstrap tiende a reducir drásticamente la varianza pero da resultados más sesgados (suelen ser pesimistas). Otros métodos de bootstrap se han adaptado para lidiar con el sesgo del bootstrap (como las reglas 632 y 632+).

Otros enfoques serían "Monte Carlo CV", también conocido como "leave-group-out CV", que hace muchas divisiones aleatorias de los datos (algo así como divisiones mini de entrenamiento y prueba). La varianza es muy baja para este método y el sesgo no es muy malo si el porcentaje de datos en la retención es bajo. Además, CV repetido hace K-fold varias veces y promedia los resultados de manera similar al K-fold regular. Soy más parcial a esto ya que mantiene el sesgo bajo y reduce la varianza.

Editar

Para tamaños de muestra grandes, los problemas de varianza se vuelven menos importantes y la parte computacional es más importante. Aún me quedaría con CV repetido para tamaños de muestra pequeños y grandes.

A continuación se muestra una investigación relevante (especialmente Kim y Molinaro).

Referencias

Bengio, Y. & Grandvalet, Y. (2005). Sesgo en la estimación de la varianza de la validación cruzada de k-fold. Modelado estadístico y análisis para problemas de datos complejos, 75–95.

Braga-Neto, U. M. (2004). ¿Es válida la validación cruzada para clasificación de microarrays con muestras pequeñas Bioinformática, 20(3), 374–380. doi:10.1093/bioinformatics/btg419

Efron, B. (1983). Estimación de la tasa de error de una regla de predicción: mejora en la validación cruzada. Journal of the American Statistical Association, 316–331.

Efron, B. & Tibshirani, R. (1997). Mejoras en la validación cruzada: El método de bootstrap 632+. Journal of the American Statistical Association, 548–560.

Furlanello, C., Merler, S., Chemini, C. & Rizzoli, A. (1997). Una aplicación de la regla bootstrap 632+ a datos ecológicos. WIRN 97.

Jiang, W. & Simon, R. (2007). Una comparación de métodos de bootstrap y un enfoque de bootstrap ajustado para la estimación del error de predicción en la clasificación de microarrays. Estadísticas en Medicina, 26(29), 5320–5334.

Jonathan, P., Krzanowski, W. & McCarthy, W. (2000). Sobre el uso de la validación cruzada para evaluar el rendimiento en la predicción multivariante. Estadísticas y Computación, 10(3), 209–229.

Kim, J.-H. (2009). Estimación de la tasa de error de clasificación: validación cruzada repetida, retención repetida y bootstrap. Estadísticas Computacionales y Análisis de Datos, 53(11), 3735–3745. doi:10.1016/j.csda.2009.04.009

Kohavi, R. (1995). Un estudio de validación cruzada y bootstrap para la estimación de precisión y selección de modelos. Conferencia Internacional Conjunta sobre Inteligencia Artificial, 14, 1137–1145.

Martin, J. & Hirschberg, D. (1996). Estadísticas de muestras pequeñas para tasas de error de clasificación I: Medidas de tasa de error.

Molinaro, A. M. (2005). Estimación del error de predicción: una comparación de métodos de remuestreo. Bioinformática, 21(15), 3301–3307. doi:10.1093/bioinformatics/bti499

Sauerbrei, W. & Schumacher1, M. (2000). Bootstrap y Validación Cruzada para Evaluar la Complejidad de Modelos de Regresión Dirigidos por Datos. Análisis de Datos Médicos, 26–28.

Tibshirani, RJ, & Tibshirani, R. (2009). Una corrección de sesgo para la tasa mínima de error en la validación cruzada. Documento de preimpresión de arXiv arXiv:0908.2904.

3 votos

El sesgo de Bootstrap no es pesimista, es optimista (Simple Bootstrap no .0632). Esto se debe a que Bootstrap utiliza muchos elementos de entrenamiento para probar el modelo, lo que lleva a un peso considerable en el error de muestra.

36voto

Patrick Burns Puntos 691

@Frank Harrell ha trabajado mucho en esta pregunta. No conozco referencias específicas.

Pero prefiero ver las dos técnicas como destinadas a diferentes propósitos. La validación cruzada es una buena herramienta cuando se decide sobre el modelo, ya que te ayuda a no engañarte pensando que tienes un buen modelo cuando en realidad estás sobreajustando.

Cuando tu modelo está fijo, entonces el uso del bootstrap tiene más sentido (al menos para mí).

Hay una introducción a estos conceptos (además de pruebas de permutación) utilizando R en http://www.burns-stat.com/pages/Tutor/bootstrap_resampling.html

3 votos

¿Tiene sentido usar CV primero para seleccionar un modelo y luego usar bootstrapping en los mismos datos para evaluar los errores de sus estimaciones? Específicamente, quiero hacer una regresión lineal usando ML en datos con ruido no gaussiano desconocido.

13voto

Funkatron Puntos 757

Mi entendimiento es que el bootstrap es una manera de cuantificar la incertidumbre en tu modelo mientras que la validación cruzada se utiliza para la selección del modelo y medir la precisión predictiva.

0 votos

Gracias por las respuestas. ¿Entonces pensé que el arranque era mejor cuando tienes un conjunto de datos pequeño (<30 obs). ¿No?

0 votos

Creo que sí. La validación cruzada puede no ser razonable cuando se tiene un tamaño de muestra pequeño. Podrías hacer validación cruzada dejando uno fuera, pero tiende a ser demasiado optimista.

0 votos

También hay que tener en cuenta que realizar el arranque con una muestra pequeña conducirá a algunas estimaciones sesgadas, como se señaló en el artículo original de Efron.

8voto

Dori Puntos 1325

Una diferencia es que la validación cruzada, al igual que el jackknife, utiliza todos sus puntos de datos, mientras que el bootstrap, que re-muestrea sus datos de manera aleatoria, puede que no incluya todos los puntos.

Puede hacer bootstrap durante el tiempo que desee, lo que significa un resample más grande, lo cual debería ayudar con muestras más pequeñas.

La media de validación cruzada o jackknife será la misma que la media de la muestra, mientras que la media de bootstrap es muy poco probable que sea la misma que la media de la muestra.

Dado que la validación cruzada y el jackknife ponderan todos los puntos de muestra por igual, deberían tener un intervalo de confianza más pequeño (aunque posiblemente incorrecto) que el bootstrap.

4 votos

Neil, parece que al menos 2 de tus 4 afirmaciones son incorrectas. 1. Aunque cada muestra de bootstrap en particular cubre aproximadamente el 63% de los puntos de datos originales, si muestreamos muchas (por ejemplo, 10k) muestras de bootstrap como solemos hacer, la probabilidad de que cada punto esté cubierto en al menos una de ellas es esencialmente del 100%. 2. Acabo de hacer una verificación numérica rápida: el promedio de las muestras de bootstrap y fuera de bootstrap es muy cercano al promedio de todos los datos. Puedes comprobarlo tú mismo.

0 votos

Aquí tienes un código (haz clic en "Editar" para verlo formateado): import numpy as np, pandas as pd n=1000 B=1000 y = np.random.randn( n ) meansb, meansoob = [], [] for b in range(B): ib = np.random.choice( n, n, replace=True ) meanb = y[ ib ].mean() meansb.append( meanb ) indoob = np.ones(n, dtype=bool) indoob[ ib ] = False meanoob = y[ indoob ].mean() meansoob.append( meanoob ) pd.Series( meansb ).hist( histtype='step' ) pd.Series( meansoob ).hist( histtype='step' ) print np.mean( meansb ), np.mean( meansoob ), pd.Series( y ).mean()

0 votos

@ Kochede "esencialmente 100%" no es 100%. "Muy cerca del promedio" no es lo mismo que exactamente igual al promedio. Estás usando palabras sospechosas. No estoy equivocado.

4voto

Bryan Puntos 33

Estas son dos técnicas de re-muestreo:

En la validación cruzada dividimos los datos aleatoriamente en kfold y ayuda a evitar el sobreajuste, pero este enfoque tiene sus inconvenientes. Debido a que utiliza muestras aleatorias, algunas muestras producen errores importantes. Para minimizar esto, la validación cruzada tiene técnicas, pero no es tan potente con problemas de clasificación. Bootstrap ayuda en esto, mejora el error a partir de su propia muestra... para más detalles, ver...

https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/cv_boot.pdf

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