By the way, my latest response was directly to xtc, not to Steve. I have often done multivariate mixed model analysis, where there are several different dependent variables. I mostly use normal distribution for each variable. Done with MIXED or GLIMMIX (the stacked Ys are different dependent variables).
These procedures may or may not be relevant for you. I can't tell, because you haven't explained what you are trying to do.
Steve and LVM--Ah! Now it begins to make sense. The cross-sections can define different response or dependent variables. Clearly, if using Proc Mixed (OLS estimation), those different responses need to be normalized in some way into a similar scale. This would be a challenge for Mixed if one (or more) of the responses was 0-1. In that case, you would probably want to use Glimmix, which uses ML estimation and is, therefore, scale invariant by definition. Does that sound about right?
Well, PROC MIXED doesn't use OLS, it is usually REML, and occasionally, ML. GLIMMIX for the other variables, well, it is maximum pseudo-likelihood if you want marginal estimates, or optimization via numerical integration by Laplacian or adaptive quadrature methods if you want conditional estimates.
Going out on a limb here and maybe Larry can talk me down--for a multivariate, hierarchical model, you would want to model the relationship between variables and the hierarchy both as G side.
Steve Denham
Message was edited by: Steve Denham
Steve, handling the G-side effects can take some care. R-side for within-subject correlations of the different dependent variables, and G side for other effects. One may need a lot of data to precisely estimate G.
Thanks, Larry. So, site or block or cage or pen as G side, and all of the variables R side.
I am thinking about clinical pathology panels for cage housed rodents...
Steve Denham
Hello Steve,
Thank you very much for sharing your expertise to SAS users/learners. I wonder if you could assist with the followings:
SAS provides an example of joint modelling of binary and count data for repeated measured data using the GLIMMIX procedure. SAS/STAT(R) 9.22 User's Guide
I have spent a lot of time trying to work out how to interpret the parameter estimates to no avail. Could you pls guide on how to interpret those under output 38.5.5 from the SAS example, for both the "solutions for fixed effects" and "covariance parameter estimates"?
Thank you.
Thu Vuong
First panel:
Estimates for binomial variable leave: Intercept, and regression coefficients for age and OKstatus. Should be a straightforward interpretation.
Second panel:
Estimates for Poisson variable los:Intercept, and regression coefficients for age and OKstatus. Again, this should be a straightforward interpretation
Third panel:
Joint estimates for the two variables: Note that effect = dist in the tables has two values--one for the binomial distribution and one for the Poisson. These are the intercepts for the two variables. The fixed effect regression coefficients for each of the variables are also listed as age*dist and OKstatus*dist. Note that the estimate and standard error values are the same as in the univariate regressions, but the degrees of freedom are increased due to the joint modeling.
Fourth panel:
A random intercept model is fit to the joint model. The intercepts per variable now reflect the conditional estimate, based on the covariance parameter for the intercept. What this does is move the inference space from the patients in the study to the population of possible patients. Note that all estimates and standard errors change.
Fifth panel:
A marginal model is fit to the joint model (note: this is what Larry was referring to in his latest post). A Cholesky error covariance structure is fit, so the variance-covariance matrix has to be calculated by hand (or data step or IML). HERE IS A KEY POINT: This is NOT the covariance matrix of the data. That involves the variance functions as well, and could be obtained by appropriate options to the MODEL and RANDOM statements. Again, all of the estimates and standard errors change.
Hope this helps you walk through the write up.
Steve Denham
Thanks very much Steve. Your explanation is extremely helpful.
Best wishes,
Thu Vuong
Hello Steve,
I have some challenges with interpretation of the regression coefficient of a mixed model I wonder if you could help. So my PhD study has repeated measured design with 5 time-point: baseline (Time=1) and 2, 3, 4, and 5 (follow-ups) over 3 years. The aim of the study is to compare the effectiveness of two interventions for heroin dependence (MMT and CCT).
Below are the SAS syntax of the final model, the outputs of fixed effects and my attempts in doing interpretation in the format of regression model. I wonder if you could have a look and comment on the accuracy of my work. The outcome variable here is number of drug-free days during the previous 30 days (DrugFreeDays) which is treated in the model as a continuous outcome variable (with minimum value of 0 and maximum value of 30). This model has a curvature shape, hence Time*Time in the random statement.
Thank you very much for your time.
Thu Vuong
*Model 12: Re-run the final model (Model 11) in REML;
proc mixed method=reml;
class Group Time0 IDNumber PolyUseEver;
model DrugFreeDays= Group Time PolyUseEver Group*Time PolyUseEver*Time/solution;
random Int Time Time*Time/subject=IDNumber Type=UN;
repeated Time0/subject=IDNumber Type=ar(1);
run;
Solution for Fixed Effects | |||||||
Effect | Group | Poly Use | Estimate | Standard Error | DF | t Value | Pr > |t| |
Ever | |||||||
Intercept | -2.5439 |
| 589 | -7.64 | <.0001 | ||
Group | CCT |
| 929 |
| <.0001 | ||
Group | MMT | 0 | . | . | . | . | |
Time |
| 589 |
| <.0001 | |||
PolyUseEver | No | -0.9113 |
| 929 | -2.51 |
| |
PolyUseEver | Yes | 0 | . | . | . | . | |
Time*Group | CCT | -3.6112 |
| 929 | -20.8 | <.0001 | |
Time*Group | MMT | 0 | . | . | . | . | |
Time*PolyUseEver | No |
| 929 |
| |||
Time*PolyUseEver | Yes | 0 | . | . | . | . |
The regression model is written as below:
DrugFreeDays = -2.5439 + CCT * 2.9993 + Time * 7.4011 + No PolyUser * (-0.9113) + Time*CCT*(-3.6112) + Time*No PolyUserEver* (0.5241);
Time is a continuous variable valued from 1 to 5.
The intercept value of -2.5439 is the value of the mean number of drug-free days for MMT participants when Time=0. Therefore, when Time=1 (baseline), the value is (-2.5439) + (7.4011) = 4.8572; For a CCT participant, this value is 4.8572 + 2.9993 = 7.8565 (at baseline);
At Time=5, for a CCT participant who was a poly user:
Y=-2.5439 + 2.9993 + (4*7.4011) + 0 – (4*3.6112) =-2.5439 + 2.9993 + (29.6) + 0 – (14.44)= 15.61 days
At Time=5, for a MMT participant who was a poly user:
Y=-2.5439 + (4*7.4011) + 0 + 0 =-2.5439 + (29.6) = 27.06 days
----
Thu-
You didn't ask for my opinion. Nevertheless, I wanted to share a couple of observations. It's not clear to me what the "1." and "2." are for the effects labelled Group=CCT, Time and Time*PolyUseEver=No. Next, the negative intercept is a bit problematic to interpret. I suggest reviewing Judith Singer's brief article "Using Proc Mixed" which is ungated and online and/or her book on Longitudinal Data Analysis for a deeper discussion of how to develop and specify meaningful intercepts. This would be especially useful for you since you note that the baseline is at Time=0 but you're observed values for Time range from 1 to 5 periods. Then, you might try refitting the model to see if you don't get a more interpretable intercept and results.
Hope that helps,
Thomas Ball
Thanks Thomas,
That is OK any opinion and suggestion is gold to me.
Re the value of 1 and 2 for the fixed effects, they are not in the original table. They just popped up when I copied the table into the discussion box. I tried to copy in different ways but it did not get better. Sorry about that.
Putting the intercept and the intercept aside, could you please kindly comment on my interpretation of the effect of "Time" and the interaction of "Time*Group"? For Time*Group, is it correct to multiple the odds by 4 (given the number of repeats)?
Thank you,
Thu Vuong
It is correct to multiply the coefficients by 4 in those instances where you want estimates for followups when time=4.
Thanks Thomas very much for your time and advice.
Cheers,
Thu Vuong
No standardization necessary. In fact, that would be a bad idea. One uses an unstructured variance-covariance matrix (type=UN), which handles the different scales for variables. Better to use type=CHOL in glimmix. If you want to do something like this, you will first need to learn a lot about these procedures. Start with SAS for Mixed Models, 2nd edition.
Steve and LVM-good corrections re estimation in Mixed. Given that, no normalization would be needed for either procedure. Very helpful. Thanks.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.