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;
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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: