BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
oohsienoo
Calcite | Level 5

Hi SAS experts,

My research involves simultaneously measuring IBP and NIBP in 157 dogs.Some discrepancies occur during the measurements, we define a discrepancy as a difference >10 mmHg (match_S = 0), and no discrepancy as a difference <10 mmHg (match_S = 1). The factors I want to analyze include:

catagorical variables:  gender, breed, asa, bcs, disease, surgerytype, duration, sirs, qsofa, na, alb, cuffsite, IBPICsize, IBPsite, perianalgesia, dexcri, local, anticholinergic, inotrope, other

continuous variables:  weight, age, pcv

 

The current code is:

proc glimmix data=one order=data;
class gender breed asa bcs disease surgerytype duration sirs qsofa na alb cuffsite IBPICsize IBPsite perianalgesia dexcri local anticholinergic inotrope other;
model match_S(event='0') = gender breed asa bcs disease surgerytype duration sirs qsofa na alb cuffsite IBPICsize IBPsite perianalgesia dexcri local anticholinergic inotrope other weight age pcv / solution dist=binary link=logit;
random intercept / subject=No solution;
run;

 

But the results do not converge, and no p-values are generated. However, when No is not set as a random variable, p-values are generated. How can I improve my results?

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User

I think you have too many independent variables, especially too many category variable, that make design matrix is way too wide .
and the number of obs/records in dataset is too small for such big/wide design matrix. you could try LAPLACE method:
proc glimmix data=have method=laplace ;

 

For more troubleshooting this question ,check this paper(see attachment) at the end .

View solution in original post

2 REPLIES 2
Ksharp
Super User

I think you have too many independent variables, especially too many category variable, that make design matrix is way too wide .
and the number of obs/records in dataset is too small for such big/wide design matrix. you could try LAPLACE method:
proc glimmix data=have method=laplace ;

 

For more troubleshooting this question ,check this paper(see attachment) at the end .

SteveDenham
Jade | Level 19

In addition to @Ksharp 's observation about model complexity, I would suggest that you look into using the NLOPTIONS statement in your GLIMMIX code. If the iteration history is relatively well behaved (i.e., it is close to monotonic throughout), simply increasing the number of iterations from the default of 20 using the MAXITER= option may result in convergence. I almost always set this at MAXITER=1000, especially when fitting binary data.

 

SteveDenham

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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
  • 2 replies
  • 6209 views
  • 3 likes
  • 3 in conversation