3 votos

¿Explique el proceso de "validación" de la validación cruzada k-fold repetida?

Actualmente entiendo que el proceso de validación cruzada (CV) canónica repetida k-fold podría hacer lo siguiente si $n=100$ observaciones en la muestra, $k=5$ se pliega, $i= 10$ iteraciones ( ver iteración 1 aquí ), nuestro $model=$ regresión lineal, y nuestro interés es la predicción:

  • Validación mediante $n=100$ :
    • (i1) aleatorio $n_{train}=80$ (4/5 ((k-1)/k) * 100) utilizado por OLS para estimar los valores verdaderos de p parámetros; luego validar p parámetros en otros $n_{validate}=20$ ;
      • Para k1,.. k5: OLS da $\hat\beta{x_1},.. \hat\beta{x_p}$ , $R^2_{train}$ en $n_{train}=80$ y $R^2_{validate}$ en $n_{validate}=20$ .
      • Pero ¿qué hace CV con esta matriz de "pliegues" de $k=5$ ¿filas?
    • repetir (i2,.. i10)
      • Para i1,.. i10: OLS da $\hat\beta{x_1},.. \hat\beta{x_p}$ , $R^2_{train}$ en $n_{train}=80$ y $R^2_{validate}$ en $n_{validate}=20$ .
      • *Pero qué hace CV con esta matriz de "pliegues * iteraciones" de $k*i=50$ ¿Filas?
  • Predicción:
    • ¿Qué estimaciones de parámetros, de nuestras 50 filas, utiliza CV para hacer $\hat y$ en nuestro $n=100$ observaciones en la muestra?

Segunda parte: La caret en R permite lo siguiente si $(n,k,i,model)$ lo mismo que arriba y $train= 0.75$ :

  • formación: $n_{train}=$ aleatorio 75
  • prueba: $n_{test}=$ otros 25
  • Validación mediante $n_{train}=$ aleatorio 75:
    • Realizar el proceso canónico anterior para i iteraciones en $n_{train}=$ 75 al azar (es decir, 4/5 = $n_{train}=60$ y 1/5 = $n_{validate}=15$ );
    • Crear matriz como arriba y hacer algo con esta matriz.
  • Pero ¿qué hace entonces CV con $n_{test}=25$ que sigue sin utilizarse?

*Note we could replace $R^2$ con $RMSE$ para el comportamiento predeterminado de la carita en las regresiones.

4voto

cbeleites Puntos 12461

Normalmente, las validación utiliza como resultado el rendimiento medio (no ponderado). La validación cruzada en sí misma no realiza ninguna selección. La idea principal de la validación cruzada es reducir la varianza promediando un mayor número de pruebas, mientras que la selección hace lo contrario y aumentaría la varianza.

Así que no se elige un modelo o iteración en particular, el $i k$ Los modelos construidos durante el proceso de validación cruzada sólo se consideran sustitutos del modelo "real", que se entrena por separado en todos los modelos. $n$ casos. En $i k$ conjuntos de parámetros del modelo suelen descartarse.

Sin embargo, es posible utilizar los conjuntos de parámetros:

  • para validar los parámetros del modelo además de la capacidad de predicción, puede echar un vistazo a lo estables que son las estimaciones de los parámetros.
    Una de las suposiciones implícitas de la validación cruzada es que, dado que los conjuntos de entrenamiento son muy similares entre sí y al conjunto de datos completo (sólo difieren en $\frac{n}{k}$ a $\frac{2 n}{k}$ fuera del $n$ casos), si el proceso de construcción del modelo es estable, también deberían serlo los parámetros*.
  • si observa que los modelos sufren inestabilidad (sobre todo en las predicciones), puede ir un paso más allá y utilizar los modelos sustitutos de validación cruzada como conjunto para un modelo agregado, de forma similar a lo que hace el bagging con el remuestreo bootstrap con reemplazo.

Tenga en cuenta que los procedimientos de validación cruzada utilizados para la estimación de los parámetros del modelo en lugar de para estimar las capacidades predictivas (= prueba, validación) se conocen como jackknifing (en sentido estricto, que sería el remuestreo leave-one-out para la estimación de parámetros).

Cierta confusión puede provenir del hecho de que la validación cruzada resultados puede utilizarse para dos cosas distintas:

  • como estimación del rendimiento del modelo "real" construido a partir de todo el conjunto de datos utilizando el mismo procedimiento de entrenamiento, o bien
  • para seleccionar entre varios modelos diferentes, por ejemplo en la estimación de hiperparámetros. En este caso, el modelo seleccionado debe someterse a una validación independiente para excluir la posibilidad de que el buen rendimiento observado se deba únicamente al azar (varianza). Por lo tanto, para esta configuración se necesita una validación cruzada denominada doble o anidada o un conjunto de prueba aún desconocido.

*Para algunas aplicaciones y modelos, la situación puede ser más difícil, ya que las colinealidades pueden provocar una inestabilidad en los coeficientes que no afecta necesariamente a la estabilidad de las predicciones.


actualización: respuesta a las preguntas en el comentario

En el ejemplo anterior, obtendría 50 estimaciones de $R^2$ uno para cada uno de los 50 modelos sustitutos, sí. Y sí, se supone que son una buena aproximación para la $R^2$ de "el" (un) modelo construido utilizando toda la población.

Nota al margen: hasta ahora, he sen $R^2$ sólo para la bondad del ajuste, es decir, calculado explícitamente sólo con los datos de entrenamiento. Hacer esto en una validación cruzada proporciona información, pero posiblemente no la información que buscas.
Podrías construir una predicción $R^2$ pero normalmente he visto sumas de cuadrados residuales para casos fuera de entrenamiento (p.ej. $PRESS_{CV}$ ) en lugar de % de varianza no explicada para la predicción.


caret: No puedo asegurarlo - no utilizo caret ya que tengo estructuras de datos jerárquicas y necesito tener un cuidado especial a la hora de dividir los datos de entrenamiento y los de prueba.

Podría ser que ntest se reserva para la validación anidada, o que es un parámetro que se utiliza si se realiza una validación hold out en lugar de una validación cruzada. (En la página que enlazaste, no vi una explicación explícita en un vistazo rápido)

Busca el código, amigo.


jacknife vs. validación cruzada: no, no hay ninguna diferencia en los cálculos -- sólo ocurrió que terminó con un segundo nombre.

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