La validación cruzada , [2] [3] [4] a veces llamada estimación de rotación [5] [6] [7] o prueba fuera de la muestra , es cualquiera de varias técnicas de validación de modelos similares para evaluar cómo los resultados de un análisis estadístico se generalizarán a un conjunto de datos independiente. La validación cruzada incluye métodos de remuestreo y división de muestras que utilizan diferentes porciones de los datos para probar y entrenar un modelo en diferentes iteraciones. A menudo se utiliza en entornos donde el objetivo es la predicción y se desea estimar con qué precisión funcionará un modelo predictivo en la práctica. También se puede utilizar para evaluar la calidad de un modelo ajustado y la estabilidad de sus parámetros.
En un problema de predicción, a un modelo generalmente se le proporciona un conjunto de datos conocidos en los que se ejecuta el entrenamiento ( conjunto de datos de entrenamiento ) y un conjunto de datos desconocidos (o datos vistos por primera vez ) contra los que se prueba el modelo (llamado conjunto de datos de validación o conjunto de prueba ). [8] [9] El objetivo de la validación cruzada es probar la capacidad del modelo para predecir nuevos datos que no se usaron para estimarlo, con el fin de señalar problemas como sobreajuste o sesgo de selección [10] y dar una idea de cómo el modelo se generalizará a un conjunto de datos independiente (es decir, un conjunto de datos desconocido, por ejemplo de un problema real).
Una ronda de validación cruzada implica dividir una muestra de datos en subconjuntos complementarios , realizar el análisis en un subconjunto (llamado conjunto de entrenamiento ) y validar el análisis en el otro subconjunto (llamado conjunto de validación o conjunto de prueba ). Para reducir la variabilidad , en la mayoría de los métodos se realizan múltiples rondas de validación cruzada utilizando diferentes particiones, y los resultados de la validación se combinan (por ejemplo, se promedian) a lo largo de las rondas para brindar una estimación del rendimiento predictivo del modelo.
En resumen, la validación cruzada combina (promedia) medidas de aptitud en la predicción para derivar una estimación más precisa del desempeño de la predicción del modelo. [11]
Supongamos un modelo con uno o más parámetros desconocidos y un conjunto de datos al que se puede ajustar el modelo (el conjunto de datos de entrenamiento). El proceso de ajuste optimiza los parámetros del modelo para que el modelo se ajuste a los datos de entrenamiento lo mejor posible. Si se toma una muestra independiente de datos de validación de la misma población que los datos de entrenamiento, generalmente resultará que el modelo no se ajusta a los datos de validación tan bien como se ajusta a los datos de entrenamiento. Es probable que el tamaño de esta diferencia sea grande, especialmente cuando el tamaño del conjunto de datos de entrenamiento es pequeño o cuando el número de parámetros en el modelo es grande. La validación cruzada es una forma de estimar el tamaño de este efecto.
En la regresión lineal, existen valores de respuesta reales y n covariables vectoriales p -dimensionales x 1 , ..., x n . Los componentes del vector x i se denotan x i 1 , ..., x ip . Si se utilizan los mínimos cuadrados para ajustar una función en forma de hiperplano ŷ = a + β T x a los datos ( x i , y i ) 1 ≤ i ≤ n , entonces el ajuste se puede evaluar utilizando el error cuadrático medio (MSE). El MSE para valores de parámetros estimados dados a y β en el conjunto de entrenamiento ( x i , y i ) 1 ≤ i ≤ n se define como:
Si el modelo se especifica correctamente, se puede demostrar bajo suposiciones moderadas que el valor esperado del MSE para el conjunto de entrenamiento es ( n − p − 1)/( n + p + 1) < 1 veces el valor esperado del MSE para el conjunto de validación [12] [ cita irrelevante ] (el valor esperado se toma sobre la distribución de los conjuntos de entrenamiento). Por lo tanto, un modelo ajustado y un MSE calculado en el conjunto de entrenamiento darán como resultado una evaluación optimistamente sesgada de qué tan bien se ajustará el modelo a un conjunto de datos independiente. Esta estimación sesgada se denomina estimación dentro de la muestra del ajuste, mientras que la estimación de validación cruzada es una estimación fuera de la muestra .
Dado que en la regresión lineal es posible calcular directamente el factor ( n − p − 1)/( n + p + 1) por el cual el MSE de entrenamiento subestima el MSE de validación bajo el supuesto de que la especificación del modelo es válida, se puede utilizar la validación cruzada para verificar si el modelo ha sido sobreajustado , en cuyo caso el MSE en el conjunto de validación superará sustancialmente su valor anticipado. (La validación cruzada en el contexto de la regresión lineal también es útil ya que se puede utilizar para seleccionar una función de costo regularizada de manera óptima ).
En la mayoría de los demás procedimientos de regresión (por ejemplo, la regresión logística ), no existe una fórmula sencilla para calcular el ajuste fuera de la muestra esperado. Por lo tanto, la validación cruzada es una forma generalmente aplicable de predecir el rendimiento de un modelo en datos no disponibles utilizando cálculos numéricos en lugar de análisis teóricos.
Se pueden distinguir dos tipos de validación cruzada: validación cruzada exhaustiva y no exhaustiva.
Los métodos de validación cruzada exhaustivos son métodos de validación cruzada que aprenden y prueban todas las formas posibles de dividir la muestra original en un conjunto de entrenamiento y uno de validación.
La validación cruzada con p -out ( LpO CV ) implica el uso de p observaciones como conjunto de validación y las observaciones restantes como conjunto de entrenamiento. Esto se repite en todas las formas de cortar la muestra original en un conjunto de validación de p observaciones y un conjunto de entrenamiento. [13]
La validación cruzada de LpO requiere entrenamiento y validación de los tiempos del modelo, donde n es el número de observaciones en la muestra original y donde es el coeficiente binomial . Para p > 1 e incluso para n moderadamente grande , el CV de LpO puede volverse computacionalmente inviable. Por ejemplo, con n = 100 y p = 30,
Se ha recomendado una variante de la validación cruzada de LpO con p = 2, conocida como validación cruzada leave-pair-out, como un método casi imparcial para estimar el área bajo la curva ROC de los clasificadores binarios. [14]
La validación cruzada de dejar uno fuera ( LOOCV ) es un caso particular de validación cruzada de dejar p fuera con p = 1. El proceso parece similar al de jackknife ; sin embargo, con la validación cruzada se calcula una estadística sobre la(s) muestra(s) excluida(s), mientras que con jackknifing se calcula una estadística solo a partir de las muestras conservadas.
La validación cruzada LOO requiere menos tiempo de cálculo que la validación cruzada LpO porque solo hay pases en lugar de . Sin embargo, los pases pueden requerir un tiempo de cálculo bastante grande, en cuyo caso otros enfoques como la validación cruzada k-fold pueden ser más apropiados. [15]
Algoritmo de pseudocódigo:
Aporte:
x
, {vector de longitud N
con valores x de los puntos entrantes}
y
, {vector de longitud N
con valores y del resultado esperado}
interpolate( x_in, y_in, x_out )
, { devuelve la estimación del punto x_out
después de que el modelo se entrena con x_in
- y_in
pares}
Producción:
err
, {estimación del error de predicción}
Pasos:
errar ← 0 para i ← 1, ..., N hacer // definir los subconjuntos de validación cruzada x_en ← (x[1], ..., x[i − 1], x[i + 1], ..., x[N]) y_in ← (y[1], ..., y[i − 1], y[i + 1], ..., y[N]) x_fuera ← x[i] y_salida ← interpolar(x_entrada, y_entrada, x_salida) errar ← errar + (y[i] − y_out)^2 fin para errar ← errar/N
Los métodos de validación cruzada no exhaustivos no calculan todas las formas de dividir la muestra original. Estos métodos son aproximaciones de la validación cruzada con exclusión de p .
En la validación cruzada de k pliegues, la muestra original se divide aleatoriamente en k submuestras de igual tamaño, a menudo denominadas "pliegues". De las k submuestras, se conserva una sola submuestra como datos de validación para probar el modelo, y las k − 1 submuestras restantes se utilizan como datos de entrenamiento. El proceso de validación cruzada se repite k veces, y cada una de las k submuestras se utiliza exactamente una vez como datos de validación. Los k resultados se pueden promediar para producir una única estimación. La ventaja de este método sobre el submuestreo aleatorio repetido (ver a continuación) es que todas las observaciones se utilizan tanto para el entrenamiento como para la validación, y cada observación se utiliza para la validación exactamente una vez. La validación cruzada de 10 pliegues se utiliza comúnmente, [16] pero, en general, k sigue siendo un parámetro no fijo.
Por ejemplo, si se establece k = 2, se obtiene una validación cruzada doble. En la validación cruzada doble, mezclamos aleatoriamente el conjunto de datos en dos conjuntos d 0 y d 1 , de modo que ambos conjuntos tengan el mismo tamaño (esto se suele implementar mezclando la matriz de datos y luego dividiéndola en dos). Luego, entrenamos en d 0 y validamos en d 1 , seguido de un entrenamiento en d 1 y una validación en d 0 .
Cuando k = n (el número de observaciones), la validación cruzada de k veces es equivalente a la validación cruzada de dejar uno fuera. [17]
En la validación cruzada estratificada de k -fold, las particiones se seleccionan de modo que el valor de respuesta promedio sea aproximadamente igual en todas ellas. En el caso de la clasificación binaria, esto significa que cada partición contiene aproximadamente las mismas proporciones de los dos tipos de etiquetas de clase.
En la validación cruzada repetida , los datos se dividen aleatoriamente en k particiones varias veces. De este modo, el rendimiento del modelo se puede promediar en varias ejecuciones, pero esto rara vez es deseable en la práctica. [18]
Cuando se consideran muchos modelos estadísticos o de aprendizaje automático diferentes, se puede utilizar una validación cruzada k -fold codiciosa para identificar rápidamente los modelos candidatos más prometedores. [19]
En el método de retención, asignamos aleatoriamente puntos de datos a dos conjuntos d 0 y d 1 , generalmente llamados conjunto de entrenamiento y conjunto de prueba, respectivamente. El tamaño de cada uno de los conjuntos es arbitrario, aunque normalmente el conjunto de prueba es más pequeño que el conjunto de entrenamiento. Luego, entrenamos (construimos un modelo) en d 0 y probamos (evaluamos su rendimiento) en d 1 .
En la validación cruzada típica, los resultados de múltiples ejecuciones de pruebas de modelos se promedian juntos; en contraste, el método de retención, en forma aislada, implica una sola ejecución. Debe usarse con precaución porque sin ese promedio de múltiples ejecuciones, se pueden obtener resultados altamente engañosos. El indicador de precisión predictiva (F*) tenderá a ser inestable ya que no se suavizará con múltiples iteraciones (ver más abajo). De manera similar, los indicadores del papel específico desempeñado por varias variables predictoras (por ejemplo, valores de coeficientes de regresión) tenderán a ser inestables.
Si bien el método de retención puede enmarcarse como "el tipo más simple de validación cruzada", [20] muchas fuentes clasifican en cambio el método de retención como un tipo de validación simple, en lugar de una forma simple o degenerada de validación cruzada. [6] [21]
Este método, también conocido como validación cruzada de Monte Carlo , [22] [23] crea múltiples divisiones aleatorias del conjunto de datos en datos de entrenamiento y validación. [24] Para cada una de estas divisiones, el modelo se ajusta a los datos de entrenamiento y se evalúa la precisión predictiva utilizando los datos de validación. Luego, los resultados se promedian sobre las divisiones. La ventaja de este método (sobre la validación cruzada k -fold) es que la proporción de la división de entrenamiento/validación no depende del número de iteraciones (es decir, el número de particiones). La desventaja de este método es que algunas observaciones pueden no seleccionarse nunca en la submuestra de validación, mientras que otras pueden seleccionarse más de una vez. En otras palabras, los subconjuntos de validación pueden superponerse. Este método también exhibe variación de Monte Carlo , lo que significa que los resultados variarán si el análisis se repite con diferentes divisiones aleatorias.
A medida que el número de divisiones aleatorias se acerca al infinito, el resultado de la validación de submuestreo aleatorio repetido tiende hacia el de la validación cruzada de tipo leave-p-out.
En una variante estratificada de este enfoque, las muestras aleatorias se generan de tal manera que el valor de respuesta medio (es decir, la variable dependiente en la regresión) sea igual en los conjuntos de entrenamiento y de prueba. Esto es particularmente útil si las respuestas son dicotómicas con una representación desequilibrada de los dos valores de respuesta en los datos.
Un método que aplica submuestreo aleatorio repetido es RANSAC . [25]
Cuando se utiliza la validación cruzada simultáneamente para la selección del mejor conjunto de hiperparámetros y para la estimación de errores (y la evaluación de la capacidad de generalización), se requiere una validación cruzada anidada. Existen muchas variantes. Se pueden distinguir al menos dos variantes:
Esta es una variante verdaderamente anidada que contiene un bucle externo de k conjuntos y un bucle interno de l conjuntos. El conjunto de datos total se divide en k conjuntos. Uno por uno, se selecciona un conjunto como el conjunto de prueba (externo) y los k - 1 conjuntos restantes se combinan en el conjunto de entrenamiento externo correspondiente. Esto se repite para cada uno de los k conjuntos. Cada conjunto de entrenamiento externo se subdivide a su vez en l conjuntos. Uno por uno, se selecciona un conjunto como conjunto de prueba (validación) interno y los l - 1 conjuntos restantes se combinan en el conjunto de entrenamiento interno correspondiente. Esto se repite para cada uno de los l conjuntos. Los conjuntos de entrenamiento internos se utilizan para ajustar los parámetros del modelo, mientras que el conjunto de prueba externo se utiliza como un conjunto de validación para proporcionar una evaluación imparcial del ajuste del modelo. Normalmente, esto se repite para muchos hiperparámetros diferentes (o incluso diferentes tipos de modelos) y el conjunto de validación se utiliza para determinar el mejor conjunto de hiperparámetros (y tipo de modelo) para este conjunto de entrenamiento interno. Después de esto, se ajusta un nuevo modelo a todo el conjunto de entrenamiento externo, utilizando el mejor conjunto de hiperparámetros de la validación cruzada interna. Luego, se evalúa el rendimiento de este modelo utilizando el conjunto de prueba externo.
Este es un tipo de validación cruzada k*l-fold cuando l = k - 1. Se utiliza una única validación cruzada k-fold con un conjunto de validación y uno de prueba . El conjunto de datos total se divide en k conjuntos. Uno por uno, se selecciona un conjunto como conjunto de prueba. Luego, uno por uno, uno de los conjuntos restantes se utiliza como conjunto de validación y los otros k - 2 conjuntos se utilizan como conjuntos de entrenamiento hasta que se hayan evaluado todas las combinaciones posibles. De manera similar a la validación cruzada k*l-fold, el conjunto de entrenamiento se utiliza para el ajuste del modelo y el conjunto de validación se utiliza para la evaluación del modelo para cada uno de los conjuntos de hiperparámetros. Finalmente, para el conjunto de parámetros seleccionado, el conjunto de prueba se utiliza para evaluar el modelo con el mejor conjunto de parámetros. Aquí, son posibles dos variantes: evaluar el modelo que se entrenó en el conjunto de entrenamiento o evaluar un nuevo modelo que se ajustó a la combinación del conjunto de entrenamiento y validación.
El objetivo de la validación cruzada es estimar el nivel esperado de ajuste de un modelo a un conjunto de datos que es independiente de los datos que se usaron para entrenar el modelo. Se puede utilizar para estimar cualquier medida cuantitativa de ajuste que sea apropiada para los datos y el modelo. Por ejemplo, para problemas de clasificación binaria , cada caso en el conjunto de validación se predice correctamente o incorrectamente. En esta situación, la tasa de error de clasificación errónea se puede utilizar para resumir el ajuste, aunque también se podrían utilizar otras medidas derivadas de la información (por ejemplo, recuentos, frecuencia) contenida dentro de una tabla de contingencia o matriz de confusión . Cuando el valor que se predice se distribuye de forma continua, se podrían utilizar el error cuadrático medio , el error cuadrático medio de la raíz cuadrada o la desviación absoluta mediana para resumir los errores.
Cuando los usuarios aplican la validación cruzada para seleccionar una buena configuración , es posible que quieran equilibrar la elección validada cruzada con su propia estimación de la configuración. De esta manera, pueden intentar contrarrestar la volatilidad de la validación cruzada cuando el tamaño de la muestra es pequeño e incluir información relevante de investigaciones anteriores. En un ejercicio de combinación de pronósticos, por ejemplo, se puede aplicar la validación cruzada para estimar los pesos que se asignan a cada pronóstico. Dado que un pronóstico simple con ponderaciones iguales es difícil de superar, se puede agregar una penalización por desviarse de los pesos iguales. [26] O, si se aplica la validación cruzada para asignar pesos individuales a las observaciones, entonces se pueden penalizar las desviaciones de los pesos iguales para evitar desperdiciar información potencialmente relevante. [26] Hoornweg (2018) muestra cómo se puede definir un parámetro de ajuste para que un usuario pueda equilibrar intuitivamente entre la precisión de la validación cruzada y la simplicidad de ceñirse a un parámetro de referencia definido por el usuario.
Si denota la configuración candidata que podría seleccionarse, entonces la función de pérdida que se debe minimizar se puede definir como
La precisión relativa se puede cuantificar como , de modo que el error cuadrático medio de un candidato se realiza en relación con el de un especificado por el usuario . El término de simplicidad relativa mide la cantidad que se desvía de en relación con la cantidad máxima de desviación de . En consecuencia, la simplicidad relativa se puede especificar como , donde corresponde al valor con la desviación máxima permitida de . Con , el usuario determina qué tan alta es la influencia del parámetro de referencia en relación con la validación cruzada.
Se pueden agregar términos de simplicidad relativa para múltiples configuraciones especificando la función de pérdida como
Hoornweg (2018) muestra que una función de pérdida con un equilibrio entre precisión y simplicidad también se puede utilizar para definir intuitivamente estimadores de contracción como el lazo (adaptativo) y la regresión bayesiana / ridge . [26] Haga clic en el lazo para ver un ejemplo.
Supongamos que elegimos una medida de ajuste F y utilizamos la validación cruzada para producir una estimación F * del ajuste esperado EF de un modelo a un conjunto de datos independientes extraídos de la misma población que los datos de entrenamiento. Si imaginamos muestrear múltiples conjuntos de entrenamiento independientes que siguen la misma distribución, los valores resultantes para F * variarán. Las propiedades estadísticas de F * resultan de esta variación.
La varianza de F * puede ser grande. [27] [28] Por esta razón, si se comparan dos procedimientos estadísticos en función de los resultados de la validación cruzada, el procedimiento con el mejor desempeño estimado puede no ser en realidad el mejor de los dos procedimientos (es decir, puede no tener el mejor valor de EF ). Se han logrado algunos avances en la construcción de intervalos de confianza en torno a las estimaciones de validación cruzada, [27] pero se considera que este es un problema difícil.
La mayoría de las formas de validación cruzada son sencillas de implementar siempre que esté disponible una implementación del método de predicción que se está estudiando. En particular, el método de predicción puede ser una "caja negra": no es necesario tener acceso a los elementos internos de su implementación. Si el método de predicción es costoso de entrenar, la validación cruzada puede ser muy lenta ya que el entrenamiento debe realizarse repetidamente. En algunos casos, como los mínimos cuadrados y la regresión kernel , la validación cruzada se puede acelerar significativamente al calcular previamente ciertos valores que se necesitan repetidamente en el entrenamiento, o al usar "reglas de actualización" rápidas como la fórmula de Sherman-Morrison . Sin embargo, se debe tener cuidado de preservar el "cegamiento total" del conjunto de validación del procedimiento de entrenamiento, de lo contrario puede resultar un sesgo. Un ejemplo extremo de aceleración de la validación cruzada ocurre en la regresión lineal , donde los resultados de la validación cruzada tienen una expresión de forma cerrada conocida como suma de cuadrados del error residual de predicción ( PRESS ).
La validación cruzada solo produce resultados significativos si el conjunto de validación y el conjunto de entrenamiento provienen de la misma población y solo si se controlan los sesgos humanos.
En muchas aplicaciones de modelado predictivo, la estructura del sistema que se estudia evoluciona con el tiempo (es decir, no es estacionaria). Ambos factores pueden introducir diferencias sistemáticas entre los conjuntos de entrenamiento y validación. Por ejemplo, si un modelo para predecir valores bursátiles se entrena con datos correspondientes a un período de cinco años determinado, no es realista tratar el período de cinco años posterior como una extracción de la misma población. Como otro ejemplo, supongamos que se desarrolla un modelo para predecir el riesgo de que un individuo sea diagnosticado con una enfermedad particular en el transcurso del año siguiente. Si el modelo se entrena utilizando datos de un estudio que involucra solo a un grupo de población específico (por ejemplo, jóvenes u hombres), pero luego se aplica a la población general, los resultados de la validación cruzada del conjunto de entrenamiento podrían diferir en gran medida del rendimiento predictivo real.
En muchas aplicaciones, los modelos también pueden estar incorrectamente especificados y variar en función de los sesgos del modelador y/o de las elecciones arbitrarias. Cuando esto ocurre, puede haber una ilusión de que el sistema cambia en muestras externas, mientras que la razón es que el modelo ha pasado por alto un predictor crítico y/o ha incluido un predictor confundido. Nueva evidencia es que la validación cruzada por sí misma no es muy predictiva de la validez externa, mientras que una forma de validación experimental conocida como muestreo de intercambio que sí controla el sesgo humano puede ser mucho más predictiva de la validez externa. [29] Como se define en este gran estudio MAQC-II en 30.000 modelos, el muestreo de intercambio incorpora la validación cruzada en el sentido de que las predicciones se prueban en muestras de entrenamiento y validación independientes. Sin embargo, los modelos también se desarrollan en estas muestras independientes y por modeladores que no se conocen entre sí. Cuando hay un desajuste en estos modelos desarrollados en estas muestras de entrenamiento y validación intercambiadas, como sucede con bastante frecuencia, MAQC-II muestra que esto será mucho más predictivo de una validez predictiva externa deficiente que la validación cruzada tradicional.
El motivo del éxito del muestreo intercambiado es un control incorporado de los sesgos humanos en la construcción de modelos. Además de depositar demasiada fe en predicciones que pueden variar entre los modeladores y dar lugar a una validez externa deficiente debido a estos efectos de confusión del modelador, estas son otras formas en las que se puede hacer un mal uso de la validación cruzada:
Dado que el orden de los datos es importante, la validación cruzada [ especificar ] puede resultar problemática para los modelos de series temporales . Un enfoque más adecuado podría ser el uso de la validación cruzada continua. [33]
Sin embargo, si el rendimiento se describe mediante una única estadística de resumen , es posible que funcione el enfoque descrito por Politis y Romano como un bootstrap estacionario [34] . La estadística del bootstrap debe aceptar un intervalo de la serie temporal y devolver la estadística de resumen correspondiente. La llamada al bootstrap estacionario debe especificar una longitud de intervalo medio adecuada.
La validación cruzada se puede utilizar para comparar los rendimientos de diferentes procedimientos de modelado predictivo. Por ejemplo, supongamos que estamos interesados en el reconocimiento óptico de caracteres y estamos considerando utilizar una máquina de vectores de soporte (SVM) o k -vecinos más cercanos (KNN) para predecir el carácter verdadero a partir de una imagen de un carácter escrito a mano. Mediante la validación cruzada, podemos obtener estimaciones empíricas comparando estos dos métodos en términos de sus respectivas fracciones de caracteres mal clasificados. Por el contrario, la estimación dentro de la muestra no representará la cantidad de interés (es decir, el error de generalización). [35]
La validación cruzada también se puede utilizar en la selección de variables . [36] Supongamos que estamos utilizando los niveles de expresión de 20 proteínas para predecir si un paciente con cáncer responderá a un fármaco . Un objetivo práctico sería determinar qué subconjunto de las 20 características debería utilizarse para producir el mejor modelo predictivo. Para la mayoría de los procedimientos de modelado, si comparamos subconjuntos de características utilizando las tasas de error en la muestra, el mejor rendimiento se producirá cuando se utilicen las 20 características. Sin embargo, bajo la validación cruzada, el modelo con el mejor ajuste generalmente incluirá solo un subconjunto de las características que se consideran verdaderamente informativas.
Un desarrollo reciente en las estadísticas médicas es su uso en el metanálisis. Forma la base de la estadística de validación, Vn, que se utiliza para probar la validez estadística de las estimaciones resumidas del metanálisis. [37] También se ha utilizado en un sentido más convencional en el metanálisis para estimar el error de predicción probable de los resultados del metanálisis. [38]
En resumen, la CV consiste en promediar varios estimadores de retención del riesgo correspondientes a diferentes divisiones de datos.