Hi there - The following code works but only with a very small sample size. My dataset is big and I get an ERROR message when I submit the code using the entire dataset. I have never used GLIMMIX, I'm not familiar with it. I wonder if this model can be run using MIXED instead? Would that help? Or are there any other ways to run this code more efficiently?
proc glimmix data=xx;
class studyid;
effect spl = spline(quarter / details naturalcubic basis=tpf(noint)knotmethod=percentiles(5));
model avgdose = spl /s ddfm=kr;
random int spl /subject = studyid type=vc solution; /*try vc instead of un*/
ods output parameterestimates=sf(keep=effect estimate
rename=(estimate=overall));
ods output solutionr=sr(keep=effect subject estimate
rename=(estimate=ssdev));
run;
Here is the error I get:
ERROR: Model is too large to be fit by PROC GLIMMIX in a
reasonable amount of time on this system. Consider
changing your model.
Three questions: How much memory is available to you, how many quarters are you trying to fit and how many cases do you have (studyid's)? I suspect that your code is generating a lot of knots, and so it ends up with a too many parameters in the optimization compared to the available memory.
SteveDenham
Thank you for your reply. Here are the answers:
1) On a regular basis just 32gb, but the IT department doubled that during the weekend. Unfortunately I didn't see a big improvement.
2) Nine quarters. I've tried 3, 4 or 5 knots. As expected, the smaller the number of knots the greater the chance the model will run.
3) If the dataset has 1k people (studyids) or less it runs fine. But unfortunately I have many more people (35k+) on the entire dataset.
Thanks again,
Gabriela
Here's a suggestion: First fit a simple model that uses the main effects of QUARTER.
model avgdose = quarter /s ddfm=kr;
If the simple model converges and gives reasonable answers that you understand, then try the more complicated model that incorporates spline effects for QUARTER.
Thanks for your reply. That's always a good approach. I have done that, though.
Thanks again.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.