I have two questions. I keep running into insufficient resources when using GLMSelect to investigate a file with 1M records, 5 categorical covariates with split options and 1 by variable. If I replace the by statement with a macro, will this reduce the computational requirements and increase the probability the code will run? Or are there just too many covariates with split options?
I can't increase the sumsize which is 1GB. Any other suggestions?
Switching to macro language will never reduce the resources needed.
If it is mathematically possible, you might lower the resource requirement by changing another variable, and turning it into a second BY variable.
If at all feasable, you could reduce the number of categories in some of your variables by merging similar categories.
If all else fails, you could run the model selection procedure on a subsample your data.
Have you considered subsetting your data into, say, 10 subsets, each with approx. 100K records, using the MODELAVERAGE statement on each of these, and then comparing the results across the subsets (sort of a doubly averaged model) to get the selected variables, and then fitting the full dataset to the selected variables? An adaptive LASSO method for variable selection would enable you to do this. See Example 49.5 Model Averaging in the SAS/STAT14.1 documentation as a starting point.
Steve Denham
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.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.