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
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.