Message/Author 

Paras Mehta posted on Wednesday, December 15, 1999  3:53 pm



MPLUS 1.04 prints out residual variances and R^2 for y* variables. Is it possible to constrain residual variances and therefore total variance of y* variables? e.g., residual variances may be hypothesized to be equal over time. 


Long answer first. The residual variances are not parameters in the Mplus model, but we compute them as "remainders". So we don't have the possibility to constrain them to be equal over time. The Delta scale factors are parameters that are useful with categorical outcomes, but because they are inverted y* standard deviations they are functions of loadings, factor variances, as well as residual variances. So holding Delta's equal over time would only be the same as holding residual variances equal over time if the loadings and the factor variances were already held equal. Short answer: no. 

Dieter Urban posted on Wednesday, December 29, 1999  4:22 pm



What can I do when I get negative residual variances (of factors) resulting in undefined Rsquares? 


If the residual variance is not significant, you can fix it to zero. If it is significant, you should consider modifying your model. 

Anonymous posted on Sunday, May 02, 2004  5:28 pm



This is a followup to the messages above: If you constrain the variance or residual variance of a variable to zero, do you also have to constrain all covariances with that variable to zero? And if so, why does the program still give you estimates if you don't constrain the covariances? Is it possible to test any hypothesized relationships with a variable for which you have constrained the variance or residual variance to zero? 


In Version 2, if you fix a variance to zero, you also need to fix the covariances to zero. If you do not, you do get estimates. They are, however, not interpretable. In Version 3, if you use the  symbol and fix a variance to zero the covariances are automatically set to zero. This is not done using the BY option because the parameters are identified and someone may want to have access to them. 

DEWANT2 posted on Friday, April 01, 2005  11:53 am



ok, i'M AT WITS END IN ATTEMPTING TO FREE PARAMETERS AND FIX OTHER PAREMETERS TO GET THIS gmm WITH 2 TIMEVARYING CONTINUOUS OUTCOMES WITH TWO CATEGORICAL LATENT VARIABLES Y Y Y Y Y Y Y Y I1 S1 I2 S2 C1 C2 I AM USING EXAMPLE 8.7 AS TEH MODEL. EFA AND CFA OF THE FACTOR STRUCTURE WERE GOOD (FINALLY..) AFTER ACCOUNTING FOR DIRECT EFFECTS. NOW I WANT TO MODEL THE HETEROGENIETY IN THE INITIAL STATUS AND RATE OF CHANGE. I AM GETTING THE CLASSIC ERRORS OF: THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NONPOSITIVE DEFINITE FIRSTORDER DERIVATIVE PRODUCT MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. i HAVE TRIED TO CONSTRAIN AND FREE UP PARAMETERS AD NAUSEUM BUT I AM MISSING SOMETHING. I ALSO CANNT TARGET HOW TO ADDRESS WHAT THE MESSAGE IS TELLING ME. I.E. CONDITION NUMBER IS 0.629D18. PROBLEM INVOLVING PARAMETER 32. WARNING: THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IN CLASS 1 IS NOT POSITIVE DEFINITE. THIS COULD INDICATE A NEGATIVE VARIANCE/ RESIDUAL VARIANCE FOR A LATENT VARIABLE, A CORRELATION GREATER OR EQUAL TO ONE BETWEEN TWO LATENT VARIABLES, OR A LINEAR DEPENDENCY AMONG MORE THAN TWO LATENT VARIABLES. CHECK THE TECH4 OUTPUT FOR MORE INFORMATION. PROBLEM INVOLVING VARIABLE S1. wHEN i ATTEMPT TO FREE PARAMETERS I LOSE THE STANDARD ERRORS PROBLEM BUT RETAIN THE WARNINGS IN ALL CLASSES. I ALSO TRIED TO MODIFY THE MODEL BY REDUCING THE CLASSES TO NO AVAIL. I CAN SEE THAT THE SLOPES OF ONE OF MY VARIABLES ARE PRETTY FLAT FOR EACH CLASS (AS WELL AS THE OVERALL MEANS AS THEY CHANGE OVER THE 4 TIME PERIODS). THIS IS LIKELY THE SOURCE OF THE ISSUE BUT I THINK THERE IS ENOUGH VARIATION THERE BETWEEN CLASSES TO ULTIMATELY GET THIS MODEL TO CONVERGE. I WAS ABLE TO GET 1/2 OF THE MODEL TO RUN (THE LEFT PART OF THE MODEL) BUT THE COMPLETE MODEL IS PROBLEMATIC. ANY SUGGESTIONS ARE GRATEFULLY WELCOME! THANK YOU. PS SORRY FOR THE CAPS LOCK. 


This is a support question. I suggest you send your input, data, and output along with your Mplus license number to support@statmodel.com. 

Anonymous posted on Wednesday, June 15, 2005  2:40 pm



Our LGM has five timepoints. Since the observed outcome measures Y1>Y2>Y3>Y4>Y5, I expect the freely estimated time scores (i.e., the factor loadings associated with the latent slope growth factor) would have a pattern like (lambda5>lambda4> lambda3>lambda2>lambda1) with a negative slope growth factor. However, our model results show (lambda4=1.630>lambda5=1.390), indicating Y5>Y4 since the slope growth factor estimate was negative. Then, I respecify the time scores as: (lambda1=0 lambda2=1 lambda3=free lambda4=1.7, lambda5=1.8), and run the model again. I got very similar results for the two models, and both models fit data very well. Thus, I am wondering whether I could constrain (lambda5>lambda4> lambda3>lambda2>lambda1) in Mplus? Thanks a lot for your help! 

bmuthen posted on Friday, June 17, 2005  8:21 am



The fact that the y scores (means of y) go down with time does not imply that the time scores decline  only that the slope mean is negative. You should let the time scores reflect the distance is timing of observations and only free them if a deviation from linearity is needed. 

Anonymous posted on Monday, June 27, 2005  8:53 am



Dear Dr. Muthen: Glad to see your response to my question after coming back from a trip. Let me clarify my question: 1) the mean y scores declined over time (i.e., Y1>Y2>Y3>Y4>Y5) but did not change linearly. Thus, I freed some time scores. 2) y_hat =intercept+ slope*(time score). Suppose Intercept=10, Slope=1.5, and time score=1.63 and 1.39 at time points t4 and t5, respectively. Then y4_hat=101.5*1.63 y5_hat=101.5*1.39 Thus, y5_hat>y4_hat, i.e., mean y score increased, instead of declined, from t4 to t5. That was why I was wondering if I could put constraints on the time scores so that (y4_hat>y5_hat) can be ensured. Is it possible to put such constrains in Mplus? Thanks a lot for your help! 

BMuthen posted on Tuesday, June 28, 2005  8:08 am



I would not recommend trying to restrict the time scores but perhaps try to find another functional form for the growth curve such as a quadratic with a log time scale or a piecewise model if that seems to fit your data. 

KKMPF posted on Thursday, January 19, 2006  10:08 am



In a growth mixture model situation, how can the residual variances across the groups/classes be set to be unique to the different groups/classes? On pages 175 and 177 it is mentioned that residual variances across group are held constant. However, I cannot find anywhere in the manual where it discusses how to free the variances. Here is a bit of my code in a multiple group growth mixture model setting: ANALYSIS: TYPE IS mixture missing; MODEL: %overall% i s  p06@0 p15@.1875 p24@.375 p36@.625 p54@1; c#1 on cg#1; %cg#1.c#1% i with s; [i*.25 s*.5]; %cg#1.c#2% i with s; [i*.1 s*0]; %cg#2.c#1% i with s; [i*.25 s*.5]; %cg#2.c#2% i with s; [i*.1 s*0]; Should Algorithm=Integration be used in such situations? Thanks for any insight! 


Mention the variances in the classspecific parts of the MODEL command, for example, %cg#1.c#1% p06; I don't think numerical integration is required. You should be prompted if it is. 


My hunch is that my input is worth more than my words, so here's my input: VARIABLE: NAMES ARE condition t1x t2x t3x; MISSING = .; MODEL: i s  t1x@0 t2x@8 t3x@44; i s on condition; s@0; I had a nonsignificant negative variance for slope, so I set it to 0. Everything runs just fine, but I get only unstandardized output and I would like the beta weight (stdyx) for the path from condition (which is dichotomous) to slope. Is this impossible? Is there a formula I can use to generate it myself since the program doesn't? 


Have you asked for STANDARDIZED in the OUTPUT command? I would also divide my time scores by ten. The value 44 is large for a time score. 


Yes, I have asked for STAND in the output. It generates Estimate = 1, SE = 0, P = .00 for STDYX of S on Condition. This warning is generated when I set the variance for slope to 0: *** WARNING in Model command All continuous latent variable covariances involving S have been fixed to 0 because the variance of S is fixed at 0. 1 WARNING(S) FOUND IN THE INPUT INSTRUCTIONS But I assumed this was normal  just letting me know I had set the var for slope to 0. 


Please send your input, data, output, and license number to support@statmodel.com. I need more information to answer your question. 


Hi  I am modeling a multiplegroup latent growth curve model of achievement test scores with 4 time points. I have 5 groups, each with more than 1,000 students. When I ran the model, I got 4 negative residual variances (one for each group) that were nonsignificant, and I set those to zero. However, I have one significant (p<.05) residual variance for my last time point for the final group. In an earlier post, you recommended against setting this to zero and suggested modifying the model. Would you recommend this in my case? If so, what kinds of modifications would you suggest? 


You could consider holding the residual variances equal across time. This is what is typically done in growth models in programs like HLM. 


Thanks very much Linda I think you mentioned this in one of your videoed lectures on the subject. Sorry to trouble you further, but what is the syntax for constraining the residual variances? I had trouble finding it in the manual. Many thanks for your help. 


See Chapter 16 of the user's guide. y1y3 (1); or y1 (1) y2 (1) y3 (1); 


Hi, I am modeling a linear growth curve model and keep getting the not positive definitive matrix error regarding the growth factors. The output shows negative variances for the growth factors. In my notes from an Mplus seminar I noticed it says that outcome variables with decreasing variances over time are problematic. So I checked and mine are definitely decreasing over time. I am trying to figure out whether there is a way to modify the model while retaining any existing variance in the growth factors (i.e., not setting them to zero). What options might I have? Thank you. 


As a follow up, I tried constraining the resid variances to be equal and that made the model worse. Then I tried fixing the covariance of the intercept and slope to zero (since it was not significant), but that didn't help. Only when I fix the slope variance to zero does the error go away. So, does that mean it really should be fixed or that there is just a problem with the variances of the ouctome measures decreasing over time? Thank you. 


Have you looked at modification indices for residual covariances? 


Yes. The mod indices pointed to the covariances between the growth factors and the middle two timepoints. Then I freed those timepoints and realized that there is really a nonlinear pattern, with the vertex at the minimum point at my 2nd timepoint. However, can I model a quadratic slope with only 4 time points? Or should I model it as a piecewise model? 


A quadratic growth model is identified for four time points. Four time points is not enough for a piecewise model. 

Regine Ip posted on Wednesday, February 29, 2012  4:50 am



I may have a situation similar to Kathryn's above. I got 6 time points. The GMM (assuming variances of growth factors be the same across classes) works well. The residual variances for the 6 time points are between 18 to 33. Code: i s q  s1@0 s2@1 ... s6@5; q@0; However, when I consider having different variances of growth factors for 1 class (additional code: %c#1% i s; s with i; The residual variance for the last time point drops to nearly zero, making the plot of estimated means and observed individual values for that class very funny (variation for s1 to s5, but none at s6; all observed trajectories converge to the mean at s6). I have tried to (1) fix the residual variances to be the same across time, (2) delete the quadratic term, (3) reduce to two classes. The same problem persists. I simply cannot understand why the residual variance s6 drops to zero, by releasing 1 class of variances from fixed values. Similar to Kathryn's case, the problem goes away only if the slope variances are set to 0 (i.e. sq@0). Thank you. 


It may happen because the variance of s is free in that class and may get large. You could instead let only the i variance be different. But as a first step you should do the analysis using the default class invariance of the variances, then use Mplus to plot the observed trajectories together with the estimated mean curve to visually inspect the need for having different variance in a class. 

Regine Ip posted on Thursday, March 01, 2012  5:20 pm



Thanks Bengt. I did use the default class invariance of the variances, and the result is sensible. Based on the plot, I was trying to free the variances (i, s, s with i) for just 1 class. The problem then appears unless all slope variances are set to 0 (only i variances are different). (1) I felt that the pattern (residual variance s6 drops to nearly 0 while all s1s5 are fine) may imply some redundancy among the variances, which are now assumed different across class. But I don't understand why. (2) Which model should be chosen? One model with all variances (i, s, s with i) but fixed to be equal across class. The other model has only i variances but allows to be different. The BIC points to the latter model though. Thanks again. 


What I had in mind was a model where the s variance is equal across classes, but the i variance is different (and therefore also the is covariance different). Another option is to hold the residal variances equal across time, and let this residual variance be different across classes. 


Hi, I'm running some GMM and, as I'm rather new with this analyses, I have two questions that may be pretty basic: 1) assuming variances (for intercepts and slopes) to be equal across classes my models convergence easily, and I obtain a meaningful twoclass solution. Yet, when I allow variances to vary across classes I cannot make the model converge. Does it make sense to stuck to the first solution? 2)my variable is highly skewed, with a preponderance of zeros (at certain waves up to almost 90%). I'm using MLR but I'm wondering whether this is enough or whether the classes I found may be biased by the nonnormality of my outcome (see Bauer & Curran, 2003). Thank you! 


1. I would use the PLOT command TYPE3 and look at the estimated means and observed individual curves to get an idea of where there is variability in the classes. I would then free the appropriate variances. 2. MLR is not sufficient when there are a preponderance of zeroes. If the variables are continuous, you can consider treating them as censored or using a twopart model. 

sojung park posted on Wednesday, July 11, 2012  12:32 pm



Hello, I was trying to run growth curve null model with binary outcome for 7 time points. The result does not give me intercept .. while I ran null model with continous outcome with same data, it indeed give me both intercepts and slopes.. since when I ran the same model with stata, it gives me intercepts/slope, I am thining it is something to do with how M plus is working..? would you pls help me with this?! thank you so much! here is the part of the output.. S WITH I 0.061 0.004 16.185 0.000 Means I 0.000 0.000 999.000 999.000 S 0.037 0.005 7.864 0.000 


Mplus uses a different parametrization for categorical growth models. The thresholds are held equal across time, the intercept growth factor mean is fixed at zero, and the slope growth factor mean is free. With continuous outcomes, intercepts are fixed at zero and the intercept and growth factor means are free. The two parametrizations are equivalent for binary outcomes. 


Hi, Linda, thank you so much for your help! now I understand why I do not get the 'intercept' in categorical growth models.. in Mplus approach since I am used to run multilevel growth model (with stata) which produces intercept and it is 'interpreted' in categorical growth model, I am still confused about what I am supposed to do with all the same thresholds (should I calcualte manually the probability or odd ratio..?) also I was wondering if there would be ome tutorial type of paper or resources that tells me on each steps and on how to interpret the categorical growth model with M plus? thank you so much in advance! 


If you are used to interpreting your model with an intercept and with zero thresholds, then why don't you choose that same parameterization in Mplus? You can easily do that by statements like [u1$1u5$1@0]; [i]; where the first line fixes thresholds at zero for 5 repeated measures on a binary outcome u, and the second line frees the intercept growth factor mean to be estimated. 


Dear Bengt, thank you so much for your help! I immeidately tried that and got the intercet. could I ask a follow up question? strangely, the intercept I got from LGM approach (M plus) and from multi level approach(stata) is very different. when I tested with a continous outcome, the number is almost same or very similar which is expected in a null model the multi level intercept is a coefficient I got from multinomial mixed effect regression. should I do something to M plus to get the same result? thank you! 


To see the difference, you would have to send the output from Stata and from Mplus to Support. 

fred posted on Thursday, November 20, 2014  8:45 am



Dear all, Reading from the top concerning the rekommendations (not) to constrain the residuals to equality I wonder whether this still stands if such constraints render a model, that otherwise would be just identified, over identified . This concerts simpel three timepoints linear growth with a slope mean close to zero. Thanks Fred 


I don't think buying degrees of freedom like this is warranted unless you get negative residual variances otherwise. 

fred posted on Friday, November 21, 2014  1:13 am



Thank you Bengt for your reposnse, the unconstrianed model has a df of 1 (but a Chi2<df, cfi =1 and rmsea=0). I do not have negative residual variances but very close variance etsimates of T1 and T2 on residuals (2.896 ad 2.427) and slightly decreasing resvariances from T1 to T3. The slope mean is very close to zero, 0.007 (0.047). I cannot seem to find the source of misssepcification. This growth curve is meant to be included in a paralell LGC, the second curve is specified similarily and returns interpretable fit indices, so there ought to be some parameter estimates which are causing this issue with identifcation, would you agree? Do you have a suggestion for how to spot the potential missspecification? thanks 


Your fit statistics Chi2<df, cfi =1 and rmsea=0 don't indicate a fit problem (perhaps your sample size is small so you have low power to reject). 

fred posted on Friday, November 21, 2014  8:09 am



I have a sample of >700. Doesn't the fit indicate a just identified model? WHen freeing the residuals, the slope variance was nonsignficant. I have now constrained slope variance to zero, and have gotten a significant chi2 but other fit indices are well acceptable now. WHat is your take on this approach? 


I assumed that your df > 0. For your second question you may want to get input from a general discussion list like SEMNET. 

fred posted on Saturday, November 22, 2014  2:16 am



Thank you Bengt, yes I had a df of 1, so the model is identifed.Am I correct to understand that you view such a model as well (or rather perfect) fitting although with low power? Although I remember that in a previous discussion on a similar case, that is adequate sample size and no low correlations, Linda seemed to allude that some thing may be wrong ( see http://www.statmodel.com/discussion/messages/11/2127.html?1397836729 ). 


Q1. Yes. Q2. It is strange that a model that doesn't have low correlations or low sample size would fit this well. 

John Woo posted on Saturday, August 15, 2015  12:11 pm



Hi, i am running GMM, and the mean growth factors and class membership change quite dramatically by freeing the residual var across classes. Both models converge fine without any issues. In this case, which model would you recommend that I choose (default vs. free res var across classes)? [I also set the var and cov of growth factors to vary across classes. All other parameters follow the default.] Does algorithm Mplus use have any assumptions about the mixture distributions in terms of equal residual variances across classes? Thank you in advance. 


I recommend first running with the Mplus default of equal variances (residual and growth factor) and then check the individual observed curves sorted into most likely class (we have that plot option). There you can see if there is one class that has much more/less spread than others around the class mean curve  and free variances there. Sometimes the residual variances is what should be freed and sometimes you get more benefit from freeing say only the intercept growth factor variance. Mplus does not make any assumptions about equal residual variances. 

Daniel Lee posted on Thursday, October 20, 2016  11:46 am



Hi, I am running an unconditional latent growth model and the model seems to run well. No errors on output. However, for my intercept value (which was 0.00), the pvalue and est/s.e. was 999. Also, the intercept and the s.e. of the intercept cannot be 0.00. It should be higher than that. Can you explain to me why the intercept looks weird. The slope was estimated just fine. 


Please send the output and your license number to support@statmodel.com. 


Hello, I was receiving this error message: WARNING: THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IS NOT POSITIVE DEFINITE. THIS COULD INDICATE A NEGATIVE VARIANCE/RESIDUAL VARIANCE FOR A LATENT VARIABLE, A CORRELATION GREATER OR EQUAL TO ONE BETWEEN TWO LATENT VARIABLES, OR A LINEAR DEPENDENCY AMONG MORE THAN TWO LATENT VARIABLES. CHECK THE TECH4 OUTPUT FOR MORE INFORMATION. PROBLEM INVOLVING VARIABLE S. So, I fixed my slope to 0. But my main interest is to look at the growth trajectory of 2 groups and if groups differ significantly. But now that I fixed my slope to 0 and I no longer get the error message I am confused about how to look at the growth rate my slope is now fixed to 0 so my estimate for the slope is 0.... i.e., " I ON SEX 0.135 0.182 0.741 0.458 INCOME 0.096 0.018 5.264 0.000 GROUP 0.181 0.129 1.408 0.159 S ON SEX 0.054 0.078 0.691 0.490 INCOME 0.008 0.008 0.966 0.334 GROUP 0.000 0.000 999.000 999.000 " my interest in S ON GROUP but now i no longer have an estimate for that parameter 


s@0 implies that the residual variance of s is zero. It doesn't imply that s is zero or that s regressed on group is zero. As a first step, check that there is significant s variance in a run without the 3 covariates. 

Back to top 