Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Re: Need Help Deciphering a Mysterious Note in the SAS Log When Runnin...

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

🔒 This topic is **solved** and **locked**.
Need further help from the community? Please
sign in and ask a **new** question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 06-24-2019 09:51 PM
(2400 views)

I am using SAS 9.4 and PROC GLIMMIX to perform a log-binomial regression analysis with random effects on data from a clinic trial.

I have 11527 observations on 1062 patients taken at 6 clinics. All records with missing data have been removed from the input data file. Outcome variable is cancer recurrence (0= no, 1= yes) and five fixed effects: intervention (0= placebo, 1= experimental drug), prescription nsaid use (0=no, 1=yes), low dose aspirin use (0=no, 1=yes), clinic (site numbers 1 to 6, categorical), and dosage (average intervention pills per day intake between visits to the clinic, continuous). Pill count data provides strong evidence that some of the patients deviated from the 1 pill per day protocol, with some having zero pill intake between clinic visits and others having up to 8 pills per day intake between clinic visits. The vast majority of patients appeared to adhere to the treatment protocol.

Of course, the 6 clinics used in the trial are a sample from a larger population of clinics. In order for the conclusions from the trial to apply to the population of all clinics (and not to just these 6 clinics), the variable 'clinic' needs to be a random-effect variable; hence the use of PROC GLIMMIX. Therefore, the clinics are the independent experimental units and the patient data within each clinic are correlated.

When I run my code (see below), it seems to work without error and I get results that make sense, but I get this message in the log that I can't figure out:

"Note: An R-side variance component is confounded with the profiled variance."

Does anyone know what this log message means? Can I ignore it or must I take some kind of corrective action?

Thanks in advance for your time.

Here is my code:

proc glimmix data=mydata.pillsfile_uv noclprint plots= boxplot(fixed);

class ptid_ intervention(ref="0") nsaid(ref="0") aspirin(ref="0") clinic;

model recurrence(event='1') = intervention nsaid aspirin clinic pillsperdayintake / s ddfm=kr dist=binary link=log chisq;

random clinic / subject=ptid_(clinic) type=vc residual;

nloptions tech=nrridg;

estimate 'Treatment' intervention 1 -1 / cl exp;

run;

Notes:

- When I remove the "residual" option from the above random statement to force creation of G-side random components, the code fails to converge.

- When I specify covariance structure type=un (unstructured), the code also fails to converge

References used to write this code:

1) Kathleen Kiernan. "Insights into Using the GLIMMIX Procedure to Model Categorical Outcomes with Random Effects." Paper SAS2179-2018.

2) Mike Patetta. "Longitudinal Data Analysis with Discrete and Continuous Response Notes". Book code E70979, course code LWLONG42/LONG42. ISBN 978-1-63526-093-9. 21Mar2017.

3) SAS/STAT 9.2 Users Guide. The GLIMMIX Procedure. https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#glimmix_toc.htm

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I tried the new random statement. The code converges but I get new messages:

Note: Estimated G matrix is not positive definite.

Note: The covariance matrix is the zero matrix.

I will close this thread and get the book you recommended. Thanks for the help.

3 REPLIES 3

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I would try a revised random statement, perhaps something like

`random clinic ptid_(clinic);`

The concept of "residual" is different for generalized linear models than for general linear models. For the binary distribution, there is no residual variance to estimate: the variance is redundant to the mean. For more details about this concept, see Generalized Linear Mixed Models: Modern Concepts, Methods and Applications.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I tried the new random statement. The code converges but I get new messages:

Note: Estimated G matrix is not positive definite.

Note: The covariance matrix is the zero matrix.

I will close this thread and get the book you recommended. Thanks for the help.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I overlooked something previously, my apologies. I was thinking of clinic as a random effects factor, and I failed to notice that you included clinic in your MODEL statement. In one part of your original post, you defined clinic as fixed, but subsequently you defined clinic as random. You'll have to pick one or the other.

If you want clinic to be a fixed effects factor, then try

`random intercept / subject=ptid_(clinic);`

If you want clinic to be a random effects factor, then you must remove clinic from the model statement. Then you can use

`model recurrence(event='1') = intervention nsaid aspirin pillsperdayintake / s ddfm=kr dist=binary link=log chisq;`

random clinic ptid_(clinic);

or a RANDOM statement alternative

`random intercept ptid_ / subject=clinic;`

I would probably try Laplace or quadrature estimation which you can specify using the METHOD option on the PROC statement. Either of these methods places constraints on how you specify your model. See the METHOD option in Proc GLIMMIX statement documentation for details.

If that solves your problem, at least to some extent, you could then explore an explicit covariance structure for the repeated measures (visits) on patients, either as a GLMM or as a GEE. This is an appreciably more complex effort, and the Stroup text I referenced in my previous message will provide details about approach and cautions.

Good luck!

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 25. Read more here about **why** you should contribute and **what is in it** for you!

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.