14 votos

¿Qué es más preciso, glm o glmnet?

R glm y glmnet utilizan algoritmos diferentes.

Observo diferencias no triviales entre los coeficientes estimados cuando utilizo ambos.

Me interesa saber cuándo uno es más preciso que otro, y el compromiso entre tiempo de resolución y precisión.

Concretamente me refiero al caso en el que se establece lambda=0 en glmnet s.t. está estimando lo mismo que glm.

2 votos

Estás preguntando por las diferencias de rendimiento y precisión cuando lambda=0, donde ambos deberían ser teóricamente idénticos. Creo que deberías añadir eso en tu pregunta.

13voto

Silvercode Puntos 438

Glmnet es para la regresión de red elástica. Penaliza el tamaño de los coeficientes estimados (mediante una mezcla de penalizaciones L1 y L2). Trata de explicar la mayor cantidad de varianza de los datos a través del modelo mientras mantiene los coeficientes del modelo pequeños. He encontrado estos diapositivas útil para entenderlo.

Glm no utiliza un término de penalización.

El efecto, según entiendo, es que con la red elástica puedes estar aceptando algún sesgo a cambio de una reducción de la varianza del estimador. Así que cuál es el mejor debe depender de cómo se defina "mejor" en términos de sesgo y varianza. (Por ejemplo, sé que glmnet tiene ventajas cuando se tienen muchas características en comparación con las observaciones)

1 votos

Bueno, sólo estás explicando lo que hace glmnet - pero el OP se refería a la situación cuando estableces lambda=0 en glmnet, en cuyo caso el resultado debería, en principio, devolver lo mismo que un glm (no penalizado) (salvo algunas pequeñas diferencias numéricas relacionadas con el método de ajuste de descenso de coordenadas cíclico que se utiliza en glmnet).

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