6 votos

significado de las diferentes fórmulas de SD para el resultado de la validación cruzada

Estoy utilizando la validación cruzada para estimar el error de predicción de mi modelo. Estoy utilizando una métrica M para medir este error de predicción.

Utilizando el CV de 10 pliegues, obtengo el valor de la métrica M para cada pliegue. (Por favor, ignore SD_M por ahora).

                  M     SD_M
result.1   707.4018 196.3860
result.2  1094.0445 260.6073
result.3   821.9250 181.8182
result.4   656.3086 128.1662
result.5  1096.4073 256.0398
result.6   843.6550 192.0989
result.7   588.9200 136.4374
result.8   928.6556 197.5693
result.9   735.6646 159.7934
result.10  792.4319 194.4807

A partir de aquí, quiero estimar el error de generalización, es decir, quiero una estimación puntual del valor de mi métrica M para nuevos datos arbitrarios.

Elijo razonablemente la media de M entre los pliegues como estimación puntual de mi error de generalización.

Mi pregunta es: ¿Cuál es el error estándar SE de esta estimación puntual? ¿O un intervalo de confianza para esta estimación puntual?

Tengo varias opciones y no sé cuál (o si alguna) es la adecuada: Estoy usando la notación R pero espero que quede claro para todos.

  • SE = sd( c(707.4018, 1094.0445, ..., 792.4319) )

En este caso, el resultado es SE=171.33 .

  • SE = sd( c(707.4018, 1094.0445, ..., 792.4319) ) / sqrt(10) ya que estoy estimando el error estándar de la media.

Esto da como resultado SE=54.17 .

  • El SD_M es el error estándar de M para cada pliegue. Ya que M es el MSE, SD_M se obtiene utilizando la fórmula del error estándar de la media de los residuos al cuadrado de este pliegue: SD_M = sd(fold_squared_residuals)/sqrt(fold_size) .

SE = mean(SD_M) ¡también es un condidato! Su valor es de aproximadamente SE=190.3 .

Estoy bastante confundido, creo que estoy mezclando conceptos. ¿Cuál es el significado de estos 3 valores?

EDIT: He editado (aclarado) bastante la pregunta, así que las respuestas actuales no la abordan realmente. ¡Siéntase libre de tener un ir!

0 votos

No estoy seguro de entender su pregunta, pero este documento puede ser relevante/útil: Bengio & Grandvalet (2003), No Unbiased Estimator of the Variance of K-Fold Cross-Validation ( pdf ).

0 votos

Efectivamente, el documento es muy relevante para mi pregunta, gracias. En cuanto a mi pregunta, ¿puede indicarme qué es lo que no entiende? Dada la falta de respuesta, ¡imagino que no soy tan claro como creía!

3voto

Ludwi Puntos 188

El segundo enfoque es razonable. Si las 10 mediciones de $M$ eran independientes, entonces esto es sólo el error estándar de la media .

Como se trata de una validación cruzada, los conjuntos de datos utilizados en cada ronda y, por tanto, las estimaciones de $M$ no son independientes. Por lo tanto, es probable que se subestime un poco el error estándar. El artículo de Bengio y Grandvalet (2003) sugiere que no hay mucho que se pueda hacer contra este sesgo.

Hice un ejemplo de juguete en el que el sesgo parecía pequeño. Ajusté una distribución sobre 10 estados con un histograma. El ajuste se evaluó utilizando el promedio de la logaritmia, $L$ . Utilizando 100 puntos de datos y una validación cruzada con exclusión, obtuve

$$\hat L = 3.5641, \quad \hat{SEM} = 0.7133.$$

Se trata de una media de 10.000 validaciones cruzadas. Como conozco la distribución real, puedo repetir el experimento de validación cruzada muchas veces con diferentes conjuntos de datos. También puedo generar conjuntos de entrenamiento independientes (de 99 puntos de datos, como en la validación cruzada con exclusión). Usando conjuntos de datos independientes, obtuve

$$\hat L = 3.5636, \quad \hat{SEM} = 0.7185.$$

Por supuesto, esto es sólo un simple ejemplo ( código aquí ), y en general el sesgo podría ser mayor.

1voto

Kage Puntos 21

Me parece que hay un poco de confusión aquí, derivada de la relación entre MSE y SD. Lo que me preocupa es que la palabra residuos no ha aparecido, lo que dificulta la comprensión de qué es lo que quiere la desviación estándar?

Para ser precisos, si tenemos algún predictor fijo $f$ y datos $\{(x_1, y_1), \dots (x_n, y_n) \}$ nuestros residuos son de la forma $r_i = y_i - f(x).$ La desviación estándar de la muestra de los residuos es igual a:

$$ \sqrt{\sum_i \frac{r_i^2}{n}} = \sqrt{MSE}. $$

Ahora bien, en este caso nuestro predictor no es fijo, de hecho nuestro predictor está siendo muestreado de una distribución para cada pliegue. Ahora considere el siguiente modelo, dado su algoritmo de regresión $A$ :

1) Un conjunto de datos D = $\{(x_1, y_1), \dots (x_n, y_n) \}$ se extrae de una distribución dibujando $x_i \sim P(X)$ , $y_i \sim P(Y|x_i)$ .

2) Una más $(x,y)$ se dibuja $x \sim P(x)$ , $y \sim P(y|x)$

3) Un predictor $f$ se entrena con su algoritmo, $f = A(D)$ .

4) Se calcula un residuo, $r = y - f(x)$ .

Si siguiéramos este proceso, podríamos establecer la media muestral y la desviación estándar muestral de los residuos de nuestro algoritmo . Por desgracia, en la vida real los datos y la capacidad de cálculo son limitados, por lo que se recurre a la validación cruzada. Esto sólo se aproxima a este proceso porque las muestras residuales que extraemos no son independientes.

Por ejemplo, en la CV de cinco pliegues entrenamos el 80% de los datos y probamos el 20%. Los residuos que obtenemos de nuestro 20% se han obtenido utilizando el mismo predictor $f$ . Esencialmente, mientras utilicemos los mismos datos una y otra vez, los residuos no serán independientes. Dicho esto, en la práctica, la estimación de la SD de los residuos mediante la suma de todos los MSE y la raíz cuadrada es razonable y estándar.

Si realmente se tratara de calcular el DE del propio error medio al cuadrado por favor, comenta esta respuesta y explica por qué estás interesado en esto, y te responderé.

0 votos

He editado mi pregunta, espero que sea más clara ahora. No entiendo muy bien qué relación tiene tu respuesta con mi pregunta. Sí conozco la definición y el propósito de la validación (cruzada), el error de generalización de un algoritmo, etc.

0 votos

Lo siento. No es mi intención frustrarte. Para que quede claro por qué me confundí fue la salida original, que hace parecer que estabas obteniendo "desviaciones estándar" de números individuales ya que dice "SD_M" y hay un número llamado "M". Pero tienes un proceso que para cada pliegue produce alguna estimación de error, y quieres saber cuánto varía esa estimación. Mi pregunta es, ¿por qué quieres saber cuánto varía el error de cada doblar varía, en lugar de saber cómo el error de cada predicción ¿varía?

0 votos

No me está frustrando, sólo estaba afirmando que no entendí su respuesta. En efecto, mi objetivo final es saber cómo varía el error de cada predicción. Pero me pregunto por qué no utilizamos la información adicional de SD_M para evaluarla (véase mi segunda pregunta ). Me doy cuenta de que mi post era confuso, por eso lo he dividido en dos preguntas. Gracias por su ayuda.

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