Para mi investigación actual, estoy usando el método Lasso a través del paquete glmnet en R en una variable dependiente binomial.
En glmnet, el lambda óptimo se encuentra a través de la validación cruzada y los modelos resultantes se pueden comparar con varias medidas, por ejemplo, error de clasificación errónea o desviación.
Mi pregunta: ¿Cómo se define exactamente la desviación en glmnet? ¿Cómo se calcula?
(En el documento correspondiente "Rutas de regularización para modelos lineales generalizados a través del descenso coordinado" de Friedman et al. Solo encuentro este comentario sobre la desviación utilizada en cv.glmnet: "desviación media (menos el doble de la probabilidad de registro a la izquierda) datos) "(p. 17)).

glm(o al menos, debería ser, solo hay una definición de desviación que conozco).Respuestas:
En Friedman, Hastie y Tibshirani (2010) , la desviación de un modelo binomial, con el propósito de validación cruzada, se calcula como
Dado que este es el documento citado en la documentación para
glmnet(en las páginas 2 y 5), esa es probablemente la fórmula utilizada en el paquete.Y, de hecho, en el código fuente de la función
cvlognet, los residuos de desviación para la respuesta se calculan comodónde
predmates simplementey pasó de la
cv.glmnetfunción envolvente . Utilicé el código fuente disponible en la página JStatSoft para el documento , y no sé qué tan actualizado está ese código. El código para este paquete es sorprendentemente simple y legible; siempre puede verificarlo usted mismo escribiendoglmnet:::cv.glmnet.fuente
Además de la respuesta de @shadowtalker, cuando estaba usando el paquete glmnet, siento que la desviación en la validación cruzada de alguna manera está normalizada.
Ref: documento de desviación R
porque si hago la división,
el resultado es
que está muy cerca del ajuste $ cvm.
Esto puede ser lo que dijo el comentario de @Hong Ooi sobre esta pregunta:
/programming/43468665/poisson-deviance-glmnet
fuente