Cálculo de la proporción de datos de muestra utilizados para la adaptación / capacitación del modelo y la validación

9

Proporcionó un tamaño de muestra "N" que planeo usar para pronosticar datos. ¿Cuáles son algunas de las formas de subdividir los datos para que yo use algunos de ellos para establecer un modelo y los datos restantes para validar el modelo?

Sé que no hay una respuesta en blanco y negro para esto, pero sería interesante conocer algunas "reglas generales" o proporciones generalmente utilizadas. Sé que en la universidad, uno de nuestros profesores solía decir modelo en un 60% y validar en un 40%.

Dassouki
fuente

Respuestas:

7

Bueno, como dijiste, no hay una respuesta en blanco y negro. Por lo general, no divido los datos en 2 partes, sino que utilizo métodos como la validación cruzada k-fold.

En la validación cruzada k-fold, divide sus datos aleatoriamente en k partes y ajusta su modelo en partes k-1 y prueba los errores en la parte izquierda. Repite el proceso k veces dejando cada parte desajustada una por una. Puede tomar el error medio de cada una de las k iteraciones como una indicación del error del modelo. Esto funciona muy bien si desea comparar el poder predictivo de diferentes modelos.

Una forma extrema de validación cruzada de k-fold es la validación cruzada generalizada, en la que simplemente se omite un punto de datos para la prueba y se ajusta el modelo a todos los puntos restantes. Luego repita el proceso n veces dejando de lado cada punto de datos uno por uno. Generalmente prefiero la validación cruzada k-fold sobre la validación cruzada generalizada ... solo una elección personal

Shrey
fuente
2
CV usando el set completo para la selección del modelo, ¿eh? Es un error común (aún Wikipedia lo menciona), porque es un sobreajuste oculto. Necesita hacer un CV de nivel superior o dejar alguna prueba para hacerlo bien.
5

Realmente depende de la cantidad de datos que tenga, el costo específico de los métodos y cómo desea exactamente que sea su resultado.

Algunos ejemplos:

Si tiene pocos datos, probablemente quiera usar la validación cruzada (k-fold, leave-one-out, etc.) Su modelo probablemente no necesitará muchos recursos para entrenar y probar de todos modos. Son buenas maneras de aprovechar al máximo sus datos.

Tiene muchos datos: probablemente desee tomar un conjunto de pruebas razonablemente grande, asegurando que habrá pocas posibilidades de que algunas muestras extrañas den mucha variación a sus resultados. ¿Cuántos datos debes tomar? Depende completamente de sus datos y modelo. En el reconocimiento de voz, por ejemplo, si tomara demasiados datos (digamos 3000 oraciones), sus experimentos tomarían días, ya que un factor en tiempo real de 7-10 es común. Si toma muy poco, depende demasiado de los altavoces que elija (que no están permitidos en el conjunto de entrenamiento).

¡Recuerde también que en muchos casos es bueno tener también un conjunto de validación / desarrollo!

Peter Smit
fuente
5

Prueba 1:10: la relación de trenes es popular porque parece redonda, 1: 9 es popular debido a 10 CV, 1: 2 es popular porque también es redonda y vuelve a montar bootstrap. A veces, uno obtiene una prueba de algunos criterios específicos de datos, por ejemplo, el año pasado para la prueba, años antes para la capacitación.

La regla general es la siguiente: el tren debe ser lo suficientemente grande como para que la precisión no disminuya significativamente, y la prueba debe ser lo suficientemente grande como para silenciar las fluctuaciones aleatorias.

Aún así, prefiero CV, ya que también te da una distribución de error.


fuente
4

Como una extensión de la respuesta de k-fold, la elección "usual" de k es 5 o 10. El método de dejar uno afuera tiende a producir modelos que son demasiado conservadores. Para su información, aquí hay una referencia sobre ese hecho:

Shao, J. (1993), Linear Model Selection by Cross-Validation, Journal of the American Statistical Association, vol. 88, núm. 422, págs. 486-494

Albort
fuente
¿Has leído este periódico? Sin embargo, funciona solo para modelos lineales (¡incluso el título lo muestra!) Se trata de un comportamiento asintótico para un número infinito de objetos. 100 no es suficiente.
1
Y le deseo suerte haciendo una validación cruzada 10 veces en el set con 9 objetos.
@mbq: digo la opción "habitual". No significa todas las opciones
Albort el
@mbq: he leído el periódico; Shao informa sobre un estudio de simulación con solo 40 observaciones, y muestra que LOOCV tiene un rendimiento inferior al CV de Montecarlo, excepto en el caso de que no sea adecuada la subselección (el conjunto completo de características es óptimo). 100 es más que suficiente, al menos para la selección de subconjuntos en modelos lineales.
shabbychef
@shabbychef Me tienes aquí; El segundo argumento en mi primer comentario es, por supuesto, una chatarra, tenía otros trabajos en mente y en general. Sin embargo, todavía argumentaré que el artículo de Shao no es una buena referencia para el "LOO falla para N grande" ya que su alcance se reduce a modelos lineales.