# glmnet vs. lars for computing the lasso

I've seen this post as well as this one regarding the difference between the lars and glmnet solution paths for fitting the lasso. From my understanding, glmnet uses coordinate descent optimisation to identify its coefficient path. If that is the case, what does the lars implementation use to identify its path? Is it the same as coordinate descent?

While the first post provides a simple example, I also wondered how they determine their "best" coefficients from those paths. Further, it doesn't seem particularly efficient to me to have to use a lambda value from the lars function with glmnet, what if you want to move on from the lars package and solely use glmnet? How can you trust that you are identifying the right coefficients using the right lambdas?

On more complex examples, I've found that lars is able to identify the true regression model using the lasso whereas the glmnet method has not. Theoretically, glmnet should work in identifying the model correctly, so I'm trying to understand the disconnect.

Thanks.

• How is lars able to find the true regression model? I haven't tested lars specifically but every feature selection method I've tried results in a very low probabiilty of finding the "right" model even with simple toy test cases. That is especially true there there is collinearity. Feb 12, 2021 at 12:16
• I've found that, when determining the lars path with the lasso modification. I am able to identify the true regression model (or a very close estimate) for several more complex datasets. From my understanding, I am utilising the function to perform the lasso algorithm by determining the optimal lambda value.
– AW27
Feb 12, 2021 at 12:33
• It would be interesting to see your simulation code where you assess the agreement between selected and true predictors. Feb 12, 2021 at 13:25
• I'd be happy to share and discuss elsewhere regarding the simulations, but I was hoping to determine why the lasso implementation in lars identifies a different coefficient path as the lasso implementation with glmnet, even when standardising outside of the functions.
– AW27
Feb 12, 2021 at 13:33