I recently ran a multinomial model using proc logistic with a 3 level unordered dependent variable. A reviewer has asked us to accunt for clustering by clinic site. This type of modeling does not seem to be supported with proc genmod (cannot use link=glogit).
I have tried using proc glimmix but due to the large number of observations (10,000), I receive the following : ERROR: The SAS System stopped processing this step because of insufficient memory. (example below)
Is there any way to run an unordered multinomial model and account for clustering by clinic site in SAS?
Thank you for any suggestions and example syntax!
proc glimmix data=mlogit ;
class time1 site x y z;
model food=time1 x y z /dist=multinomial link=glogit solution;
random int / subject=site group=food ;
estimate "Time 1 vs Time 0" time1 1 / exp;
run;
10k isn't a lot of observations, but maybe your settings can be modified to allow this to process.
Can you confirm what your MEMSIZE option is set to?
proc options group=memory;
run;quit;
Check the log for the results.
You can modify the setting in your CFG file.
Thank you Reeza ,
the log is:
Group=MEMORY
SORTSIZE=268435456
Specifies the amount of memory that is available to the SORT procedure.
SUMSIZE=0 Specifies a limit on the amount of memory that is available for data
summarization procedures when class variables are active.
MAXMEMQUERY=0 Specifies the maximum amount of memory that is allocated for procedures.
MEMBLKSZ=16777216 Specifies the memory block size for Windows memory-based libraries.
MEMMAXSZ=2147483648
Specifies the maximum amount of memory to allocate for using memory-based
libraries.
LOADMEMSIZE=0 Specifies a suggested amount of memory that is needed for executable
programs loaded by SAS.
MEMSIZE=2147483648
Specifies the limit on the amount of virtual memory that can be used during
a SAS session.
REALMEMSIZE=0 Specifies the amount of real memory SAS can expect to allocate.
You can model clustered, multinomial data using PROC GEE or using a CLUSTER statement in PROC SURVEYLOGISTIC.
Thank you Dave,
Would you mind giving sample syntax given the code I provided?
I
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.