BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
cHirap
Calcite | Level 5

I am new to SAS and I am trying to understand LASSO in SAS and glmselect. Can someone help me with some of the my questions here?

1. When we do glmselect , is it that SAS choses the value of lambda by its own? If so, how can I get the value of lambda it chose? I am not talking about the group LASSO or hpgenselect. I am looking for a SAS code to get lamda value for glmselect procedure. My SAS  (my stat version stat version: 14.2)

2.  I am trying to understand the difference between LASSO and Group LASSO. Can you explain the difference in simple terms?

1 ACCEPTED SOLUTION
7 REPLIES 7
cHirap
Calcite | Level 5

Thank you. 

cHirap
Calcite | Level 5
Thank you
cHirap
Calcite | Level 5

So, I am in a situation where I need to impute my data before doing lasso. So I did the first sep for imputation which is fill-in phase. Now I have 10 imputed datasets. Now I am trying to perform glmselect.The general form of the code that I am using is -

proc glmselect data=imputed dataset plots(stepaxis=normb)=all;
model outcome= Var1 var2 .....var33/selection=lasso (choose=sbc) details=all; performance details;

by _imputation_;

ods output ParameterEstimates= parameter dataset;

run;

The doesn't work and the log doesn't say anything except the code.

Can someone help me to figure out what's the mistake that I am doing?

Also, this analysis phase I will be getting to the pooling phase of imputation where it pools the beta coefficients from 10 lasso models in the analysis phase. But my aim is to get a model with significant variables. So, will lasso give a selected model from this 10 imputed models. What the purpose of pooling phase in case of Lasso?

I FOUND SOME RESOURCES AND SOME BLOGS BUT ALL ARE FOR R .CAN SOMEONE PLEASE HELP ME WITH THIS ? I AM  STUCK WITH THE ANALYSIS PHASE. THANKS.

Rick_SAS
SAS Super FREQ

> [this] doesn't work and the log doesn't say anything except the code.

> Can someone help me to figure out what's the mistake that I am doing?

Please post the exact code you are running and copy/paste the log that results. 

cHirap
Calcite | Level 5
I learned that the code that I use is wrong. I need to use something called MI-LASSO. I found this resource to MI-LASSO, but its machine leaning language that I don't understand. Are you aware of any regular SAS code that I can use to perform LASSO on a set of imputed datasets? The issue is that when LASSO is performed ona set of 10 imputed datasets, it will produce different models for each dataset. So, we have oto perform LASSO on a model that represent each of those 10 dataset. Is there a way to do it in SAS 9.4 without using the machine learning language macro that's provided in the link? I am looking for-
1. a code that will allow me to use LASSO on a multiple imputed data
2. Then, How to do the pooling phase of the imputation.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 7 replies
  • 673 views
  • 1 like
  • 3 in conversation