This agrees with what is expected. With complex you should obtain a better RMSEA which you do. You should use COMPLEX with your data.
Luo Wenshu posted on Monday, December 05, 2011 - 12:22 am
I am testing a SEM model with 13 latent variables and 2 observed covariates. There are 3 variables with large ICC (>.10) (cluster size about 15). I tried estimating a two-level measurement model, but the estimation did not converge. Two ways were tried from here.
One is to use composite scores to run a two-level path model.By specifying the same free paths across two levels I got the informaiton: THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NON-POSITIVE DEFINITE FIRST-ORDER DERIVATIVE PRODUCT MATRIX. THE NONIDENTIFICATION IS MOST LIKELY DUE TO HAVING MORE PARAMETERS THAN THE NUMBER OF CLUSTERS. However, I think it is difficult to reduce the number of parameters to be less than the number of clusters and I am not very interested in the model at second level.
The other way is to use TYPE = COMPLEX to consider the dependence of the data with each cluster when estimating the parameters at the first level. Rather than using the composite scores, I specified both a measurement model and a structural model. The model has a good fit, but I got similar warming information as obtained in the first analysis.
Can I trust the result from the analysis in the two ways, especially the second?
Li Lin posted on Monday, December 05, 2011 - 12:01 pm
Hi I'm running a two-level SEM model with dichotomous outcomes. I would like to get the BLUP for u. For example, a blup is E(u) = GZ'V(-1)(y - Xb). How can I get the BLUP in Mplus? Does Mplus give the variance components?
You have non-independence of observations at the individual level. Only at the cluster level do you have independence of observations. The impact of having more parameters than clusters has not been well studied but this may affect your results. The only way to know the impact is to do a Monte Carlo study similar to your own study and see the impact on parameter estimates, standard errors and fit statistics.
Luo Wenshu posted on Monday, December 05, 2011 - 7:32 pm
Thank you for your reply. My data actually have three levels (students, classes and schools). In Mplus, if I run SEM with type = complex, I can only treat the data as having two levels (classes as the second level units).Is it OK to ignore the school level for this analysis? By setting type = complex, will the results of SEM analysis be the same if the data can be treated with three levels? Indeed,I found that the level 3 variance + level 2 variance in three-level variance decomposition analysis = level 2 variance in two-level variance decomposition analysis.
Luo Wenshu posted on Tuesday, December 06, 2011 - 1:19 am
When we set type=complex to run SEM, we can obtain a latent correlation matrix if we have tech4 following the OUTPUT command. Is this correlation matrix the pooled within groups latent correlation matrix or a correlation matrix based on the disaggregated data? Thank you very much.
It sounds like the school variance is small so it could perhaps be ignored. If you don't want to ignore it, you can use TYPE=COMPLEX TWOLEVEL. See the introduction to Chapter 9 and pages 500-501 in the user's guide.
TECH4 is not the pooled-within matrix. See the SAMPLE option of the SAVEDATA command for pooled-within.
Luo Wenshu posted on Tuesday, December 13, 2011 - 10:37 pm
I am testing a complex mediation model with multiple independent variables, multiple mediators, and multiple outcomes. I can obtain the indirect effects and their signficance test in Mplus. I found in Mplus output the size of the indirect effect is the product of the path coefficent from X to M (a) and from M to Y (b), and the standard error can be obtained by using Sobel's formula. Could you please let me know how the significance test is conducted? Is it based on the ratio of ab/SE assuming normal distribution? From MacKinnon's articles, the product usually does not follow a normal distribution. When the sample size is large, does the distribution approach normality? I know we can use Bootstrap method to test signficance. However I use TYPE = COMPLEX and Bootstrap cannot be run for this type of analysis.
I have relatively complex, longitudinal data with students clustered in classrooms.
Repeatedly I find effects (with low p-values) if I
- do a single level analysis - or use a sandwich estimator with type = complex
But modelling the longitudinal model as twolevel inflates p-values (or gives wide CIs with Bayesian). Intraclass correlations vary from quite moderate (e.g. .01) to relatively high (e.g. .05 or higher), N is anywhere between 400 and 1400.
I am for the time being not so interested in the Between level, but think I need to account for the interdependence of observations. Trouble is, COMPLEX and TWOLEVEL give me very different conclusions for the part I am interested in.
Am I correct in believing that simulation studies indicate TWOLEVEL is more reliable than COMPLEX? A yes to this question is unfortunate as far as my analyses are concerned... I hoped you might be able to comment on this.
I am new to Mplus, so please forgive me my beginner questions. I am considering the following situation: 538 customers are nested with 195 sales representatives who are nested within 12 companies. As the model type I chose "twolevel complex" however, I am not sure whether I need a random slope in my case.
But I also would like to include an effect "Cw on Ab Bb"- how can I do this? And how would the syntax look like in this case? I am not sure how to transfer the user's guide examples for random slopes to my case. Furthermore, is the command cluster=company salesRep suitable if I want to take into account the 3rd level (companies)?
Hello, I have a similar setting as "Luo Wenshu posted on Monday, December 05, 2011 - 12:22 am". I am using Type=Complex and get the same error information, as I have more parameters than clusters (16 clusters), but I am not able to reduce the parameters. I just want to control for the second level as my estimated intraclass correlations suggest that I have nested data, but I am actually just interested in the level 1 structure. Linda refers to use a Monte Carlo study in order to see the impact on the parameter estimates, standard errors and fit statistics. Can you please specify what I would have to do? Thank you for your help!
You can look at examples 12.6 and 12.7 in the UG. Typically, you don't have to worry about this. Note, however, that 16 clusters is a bit too small for type=complex standard errors to be well estimated. At least 20 is the rule of thumb. You can also try Bayes where a smaller number of clusters can be handled, although type=complex is not available with Bayes but instead you would have to do twolevel analysis.
I wonder what the exact difference is between the Type = Complex and Type = TWOLEVEL command when trying to predict time-lagged effects of x on y. If you have a two-level structured data sample (i.e., days of measurement nested in people), should you get the same output when using the ‘Type = Complex’ command…
[VARIABLE: NAMES = y_t x_t y_tmin1 x_tmin1 id; CLUSTER = id; ANALYSIS: Type = COMPLEX; MODEL: y on y_tmin1 x_tmin1; x on x_tmin1;]
…compared to the ‘Type = TWOLEVEL’ command when person mean centering the independent variables?
[VARIABLE: NAMES = y_t x_t y_pmc_tmin1 x_pmc_tmin1 id; CLUSTER = id; WITHIN ARE y_t x_t y_pmc_tmin1 x_pmc_tmin1 ANALYSIS: Type = TWOLEVEL; ESTIMATOR = MLR; MODEL: %within% y on y_pmc_tmin1 x_pmc_tmin1; x on x_pmc_tmin1; %between%]
The slides suggest you should end up with a similar solution. However, mine greatly differs when using Type = COMPLEX versus Type = TWOLEVEL. The latter produces different (and non-significant) estimates compared to the former. May this be caused by person mean centering the data? (for instance, does the Type = Complex command operates by using random intercepts which I corrected by person-mean centering the data when using the Type = TWOLEVEL command?)