Estoy haciendo una validación cruzada usando el método de dejar uno afuera. Tengo una respuesta binaria y estoy usando el paquete de arranque para R y la función cv.glm . Mi problema es que no entiendo completamente la parte del "costo" en esta función. Por lo que puedo entender, esta es la función que decide si un valor estimado debe clasificarse como 1 o 0, es decir, el valor umbral para la clasificación. ¿Es esto correcto?
Y, en la ayuda en I que utilizan esta función para un modelo binomial: cost <- function(r, pi = 0) mean(abs(r-pi) > 0.5)
. ¿Cómo interpreto esta función? para poder modificarlo correctamente para mi análisis.
Cualquier ayuda es apreciada, no quiero usar una función que no entiendo.
fuente
Primero, ha establecido un límite de 0.5. Tu r es 0/1, pero pi es probabilidad. Entonces, el costo individual es 1 si el error absoluto es mayor que 0.5, de lo contrario 0. Entonces, esta función calcula la tasa de error promedio. Pero recuerde, el límite se ha establecido antes de definir su función de costo.
En realidad, creo que tiene más sentido si la opción de corte está determinada por la función de costo.
fuente
La respuesta de @SLi ya explica muy bien qué hace la función de costo que ha definido. Sin embargo, pensé que agregaría que la función de costo se usa para calcular el
delta
valorcv.glm
, que es una medida del error de validación cruzada. Sin embargo, críticamentedelta
es el promedio ponderado del error de cada pliegue dado por el costo. Vemos esto al inspeccionar el bit relevante del código:y el valor devuelto por la función es:
fuente