Glmnet

¿Cuándo falla lasso?

Una de las consecuencias funestas —tal vez inesperadas e imprevistas— de la actual arquitectura del mundo en que vivimos es que hay mucha gente (e instituciones, y libros, y artículos, y…) empeñada en enseñarte las cosas buenas y provechosas y muy especialmente en sus facetas que lo son más mientras que para aprender las malas dependes de la calle, la suerte y las pésimas compañías.

Así, te enseñan lasso y todo son parabienes.

(g)lms con coeficientes > 0 (p.e.)

  • Alguien quería un glm forzando determinados coeficientes >0.
  • Una solución 100% bayesiana no era una opción.

Hay varias opciones por ahí. Pero me ha sorprendido que la opción esté disponible en glmnet::glmnet:

Filosóficamente, es un tanto sorprendente: de alguna manera, glmnet es glm con prioris alrededor del cero. Los límites superiores e inferiores permiten introducir información a priori adicional no necesariamente compatible con la anterior.

Desde el punto de vista de la implementación, tiene sentido que estas opciones estén disponibles. glmnet usa coordinate descent como algoritmo de minimización e introducir restricciones en ese tipo de algoritmos es una trivialidad.