BookmarkSubscribeRSS Feed
kcsb
Calcite | Level 5

proc glimmix data=data.model_df method=laplace;
class PAC_1 (ref="No PAC") PRVDR_NUM hrrnum;
model PAC_1 = / dist=multinomial link=glogit solution;
random intercept / subject=hrrnum group=PAC_1 type=vc;
random intercept / subject=PRVDR_NUM(hrrnum) group=PAC_1 type=vc;
output out=ps_long pred(noblup ilink)=ps;
run;

 

I am trying to run this null model. However, I get this error: ERROR: Model is too large to be fit by PROC GLIMMIX in a reasonable amount of time on this system.

 

Also, I did check this:

 

proc options option=(memsize sortsize realmemsize);
run;

 

MEMSIZE=141785863680
Specifies the limit on the amount of virtual memory that can be used during a SAS session.
SORTSIZE=25769803776
Specifies the amount of memory that is available to the SORT procedure.
REALMEMSIZE=9223372036854775807
Specifies the amount of real memory SAS can expect to allocate.
6 REPLIES 6
PaigeMiller
Diamond | Level 26

It cannot be done in a reasonable amount of time. This probably is not a memory issue (otherwise the error message would specifically say memory), it is most likely a CPU issue.

 

How many levels are there in each of your CLASS variables? Can some of the levels be combined?

 

How many observations in data set data.model_df?

--
Paige Miller
kcsb
Calcite | Level 5

2943 in PRVDR_NUM, 306 in hrrnum and 4 in PAC_1.  I don't think I can combine the levels. They are really different.

 

160391 observations (data.model_df)

PaigeMiller
Diamond | Level 26
random intercept / subject=PRVDR_NUM(hrrnum) group=PAC_1 type=vc;

 

So here HRRNUM is nested within PRVDR_NUM. That's 2943 x 306 = 900,558 different combinations. I can understand why SAS is telling you this will take a very long time. Further, with 160,391 observations, the data will be very sparse in some of the combinations of HRRNUM and PRVDR_NUM; in other combinations of HRRNUM and PRVDR_NUM, there will not be any data. So, this is an overspecified model as well, you can't estimate everything.

--
Paige Miller
Ksharp
Super User

1)

You have too many strata/cluster in your model due to two RANDOM statement.

I would suggest to get rid of the second RANDOM statement and say whether it is working or not.

 

2)

Or using Bayes version of GLIMMIX:

proc bglimm
kcsb
Calcite | Level 5

Yes, it is working without the second random statement.

 

proc bglimm - Is this similar to proc glimmix (I have never used this)?

Ksharp
Super User
Yes. I think so.
Since proc bglimm is the Bayes version of proc glimmix, they should get the similar parameter estimators.

And I suggest you to post this question to Stat Forum to let statistician to notice it.
https://communities.sas.com/t5/Statistical-Procedures/bd-p/statistical_procedures

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 6 replies
  • 585 views
  • 0 likes
  • 3 in conversation