We are working on an introductory text for Multilevel SEM, using Mplus, and came across a question: latent variables defined at the within level cannot have an intercept varying across groups. However, we are able to include a random slope for the regression of a within-level latent variable on a within-level covariate. If this works like non-SEM multilevel models, however, we understand that a random slope model should also have a random intercept, or estimates of the effect of a between-level covariate on the random slope would be biased. An example model syntax of this model (which we are able to run) is below:
MODEL: %within% fw1 by y1-y3; fw2 by y4-y6; s | fw2 on xw; fw2 on fw1;
%between% fb1 by y1-y3; fb2 by y4-y6; fb2 on xb fb1; s on xb;
We sense that either this is not interpretable, or there should be also a "fw2 on xb" on the %between% part, which returns an error message that within-level variable cannot be used at the between-level (fw2).
MODEL: %within% fw1 by y1 y2-y3 (l1-l2); fw2 by y4 y5-y6 (l3-l4); s | fw2 on xw; fw2 on fw1;
%between% fb1 by y1 y2-y3 (l1-l2); fb2 by y4 y5-y6 (l3-l4); fb2 on xb fb1; s on xb;
In this setup the random intercepts are fb1 and fb2. Some basic algebra happens when you put the two-levels together to see this.
If the loadings are not equal between the two levels a random intercepts could be identified on its own but A. they are probably not super well identified B. You need more than 3 indicators because with 3 it is just saturated
Further you can add a covariate XW=1 (using an option variance=nocheck) in the data command to allow you no variance covariate.
Also factors with random loadings are allowed on the between level.