BookmarkSubscribeRSS Feed
mthorne
Obsidian | Level 7

Hi,

 

I've been having an ongoing issue with the error "G side matrix is not positive defined," and especially when I analyze proportion data from replicated block trials. I usually have to remove the "random intercept / subject=rep" and replace with "random residual / subject=block" to remove the error and have an analysis that makes any sense. This also means I cannot use the LaPlace estimation method.  But, why is this such an issue with binomial distribution?

 

Here is a small study that illustrates my issue.  Attached is an output using both models for the factorial analysis. 

 

Thanks for any help with this issue!

Mark

 

Title1 'Comparison of SU Herbicides for scouringrush - Steptoe';

data Oct19;
input Plot Trt Herb $ Surf $ Rep Ctrl;
cards;
101 1 FN NIS 1 30
102 2 FN SW 1 70
103 3 AM NIS 1 10
104 4 AM SW 1 40
105 5 AB NIS 1 10
106 6 AB SW 1 50
107 7 None None 1 .
201 3 AM NIS 2 25
202 7 None None 2 .
203 6 AB SW 2 25
204 5 AB NIS 2 25
205 2 FN SW 2 50
206 4 AM SW 2 25
207 1 FN NIS 2 40
301 4 AM SW 3 20
302 3 AM NIS 3 20
303 5 AB NIS 3 25
304 6 AB SW 3 25
305 7 None None 3 .
306 1 FN NIS 3 50
307 2 FN SW 3 70
401 1 FN NIS 4 30
402 7 None None 4 .
403 6 AB SW 4 20
404 2 FN SW 4 75
405 3 AM NIS 4 30
406 5 AB NIS 4 25
407 4 AM SW 4 30
;


data oct19; set oct19;
if trt=7 then delete;
run;

******************************************;
*factorial analysis;

proc sort data=oct19; by herb surf rep;
run;

proc glimmix data=oct19; *method=laplace plots=residualpanel;
class plot trt herb surf rep;
dec=ctrl/100;
model dec = herb|surf / dist=binomial link=logit;
*random intercept / subject=rep;
random residual / subject=rep;
lsmeans herb surf herb*surf / ilink pdiff lines;
run;

**********************************************;
*Simple effect analysis;

proc sort data=oct19; by trt rep;
run;

proc glimmix data=oct19; * method=laplace plots=residualpanel;
class plot trt herb surf rep;
dec=ctrl/100;
model dec = trt / dist=binomial link=logit;
*random intercept / subject=rep;
random residual / subject=rep;
lsmeans trt / ilink pdiff lines;
run;

2 REPLIES 2
mthorne
Obsidian | Level 7

I guess my real question is why does this error always seem to appear when analyzing proportional data (decimals) with Glimmix using the binomial distribution? Is it just that the variation between replicates is low, or could it be something else?

 

Mark

Ready to join fellow brilliant minds for the SAS Hackathon?

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!
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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 368 views
  • 0 likes
  • 2 in conversation