¿Cuántas veces deberíamos repetir un CV K-fold?

18

Me encontré con este hilo mirando las diferencias entre bootstrapping y validación cruzada: una gran respuesta y referencias por cierto. Lo que me pregunto ahora es, si tuviera que realizar un CV repetido de 10 veces para calcular la precisión de un clasificador, ¿cuántas veces n debería repetirlo?

¿ Depende n del número de pliegues? En el tamaño de la muestra? ¿Hay alguna regla para esto?

(En mi caso, tengo muestras tan grandes como 5000, y si elijo algo más grande que n = 20, mi computadora tarda demasiado en realizar el cálculo).

Neodyme
fuente

Respuestas:

10

El factor que influye es cuán estable es su modelo, o, más precisamente: las predicciones de los sustitutos son.

Si los modelos son completamente estables, todos los modelos sustitutos generarán la misma predicción para el mismo caso de prueba. En ese caso, no se necesitan iteraciones / repeticiones, y no producen ninguna mejora.

Como puede medir la estabilidad de las predicciones, esto es lo que haría:

  • Configure todo el procedimiento de manera que guarde los resultados de cada repetición / iteración de validación cruzada, por ejemplo, en el disco duro
  • Comience con una gran cantidad de iteraciones
  • Después de que se completen algunas iteraciones, obtenga los resultados preliminares y eche un vistazo a la estabilidad / variación en los resultados para cada ejecución.
  • Luego, decida cuántas iteraciones más desea refinar los resultados.

  • Por supuesto, puede decidir ejecutar, por ejemplo, 5 iteraciones y luego decidir el número final de iteraciones que desea hacer.

(Nota al margen: normalmente uso> aproximadamente 1000 modelos sustitutos, por lo que el número típico de repeticiones / iteraciones sería de alrededor de 100-125).

cbeleites apoya a Monica
fuente
13

Haga cualquier pregunta a un estadístico y su respuesta será alguna forma de "depende".

Depende . Además del tipo de modelo (¡buen punto cbeleites!), ¿El número de puntos de ajuste de entrenamiento y el número de predictores? Si el modelo es para clasificación, un gran desequilibrio de clase me haría aumentar el número de repeticiones. Además, si estoy volviendo a muestrear un procedimiento de selección de características, me inclinaría hacia más muestras.

Para cualquier método de remuestreo utilizado en este contexto, recuerde que (a diferencia del bootstrapping clásico), solo necesita suficientes iteraciones para obtener una estimación "lo suficientemente precisa" de la media de la distribución. Eso es subjetivo pero cualquier respuesta será.

Siguiendo con la clasificación con dos clases por un segundo, suponga que espera / espera que la precisión del modelo sea de aproximadamente 0,80. Dado que el proceso de remuestreo muestra la estimación de precisión (por ejemplo p), el error estándar sería sqrt[p*(1-p)]/sqrt(B)dónde Bestá el número de muestreos. Para B = 10, el error estándar de la precisión es de aproximadamente 0,13 y con B = 100él es de aproximadamente 0,04. Puede usar esa fórmula como una guía aproximada para este caso particular.

También considere que, en este ejemplo, la varianza de la precisión se maximiza cuanto más se acerque a 0,50, por lo que un modelo preciso debería necesitar menos repeticiones ya que el error estándar debería ser menor que los modelos que son estudiantes débiles.

HTH

Max

topepo
fuente
2
Sería extremadamente cauteloso aquí para aplicar cualquier tipo de cálculo de error estándar en este contexto, porque hay 2 fuentes de variación aquí (inestabilidad del modelo + conjunto finito de casos de prueba), y creo que la validación de remuestreo no evitará la prueba finita establecer varianza: considerar la validación cruzada. En cada ejecución, todos los casos de prueba se prueban exactamente una vez. Por lo tanto, la variación entre las ejecuciones de CV iterado debe deberse a la inestabilidad. No observará (¡ni reducirá!) La variación debido al conjunto de pruebas finitas de esta manera, pero, por supuesto, el resultado todavía está sujeto a ello.
cbeleites apoya a Monica el