BookmarkSubscribeRSS Feed
sharcole
Fluorite | Level 6

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;

4 REPLIES 4
Reeza
Super User

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.

sharcole
Fluorite | Level 6

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.

StatDave
SAS Super FREQ

You can model clustered, multinomial data using PROC GEE or using a CLUSTER statement in PROC SURVEYLOGISTIC.

sharcole
Fluorite | Level 6

Thank you Dave,

 

Would you mind giving sample syntax given the code I provided?

 

I

 

 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is ANOVA?

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.

Discussion stats
  • 4 replies
  • 1728 views
  • 0 likes
  • 3 in conversation