Suponiendo que no haya nada especial en su caso particular, creo que hay un buen argumento para usar el valor predeterminado (Error cuadrático medio) o utilizar la media del error de los registros, o incluso el error chi-cuadrado.
El propósito de la función de costo es expresar cuán "molesto" está con las predicciones erróneas, específicamente qué "error" le molesta más. Esto es particularmente importante para las respuestas binarias, pero puede importar en cualquier situación.
Error cuadrático medio (de respuestas)
C=1n∑i(Yi−Y^i)2
Al usar el MSE, usted es igualmente sensible a los errores de arriba y abajo e igualmente sensible a las predicciones grandes y pequeñas. Esto es algo bastante normal, por lo que no creo que esté mal visto en la mayoría de las situaciones.
Error cuadrático medio (de respuestas de registro)
C=1n∑i(lnYi−lnY^i)2
Debido a que está trabajando con datos de conteo, se podría argumentar que no es simétrico ni indiferente al tamaño. Estar fuera por 10 conteos para una predicción de 10 es muy diferente de una predicción de 1000. Esta es una función de costo algo "canónica", porque ha igualado los costos hasta la función de enlace. Esto asegura que los costos coincidan con la distribución de varianza que se supone en el modelo.
Error de Chi cuadrado
C=1n∑i(Yi−Y^i)2Y^i
Una tercera forma sería usar el error chi-cuadrado. Esto podría ser particularmente atractivo si compara su GLM con otros modelos basados en conteo, especialmente si hay factores en su GLM. Similar a las respuestas del registro de errores, esto se escalará con el tamaño, pero es simétrico alrededor del recuento previsto. Ahora está evaluando la bondad de ajuste en función del porcentaje de error.
Sobre la discreción
La pregunta cita el ejemplo de documentación donde tienen una variable de respuesta binaria, por lo tanto, use una función de costo diferente. El problema para una respuesta binaria es que el GLM pronosticará un número real entre 0 y 1, aunque la respuesta siempre sea exactamente 0 o 1. Es perfectamente válido decir que cuanto más cercano esté ese número a la respuesta correcta, mejor será pronóstico, pero a menudo la gente no quiere esto. El razonamiento es que a menudo uno debe actuar como si fuera 0 o 1, por lo que tomará algo menos que 0.5 como pronóstico para 0. En ese caso, tiene sentido simplemente contar el número de pronósticos "incorrectos". El argumento aquí es que, para una pregunta Verdadero / Falso, solo puede estar bien o mal, no hay gradación de error.
En su caso tiene datos de conteo. Aquí es mucho más común aceptar predicciones que no tienen el mismo soporte que la respuesta. Una predicción de 2.4 niños por familia, por ejemplo, o 9.7 muertes por año. Por lo general, uno no trataría de hacer nada al respecto porque no se trata de estar "correcto" o "equivocado", tan cerca como sea posible. Sin embargo, si realmente debe tener una predicción que sea un número entero, tal vez porque tiene una tasa de conteo muy baja, entonces no hay ninguna razón por la que no pueda redondear la predicción primero y contar el "número entero" o el error. En este caso, las tres expresiones anteriores aún se aplican, pero simplemente necesita redondear primero.Y^
cv.glmnet
en el paquete seglmnet
usatype.measure="deviance"
para la familia Poisson.