Endogenous factor intercepts vary acr...
Message/Author
 Levente Littvay posted on Tuesday, April 11, 2017 - 7:49 am
Dear Mplus Team and User Colleagues

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).
 Tihomir Asparouhov posted on Wednesday, April 12, 2017 - 8:56 am
You can modify the model as follows

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.