BookmarkSubscribeRSS Feed
Haris
Lapis Lazuli | Level 10

I am running a binomial GLIMMIX model with a binary outcome Mortality (sample event rate almost 50%) and two multinomial random effects.  The rows are patients with a sample of just over 12K.  The first random effect is hospitals, sample just over 450.  The second effect--the one that gives me trouble--is hospital groups.  Most of the groups are non-overlapping states--close to 50 of those.  But I do have four hospital groupings that are not states and I do have hospitals that fall into multiple groups--MULTIMEMBER.

 

Here's the first model that converges in 1.6 seconds:

proc glimmix method=laplace;
    class HID;
    model Mortality = / dist=binomial link=logit ddfm=bw;
    random HID;
run;

The second model, adding a fixed MULTIMEMBER effect converges in 8.4 seconds--C1 is a variable with States as levels; C2 is mostly blank and only has four levels designating non-state hospital groupings--NOEFFECT option sets indicators for blank rows to zero:

proc glimmix method=laplace;
    class HID C1 C2 ;
    effect Collabs = mm ( C1 C2 / noeffect );
    model Mortality = Collabs / dist=binomial link=logit ddfm=bw;
    random HID;
run;

I suppose I could live with non-state collaboratives as fixed effects but, by design, they are random effects I would really like empirical Bayesian shrinkage applied to those estimates the same way it is applied to hospital estimates.  Unfortunately, when I put COLLABS in the random statement, the computer seems to go unresponsive:

proc glimmix method=laplace;
    class HID C1 C2 ;
    effect Collabs = mm ( C1 C2 / noeffect );
    model Mortality = / dist=binomial link=logit ddfm=bw;
    random Collabs HID;
run;

CPU usage fluctuates between 5% and 10%, memory usage is flat at roughly 40% of my RAM capacity, disk I/O spikes up and down with no sustained use of the virtual memory evident.  I thought it may be a matter of time so I let this run for 48 hours using SAS Enterprise Guide (SEG).  Resource monitor shows that SEG uses more computer resources than SAS 9.4 process.  After several minutes my SEG goes unresponsive--I cannot open new programs or do anything with the program.  Now, I've seen that happen with other resource-intensive models: SEG goes unresponsive but it comes back after the model is finished.  I've had this go on for hours at a time.

 

It seems that the MULTIMEMBER effect is specified correctly because the model converges with MM as a FIXED effect.  SAS documentation for using MULTIMEMBER effect is rudimentary but, perhaps, that is appropriate if all it does is create 0/1 indicator variables for each level of C1/C2 combination.

 

Any insights or suggestions?

1 REPLY 1
Haris
Lapis Lazuli | Level 10

Here's what the C1 C2 coding looks like:

data DS;
  if state='State1' then do; C1='State1'; C2='';        end; else
  if state='State2' AND Collaborative='Collab1';
                    then do; C1='State2'; C2='Collab1'; end; else
  if state='State2' AND Collaborative='';
                    then do; C1='State2'; C2='';        end; else
  if state='' AND Collaborative='Collab2';
                    then do; C1=''; C2='Collab2';       end;

ETC.

run;

I don't think this is particularly relevant but, just in case, this summarizes all three possible permutations of C1 and C2:

1. Hospital is only in a State group ==> C2 is blank

2. Hospital is in a State and a Collaborative group  ==> C1 and C2 have one of the valid levels for the nominal variable (relatively rare)

3. Hospital is only in a Collaborative group ==> C1 is blank (relatively rare)

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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
  • 1 reply
  • 558 views
  • 0 likes
  • 1 in conversation