BookmarkSubscribeRSS Feed
lijunchen
Calcite | Level 5

I have been using GLIMMIX to get the random effects estimates for second level units (counties). The data has over 40,000 level-1 records nested within 8 level-2 units (counties). The dependent variable is binary event indicator "event_pm" (1=event, 0=no event). There are no covariates except for county level random effect. The GLIMMIX program is shown below as well as the event frequencies for each level 2 county.

However, to my surprise, the model did not converge. Is it because 8 level-2 units is too few for the GLIMMIX model? Or is it because the number of events (event=1) for some counties are too few? One county has only over 30 events. What options can I use to overcome the non-convergence problem?

Any suggestions are appreciated.

PROC GLIMMIX data = ppage4 /*method=RSPL*/ noclprint pconv=1e-4;

   class county;

   model event_pm (event="1") =

         /dist=binary  solution;

     random intercept /subject=county solution cl;

run;

                                 Cumulative
county  event_pmFrequency Frequency

------------------------------------------------

1          0    6445      6445
1          1     212      6657
3          0   12436     19093
3          1     376     19469
5          0    1677     21146
5          1      59     21205
7          0    1216     22421
7          1      36     22457
9          0   12055     34512
9          1     377     34889
11          0    3855     38744
11          1     116     38860
13          0    1240     40100
13          1      32     40132
15          0    1673     41805
15          1      50     41855
1 REPLY 1
lvm
Rhodochrosite | Level 12 lvm
Rhodochrosite | Level 12

There can be many reasons for nonconvergence, and it would be not for the reason you are worried about. It is not clear if it is getting close to convergence (just needing more steps) or is stuck far from the solution locus. It could be stuck on the inner or outer iteration of the doubly iterative RSPL method. I suggest you increase the maximum number of iterations and try different optimization techniques. Add

nloptions maxiter=1000 maxfunc=1000 technique=NRRIDG;

Or try TRUREG or CONGRA for technique.

For binary data, you could also change your estimation to method=LAPLACE on the procedure statement. But this might be v-e-r-y slow with the number of levels you have.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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
  • 1543 views
  • 0 likes
  • 2 in conversation