Message/Author 

Anonymous posted on Monday, November 19, 2001  8:08 am



Dear Linda & Bengt, I am wondering about the best approach to compute confidence intervals around the estimated growth trajectories. I have tried to used the estimates produced by the cinterval option. The intervals become very wide towards the end and take values which are outside the range of possible values. Is this the only approach available right now and/or am I missing something? Thanks. Best, Hanno 

bmuthen posted on Wednesday, November 21, 2001  8:24 am



The cinterval option is helpful when you want a confidence interval for a single parameter estimate. But you are interested in the confidence interval for each time point for the estimated mean growth trajectory. The estimated mean growth value for a given time point for a linear model is the sum of the estimated intercept mean plus the estimated slope mean times the time score. The estimated variance around this is the sum of variances of the two parts and the covariance, where you use (co) variance estimates from Tech3. Alternatively, you can get your confidence interval easily for a given time point by centering at this time point so that the estimated growth curve mean is simply the estimated intercept mean  the confidence interval given for this estimate is then what you want. 

Pierre posted on Thursday, October 07, 2010  7:49 am



Dear Linda & Bengt, Partly in relation to this, I would have 3 questions. 1. If I follow Bengt's advice above for the level 2 intercept factor  in effect a mean variance I am therefore calculating the confidence interval of a variance. The problem is, if this mean value is constrained to 0, then the lower confidence interval is negative. Since variances can't be negative, can I consider this a valid result? 2. In the same model (one class, two levels GMM, with categorical observed variables at 5 time points with 6 covariates at the within level, and 1 at the between level), I get the 'non positive first order derivative product matrix' error, since the number of clusters is 20 and the estimated parameters 22. In order to reduce the number of parameter , I was thinking of constraining the threshold in the full model to the estimated values of the model with 20 parameters, that does not yield the NPD error. Would you recommend this? 3.In another variant of the same model, with one and two latent classes, I have been trying to estimate the intercept mean of the growth curve(s) by setting the first thresholds to 0, and the following ones to match as far as possible the cumulative frequencies of the observed categorical variables. My question is: does this remain valid if I introduce independent variables? Thank you very much in advance. Pierre 


1. It is not clear what you are putting a confidence interval around. 23. It is not a good idea to fix parameters unless it is part of the model parameterization. 

Pierre posted on Friday, October 08, 2010  2:53 am



Thank you for your reply, and sorry if I was not clear. I have: %WITHIN% %OVERALL% IW SW  nw1 nw2 nw3 nw4 nw5 %BETWEEN% %OVERALL% IB SB  nw1 nw2 nw3 nw4 nw5 [IB@0]; [SB@0]; IB; SB; IB WITH SB@0; I want to graph the predicted values of IB for each level 2 unit (as provided by the SAVEFILE command), together with the confidence interval for its mean value, which I have set to 0. I though I could compute a confidence interval for [IB] using 0 +/ 1.96 (SQRT(IB)/SQRT(n)). Since [IB] represents the mean level 2 variance, is there not a problem with the lower boundary of its confidence interval being negative? Sorry if this is a basic question. Re 2. Fix the thresholds at that particular value is not part of my design , but I thought I might be allowed to do this since the value of their estimated value did not seem to differ much in versions of the models with less parameters, and the one returning the NPD error. Do you mean that doing this introduces a bias in the estimation of the remaining parameters? Thank you again for your time. 


You can get factor scores and their standard errors for the growth factors by using the FSCORES option of the SAVEDATA command. I would never fix values unless they are part of the model parameterization. The message is related to having more parameters than clusters. I would ignore this message. 


Hello, I was looking for clarification with regard to the trajectory confidence intervals. I have estimated a five timepoint LGM in which tere are 21 seperate groups (sample sizes vary from around 50 to over 300 in each group; its a large sample!) I would like to develop confidence intervals around each trajectory. I have estimates the model as a multiple group LGM and the fit is ok(ish) (CFI:0.95). Despite the fit, I should be able to calculate the 95% CIs. From the information above, I should be able to use the covariance estimates produced by TECH3. I have used a quadratic parameterisation, but have fixed the variance of the quadratic parameter to zero (fixing the population to the same quadratic shape) According to the first post in this thread, my variance should be the (co)variance (from tech 3) of the Intercept, Slope, and the Covariance of the two (the variance of Q has been fixed, so that is done). However, when looking at the covariance, I'm getting number like (I Var: 1.897, S var: 7.63, IS var: 34.177). these values seem incredibly high to simply sum and produce my variance. Any ideas what i might be doing wrong? 


You can get the model estimated variances from the RESIDUAL option. You can express the means in MODEL CONSTRAINT using the NEW option and obtain standard errors in that way. 

IYH Boon posted on Friday, March 02, 2012  2:28 pm



Quick question about Bengt's 2001 comment: How do you center at a given time point? I want to put confidence intervals around my estimated growth trajectories, but I'm having trouble following the advice that's given above. 


You center at a given time point by having the time score of zero at that time point. For example, if you have linear model: i s  y1@0 y2@1 y3@2 y4@3; it is centered at timepoint one. If you want it to be centered at timepoint 4, say: i s  y1@3 y2@2 y3@1 y4@0 

Sara Payne posted on Friday, July 06, 2012  12:22 pm



Hi Linda and Bengt I am using a parallel process model to evaluate the relationship between two behaviours. I know the data is not normally distributed, so I have elected to use and report biascorrected 99% confidence intervals to minimize any bias in parameter estimates that may occur. However, I have notice conflicting results between my model results and BCBOOTSTRAP output. In the model output section, several covariances are significant (p<0.001). However the 99% biascorrected confidence intervals contain 0.000 suggesting that the covariances are not significant. I am wondering why I get conflicting results. I'm guessing that in the model results, the standard errors that are used to calculate the pvalues are not corrected for nonnormality, while the confidence intervals are corrected for nonnormality. Is this correct? If this is the case, I should forget what the pvalue in the model results tells me and concentrate on the confidence intervals. The only other explanation that I can think of is that my covarainces are small (0.001). Therefore, perhaps the confidence interval is not actually 0, but gets cutoff at 0.000 in the output. Would this be a possibility? 


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

Jon Heron posted on Thursday, April 18, 2013  5:36 am



Hi Bengt/Linda, I'm deriving the confidence interval for a growth curve and have been using the suggestion made above to derive values at a number of time points using the wonderful modelconstraint function. I'm now moving from a 1st order to a 2nd order model and considering the same exercise. However a second order model has zero intercept so there is no term to make a contribution to the variance. Any ideas what I can do? thanks, Jon 


Do you mean multipleindicator growth modeling? There the mean of the intercept growth factor is instead picked up in an intercept of the indicators and the growth curve for the factor wouldn't involve that parameter. 

Jon Heron posted on Thursday, April 18, 2013  9:24 am



Thanks Bengt, yes, that's what I mean the width of my confidence interval around the growth curve is then zero at baseline. I'm puzzled 

Jon Heron posted on Thursday, April 18, 2013  10:04 am



Did I say "puzzled"? I meant "stupid". I guess I can just go grab that mean of the first indicator and use it instead 


I guess if E(f_t)=0 for t at the first time point (which is the standard setup we use), then the predicted value is 0 and should have no interval around it. Moving an indicator intercept into the intercept factor mean makes it dependent on the choice of indicator. You can also show expected indicator growth with confidence bands, one for each indicator. 

Jon Heron posted on Thursday, April 18, 2013  11:44 pm



Thanks Bengt, I've just knocked together a lovely graph for my single indicator growth model which combines estimated growth under the model with the mean values of the manifest sumscore at each time point. Much clearer than the growth factor parameter estimates themselves as this is a quadratic model with constant Q. I was hoping for a figure for the multiindicator model to illustrate the similarities. Perhaps showing the population growth overlayed with the first order factor means. I'll continue pondering all the best, Jon 


We have a growth mixture model with three latent trajectories. One of them has growth factor means of 49.063 (I), 9.496 (S), and 3.432 (Q). Using these point estimates, the peak of the trajectory occurs at 1.383 on the xaxis. Is there any way to come up with a confidence interval for this value? 


See the new FAQ on our website GMM estimated means confidence intervals http://www.statmodel.com/download/GMM%20estimated%20means%20confidence%20intervals.pdf 


Thank you! 

Jamie Vaske posted on Wednesday, September 17, 2014  10:34 am



Hi, I see the method of calculating the confidence intervals for a GMM where you use the variance and covariance of the intercepts and slopes. My colleagues and I were wondering how to create confidence intervals for trajectories when using a latent class growth model, where the variances around the intercept and slopes are constrained to zero. Is there a modification to the pdf posted from July 11, 2013? Thanks! 


It's the same because only the growth factor means are involved in the formulas. 


Hi, I'm wondering if there is a way to extend the formulas shown within the Model Constraint section in following document (http://www.statmodel.com/download/GMM%20estimated%20means%20confidence%20intervals.pdf) to obtain confidence intervals around piecewise trajectories. I'm having a hard time extending the formula for this situation. Thanks for any advice you can provide! 


Generally speaking you would use similar expressions for each piece. The confidence interval are just the estimate for the estimated outcome mean +  1.96 * SE, where Model Constraint provides the estimate and the SE. We can't provide more help than that but perhaps you can check with a statistical consultant. 


Dear Linda & Bengt, I used the code in this document (http://www.statmodel.com/download/GMM%20estimated%20means%20confidence%20intervals.pdf) in order to compute and plot confidence intervals with the LOOP option. 1) When I specify "CINTERVAL(bootstrap)" in the OUTPUT section and modify the ANALYSIS section by specifying "bootstrap=500; estimator=ML;", confidence intervals are well computed but only the one corresponding to the last class (here class2) is showed in the plot (the other confidence interval is plot at zero). 2) In order to plot the confidence interval for class1, I tried to "switch" the two classes by specifying start values (for I and S) for class1 based on the final estimated values for class2, and vice versa. But the two classes are still "the same" (unless I write for instance STARTS = 5 5; instead of STARTS = 40 8; but I am not sure why this works). Bastien 


1) Send your output and gh5 file to Support along with your license number so we can see what you mean. 2) Use Starts=0, making sure that you get the same best log likelihood value. 


Dear Linda and Bengt, we estimated a latent class trajectory (analysis type = mixture) model with piecewise trajectories and would like to plot confidence intervals for them. Our 2 class model looks like this: Model: %Overall% I S1  ls0@0 ls1@1 ls2@0 ls3@0 ls4@0; I S2  ls0@0 ls1@0 ls2@1 ls3@0 ls4@0; I S3  ls0@0 ls1@0 ls2@0 ls3@1 ls4@0; I S4  ls0@0 ls1@0 ls2@0 ls3@0 ls4@1; ls0ls4(A); %c#1% [IS4] (a1a5); %c#2% [IS4] (b1b5); However, we were uncertain how to specify the model constraints. We started with the instructions from http://www.statmodel.com/download/GMM%20estimated%20means%20confidence%20intervals.pdf. MODEL CONSTRAINT: PLOT(class1 class2); LOOP(time,0,4,0.2); class1 = a1+time1*a2+time2*a3+time3*a4+time4*a5; class2 = b1+time1*b2+time2*b3+time3*b4+time4*b5; We thought about inserting the different "time"parameters (dummy variables) for different timepoints in the model constraints, but were not sure how this can be accomplished. Thanks for any advice you can provide! 


Looks like this would fit the sample means. Note also that the s variances cannot be identified because each piece is too short. But to answer your question, why not simply write out the means for each class and time point and then plot those by a Series option c1t1 = a1; c1t2 = a1 + a2; c1t3 = a1 + a3; c1t4 = a1 + a4; etc for the other classes. 


Thank you very much, Bengt! We managed to estimate the parameters as additional parameters in the constraints section using the SERIESoption, however, we have difficulties to initialize the plot. We looked for the "time series"plot of TYPE=PLOT3 but we cannot find it. Is this the one we would like to use and how can we initialize it? ~~~~ Plot: SERIES = ls0ls4 (*); Type = Plot3; MODEL CONSTRAINT: PLOT(c1t1c1t5 c2t1c2t5); c1t1 = a1; c1t2 = a1+a2; c1t3 = a1+a3; c1t4 = a1+a4; c1t5 = a1+a5; c2t1 = b1; c2t2 = b1+b2; c2t3 = b1+b3; c2t4 = b1+b4; c2t5 = b1+b5; 


Try Plot: Series = c1t1 c1t2 c1t3 c1t4 c1t5; Type = plot3; 


We tried but when we use > Series = c1t1 c1t2 c1t3 c1t4 c1t5; then we get *** ERROR in PLOT command Missing xvalues in the SERIES option for the process: c1t1 c1t2 c1t3 c1t4 c1t5 When we add (*) > Series = c1t1 c1t2 c1t3 c1t4 c1t5 (*); then we get *** ERROR in PLOT command Unknown variable in SERIES option: C1T1 It seems that MPlus can't identify the specified variables from the model constraint section. 


Sorry  Series can take only observed or latent variables. Seems like it is easiest to do the plotting outside Mplus. 

Jia posted on Saturday, February 15, 2020  9:18 pm



Dear Linda & Bengt, When I tried the Loop plot in the pdf using Ex 8.1 dat (http://www.statmodel.com/download/GMM%20estimated%20means%20confidence%20intervals.pdf), the loop plot in the first model is different with the model that do not have model constraint. In the later model, ind file just have %OVERALL% i s  y1@0 y2@1 y3@2 y4@3; The results for the estimated mean for each class by TECH4 is same for both models. However, the loop plot from the first example is different from the estimated mean plot from the second model (e.g. estimated mean at time 0 is different). I'm not sure why is that? Can I still use the loop plot? What if the lower confidence interval is below 0? Thank you so much! 


We need to see your full outputs  send to Support along with your license number. 

Back to top 