La validación cruzada , [2] [3] [4] a veces llamada estimación de rotación [5] [6] [7] o prueba fuera de muestra , es cualquiera de varias técnicas de validación de modelos similares para evaluar cómo se obtienen los resultados de una estadística . El análisis se generalizará a un conjunto de datos independiente. La validación cruzada incluye métodos de remuestreo y división de muestras que utilizan diferentes partes 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 sobre los cuales se ejecuta el entrenamiento ( conjunto de datos de entrenamiento ) y un conjunto de datos desconocidos (o datos vistos por primera vez ) contra los cuales se prueba el modelo (llamado conjunto de datos de validación o prueba). colocar ). [8] [9] El objetivo de la validación cruzada es probar la capacidad del modelo para predecir nuevos datos que no se utilizaron en la estimación, con el fin de señalar problemas como el sobreajuste o el 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 dar una estimación del rendimiento predictivo del modelo.
En resumen, la validación cruzada combina (promedia) medidas de idoneidad en la predicción para derivar una estimación más precisa del rendimiento de la predicción del modelo. [11]
Suponga 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 se ajuste lo mejor posible a los datos de entrenamiento. 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 la cantidad 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 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 leves, 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 sesgada de manera optimista de qué tan bien se ajustará el modelo a un conjunto de datos independiente. Esta estimación sesgada se denomina estimación del ajuste dentro de la muestra, 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) mediante 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, la validación cruzada puede usarse para verificar si el modelo se ha sobreajustado , en cuyo caso el MSE en el conjunto de validación excederá sustancialmente su valor anticipado. (La validación cruzada en el contexto de la regresión lineal también es útil porque se puede utilizar para seleccionar una función de costos óptimamente regularizada ).
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 esperado fuera de la muestra. La validación cruzada es, por tanto, una forma generalmente aplicable de predecir el rendimiento de un modelo con datos no disponibles utilizando cálculos numéricos en lugar de análisis teóricos.
Se pueden distinguir dos tipos de validación cruzada: la validación cruzada exhaustiva y la no exhaustiva.
Los métodos exhaustivos de validación cruzada 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 validación.
La validación cruzada con exclusión de p ( 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 entrenar y validar 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 , LpO CV 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 sin pares como método casi imparcial para estimar el área bajo la curva ROC de clasificadores binarios. [14]
La validación cruzada con exclusión de uno ( LOOCV ) es un caso particular de validación cruzada con exclusión de p con p = 1. El proceso es similar a jackknife ; sin embargo, con la validación cruzada se calcula una estadística de las muestras omitidas, mientras que con la validación cruzada se calcula una estadística de las muestras conservadas únicamente.
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 aún 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 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 entrenar el modelo 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_in ← (x[1], ..., x[i - 1], x[i + 1], ..., x[N]) y_in ← (y[1], ..., y[i - 1], y[i + 1], ..., y[N]) x_salida ← x[i] y_out ← interpolar(x_in, y_in, x_out) 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 validación cruzada sin exclusión .
En la validación cruzada de k veces, la muestra original se divide aleatoriamente en k submuestras de igual tamaño, a menudo denominadas "pliegues". De las k submuestras, una única submuestra se conserva como datos de validación para probar el modelo, y las k − 1 submuestras restantes se utilizan como datos de entrenamiento. Luego, 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. Luego se pueden promediar los k resultados para producir una estimación única. La ventaja de este método sobre el submuestreo aleatorio repetido (ver más abajo) es que todas las observaciones se usan tanto para el entrenamiento como para la validación, y cada observación se usa para la validación exactamente una vez. Comúnmente se usa una validación cruzada de 10 veces, [16] pero en general k sigue siendo un parámetro no fijo.
Por ejemplo, establecer k = 2 da como resultado 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 generalmente se implementa mezclando la matriz de datos y luego dividiéndola en dos). Luego entrenamos en d 0 y validamos en d 1 , seguido de entrenamiento en d 1 y validamos 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 veces, las particiones se seleccionan de modo que el valor de respuesta medio sea aproximadamente igual en todas las particiones. 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 se puede promediar el rendimiento del modelo a lo largo de 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 codiciosa de k veces para identificar rápidamente los modelos candidatos más prometedores. [19]
En el método de reserva, 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 una validación cruzada típica, los resultados de múltiples ejecuciones de pruebas de modelos se promedian juntos; por el contrario, el método de reserva, de forma aislada, implica una sola ejecución. Debe usarse con precaución porque sin dicho promedio de múltiples ejecuciones, se pueden lograr resultados muy engañosos. El indicador de precisión predictiva (F*) tenderá a ser inestable ya que no se suavizará mediante múltiples iteraciones (ver más abajo). De manera similar, los indicadores del papel específico que desempeñan diversas variables predictoras (por ejemplo, los valores de los coeficientes de regresión) tenderán a ser inestables.
Si bien el método de exclusión puede enmarcarse como "el tipo más simple de validación cruzada", [20] muchas fuentes clasifican la exclusió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] crea múltiples divisiones aleatorias del conjunto de datos en datos de entrenamiento y validación. [23] Para cada división, el modelo se ajusta a los datos de entrenamiento y la precisión predictiva se evalúa utilizando los datos de validación. Luego, los resultados se promedian entre las divisiones. La ventaja de este método (sobre la validación cruzada de k veces) 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 es posible que algunas observaciones nunca se seleccionen 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 presenta 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 repetida del submuestreo aleatorio tiende hacia el de una validación cruzada con exclusión.
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 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 . [24]
Cuando la validación cruzada se utiliza simultáneamente para la selección del mejor conjunto de hiperparámetros y para la estimación del error (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 conjunto de prueba (externo) y los otros k - 1 conjuntos 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 en l conjuntos. Uno por uno, se selecciona un conjunto como conjunto de prueba (validación) interno y los otros 1 - 1 conjuntos se combinan en el conjunto de entrenamiento interno correspondiente. Esto se repite para cada uno de los conjuntos l . Los conjuntos de entrenamiento internos se utilizan para ajustar los parámetros del modelo, mientras que el conjunto de pruebas externo se utiliza como 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, el rendimiento de este modelo se evalúa utilizando el conjunto de prueba externo.
Este es un tipo de validación cruzada de k*l veces cuando l = k - 1. Se utiliza una validación cruzada de k*l veces con un conjunto de validación y 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 a 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 usa para el ajuste del modelo y el conjunto de validación se usa 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 sea independiente de los datos que se utilizaron para entrenar el modelo. Puede utilizarse 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 del conjunto de validación se predice correcta o incorrectamente. En esta situación, se puede utilizar la tasa de error de clasificación errónea para resumir el ajuste, aunque también se podrían utilizar otras medidas como el valor predictivo positivo . Cuando el valor que se predice se distribuye continuamente, se pueden utilizar el error cuadrático medio , el error cuadrático medio 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 deseen equilibrar la elección de la validación 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 previas. En un ejercicio de combinación de pronósticos, por ejemplo, se puede aplicar validación cruzada para estimar las ponderaciones 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 ponderaciones iguales. [25] O, si se aplica validación cruzada para asignar ponderaciones individuales a las observaciones, entonces se pueden penalizar las desviaciones de ponderaciones iguales para evitar desperdiciar información potencialmente relevante. [25] 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 va a 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 hace 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 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ás alta 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 relativa simplicidad para múltiples configuraciones especificando la función de pérdida como
Hoornweg (2018) muestra que una función de pérdida con tal 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 / cresta . [25] Haga clic en el lazo para ver un ejemplo.
Supongamos que elegimos una medida de ajuste F y usamos validación cruzada para producir una estimación F * del ajuste esperado EF de un modelo a un conjunto de datos independiente extraído de la misma población que los datos de entrenamiento. Si imaginamos muestrear múltiples conjuntos de entrenamiento independientes siguiendo 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. [26] [27] Por esta razón, si se comparan dos procedimientos estadísticos basándose en los resultados de la validación cruzada, el procedimiento con el mejor rendimiento estimado puede no ser en realidad el mejor de los dos procedimientos (es decir, puede no tener el mejor rendimiento). valor de EF ). Se han logrado algunos avances en la construcción de intervalos de confianza en torno a estimaciones de validación cruzada, [26] pero esto se considera 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 aspectos internos de su implementación. Si entrenar el método de predicción es costoso, la validación cruzada puede ser muy lenta ya que el entrenamiento debe realizarse repetidamente. En algunos casos, como los de mínimos cuadrados y la regresión del kernel , la validación cruzada se puede acelerar significativamente calculando previamente ciertos valores que se necesitan repetidamente en el entrenamiento o usando "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 producirse un sesgo. Un ejemplo extremo de validación cruzada acelerada 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, es "no estacionario"). Ambos pueden introducir diferencias sistemáticas entre los conjuntos de entrenamiento y validación. Por ejemplo, si un modelo para predecir los valores de las acciones se basa en datos de un determinado período de cinco años, no es realista tratar el siguiente período de cinco años como una extracción de la misma población. Como otro ejemplo, supongamos que se desarrolla un modelo para predecir el riesgo de un individuo de ser diagnosticado con una enfermedad particular durante el próximo año. 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 o hombres), pero luego se aplica a la población general, los resultados de la validación cruzada del conjunto de entrenamiento podrían diferir mucho del rendimiento predictivo real. .
En muchas aplicaciones, los modelos también pueden especificarse incorrectamente y variar en función de sesgos del modelador y/o 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 omitido un predictor crítico y/o ha incluido un predictor confuso. La nueva evidencia es que la validación cruzada por sí sola no predice mucho la validez externa, mientras que una forma de validación experimental conocida como muestreo de intercambio que controla el sesgo humano puede predecir mucho más la validez externa. [28] Como se define en este gran estudio MAQC-II en 30.000 modelos, el muestreo de intercambio incorpora validación cruzada en el sentido de que las predicciones se prueban a través de muestras de validación y entrenamiento independientes. Sin embargo, los modelos también se desarrollan a partir de estas muestras independientes y por modeladores que no se conocen entre sí. Cuando hay una discrepancia en estos modelos desarrollados a través de estas muestras de capacitación 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.
La razón 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 conducir a una validez externa deficiente debido a estos efectos confusos del modelador, estas son otras formas en las que se puede abusar de la validación cruzada:
Dado que el orden de los datos es importante, la validación cruzada [ especificar ] podría resultar problemática para los modelos de series temporales . Un enfoque más apropiado podría ser utilizar una validación cruzada continua. [32]
Sin embargo, si el rendimiento se describe mediante una única estadística resumida , es posible que el enfoque descrito por Politis y Romano como un bootstrap estacionario [33] funcione. La estadística del bootstrap debe aceptar un intervalo de la serie temporal y devolver la estadística resumida sobre él. La llamada al arranque estacionario debe especificar una longitud de intervalo media adecuada.
La validación cruzada se puede utilizar para comparar el rendimiento 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. Usando 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). [34]
La validación cruzada también se puede utilizar en la selección de variables . [35] 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 validación cruzada, el modelo con el mejor ajuste generalmente incluirá solo un subconjunto de las características que se consideran verdaderamente informativas.
Un avance reciente en las estadísticas médicas es su uso en el metanálisis. Constituye 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. [36] También se ha utilizado en un sentido más convencional en el metanálisis para estimar el probable error de predicción de los resultados del metanálisis. [37]
En resumen, CV consiste en promediar varios estimadores de riesgo correspondientes a diferentes divisiones de datos.