03-20-2018 01:09 PM
I am trying to get the selection details in glmselect, specifically the lambda fit statistic. I noticed that the following link generates the selection details that has the lambda for hpgenselect:
any way I can get the same table in proc glmselect?
This is my code:
proc glmselect data=data plots(stepaxis=normb)=all;
model converted= x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15/selection=lasso (choose=sbc) details=all; performance details; run;
This gives me the RootMSE, dependent mean, R-square, Adj R-sq, AIC, AICC, SBC...but not the lambda.
03-20-2018 01:18 PM
Thanks. but the issue is not with storing the statistcs, but with generating the lambda values in the output, every other statistic fit is generated. Does sas not generate lambda statistic fit using glmselect?
03-20-2018 01:26 PM
Post your log please, the code doesn't look correct.
Selection should be a new line like in the demo.
model converted= x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15/selection=lasso (choose=sbc) details=all; performance details;
model yPoisson = x: / dist=Poisson;
selection method=Lasso(choose=SBC) details=all;
03-20-2018 01:31 PM
that is because that is the code for hpgenselect..I am trying to get the lambda for glmselect which is different than the demo. with glmselect the option is following a / and not with a new line...I am trying to get the lambda for glmselect.
03-20-2018 01:43 PM
That is what you said, my bad, I missed the difference there. Unfortunately I'm not seeing one, but hopefully someone else knows a way go get it.
03-20-2018 03:49 PM
The GLMSELECT procedure uses the keyword 'L1' instead of 'lambda' .See the GLMSELECT documentation for various ways to search/stop in the parameter space. The L1 option is only available for the group lasso, and the syntax looks something like this:
model y = x1-x100 / selection=GROUPLASSO(stop=L1 L1=0.1 showStepL1);
03-28-2018 12:55 PM
Thank you Rick! I never replied that this actually worked. Quick question, what is a good L1 value to set it as in your option.
03-28-2018 01:23 PM
I don't know. It depends somewhat on the value of the L1CHOICE option. I think "a small value" is what I usually see, similar to ridge parameters. But I don't have any advice as to whether 0.1 is "usually better" than 0.01. I suggest you experiment, possibly on simulated data or which you know the true underlying model.