# providing mean, sd, and correlations in sem

it is advised to provide mean, sd, and correlations of the data as the best practices in writing sem. However, the books I read did not mention how to obtain or provide those scores from the latent variables. Thus, I wonder, are those values derived from composite scores of factors or derived from in other way?

• No latent variable model can be identified & have the means & SDs of the latent variables as free parameters to be fit. Thus, I suspect they mean to provide that information about your manifest variables. – gung - Reinstate Monica Aug 31 '15 at 0:34
• Maybe. But if you look at the journals like Journal of Applied Psycholocy, authors exactly provide those informations belonging to study variables rather than manifest variables. – icd Aug 31 '15 at 8:14
• What's a study variable? As @gung said, it's usually true that the means cannot be free, but in some models they can be free if you constrain the intercept of the measured variables. Most models don't do this though. Can you point to a specific example of an article that you are struggling with? – Jeremy Miles Aug 31 '15 at 20:45
• For example Wu, C. H., & Griffin, M. A. (2012). Longitudinal relationships between core self-evaluations and job satisfaction. Journal of Applied Psychology, 97(2), 331-342 – icd Aug 31 '15 at 22:22
• It's a growth model. They have restricted the intercepts of the manifest variables (or at least one of them) to identify the mean of the latent. What software do you use? – Jeremy Miles Sep 1 '15 at 1:04

There are two ways to identify the variance of a latent variable. You can constrain the variance to one, or you can fix a loading to 1. Most programs use the second option as a default. If you've done much SEM, then you're used to that idea.

If you use Mplus, then your code for the first option is:

F by x1* x2 x3 x4;
F@1;


And for the second option:

F by x1 x2 x3 x4;


Which is equivalent to writing:

F by x1@1 x2 x3 x4;
F;


It's much the same with the mean. Mplus is explicitly writing:

[F@0];


To constrain the mean. The mean is not meaningful if you do that. If you want to compare the mean, you might write:

F by x1 x2 x3 x4;
[F];
[x1@0];


You fix the intercept of x1 to zero, and allow the mean of F (the factor) to be free.

If you have (say) two groups, you can compare the means of those two groups, or two time periods, you can compare the means of the two time periods.

Fx by x1 x2 x3 x4;
[Fx];
[x1@0];

Fy by y1 y2 y3 y4;
[Fy];
[y1@0];


Now you have a mean for each of two latents, and you can therefore calculate the difference between them. That is meaning, but only in terms of the first variable. You need to constrain the intercepts of the other variables to equality to to make them comparable on all variables. Something like:

Fx by x1 x2 x3 x4;
[Fx];
[x1@0];
[x2] (a);
[x3] (b);
[x4] (c);

Fy by y1 y2 y3 y4;
[Fy];
[y1@0];
[y2] (a);
[y3] (b);
[y4] (c);


(If you use Lavaan, I can show you the code in that program).

Now you have a valid comparison between means. The easier approach (given tha the means are arbitrary) is to fix the mean of one of the variables to be zero, and constrain the intercepts of each pair of measured variables to be equal (and also fix loadings across pairs).

It's a very powerful approach, but it's a bit of a weird way to think about modeling, until you get used to it.

I only glanced at the paper you cite (which, incidentally, I found here: https://www.researchgate.net/publication/51669665_Longitudinal_Relationships_Between_Core_Self-Evaluations_and_Job_Satisfaction ), but that's a heck of a model. I'm not a big fan of those methods factors - that seems weird, but maybe they explain it. I also don't like the fact that slope is regressed on intercept (which the authors do twice). Intercept is a latent variable, with manifest variables at times 1 through 4. Slope is a latent variable, with manifest variables 1 through 4, in a sense then, time 4 (on the intercept) is a predictor of time 1 (on the slope), given that causation (usually) doesn't run backwards in time, I wouldn't have fit that model.

It's a nice example of how a very simple overall modeling language/strategy can allow you to fit a very complex model. To code that model in Mplus, you need 3 keywords: on, by, with, and the symbols [], (), @ and *. (Some might say that the model is too complex - an example of what might be wrong with SEM, but I haven't read the paper, so I wouldn't.)