Dear Mplus team, In LGMM, how does one model different degrees of heteroschedasticity for each class? Also, how does Mplus allow one to model error structures in LGMM for each class (e.g., antedependence, etc)?
bmuthen posted on Thursday, May 12, 2005 - 3:32 pm
By heteroscedasticity, do you mean class-varying variances? If so, simply mention the variance within a class and it will be given a class-specific variance estimate - e.g.:
By error structures do you mean correlated residuals? If so, simply say ...WITH.. within class. If not, please expand.
More specifically, how would one model different degrees of variance for the indicators in the LGMM? For a model where GPA1 and GPA2 were indicators of GPA for two different semesters, could I allow correlated residuals and estimate item variances simultaneously by writing:
%c#2% GPA1 WITH GPA2;
Also, could I use the ON command with these same variables to model antedependence?:
%c#2% GPA2 ON GPA1;
bmuthen posted on Thursday, May 12, 2005 - 4:39 pm
With 2 indicators of a factor, you could not identify a residual covariance between the indicators. To let the residual variances vary across classes, say
%c#2% GPA1 GPA 2;
The ON command is used correctly in your message to let it be specific to class 2. I don't know what "antedependence" means.
I have seven semesters of data, so it should work out.
Also, how can I specify (seperately) the relationship among variables and the relationship among variable errors. I want to allow error variances to be predicted by the temporally preceding error variance (hence the term "antedependence" - sorry, I thought this term was more widely used). However, if I use the ON statement, will I not be telling Mplus to regress each semester onto each preceding semester, as opposed to each semester's residual in a LGMM? (This is the only thing that really confuses me about Mplus - I cannot seem to understand how to specify, with precision, freed/fixed/correlated variances or other terms not normally modeled in the program - LISREL is cumbersome, but it's so easy to specify what you want estimated/related and what you don't, because of the ability to specify each matrix seperately. Is there anyway to work with Mplus in matrix notation?)
which together with (2) and (3) means that you have created (1). Note that you can check what you have specified by requesting Tech1 which uses matrix notation in line with the LISREL "all y" representation. If you are unsure, you can check without doing any estimation by saying iterations = 1;
Once you have defined a set of e residuals this way, you can say
I'm sorry, but I don't understand. I get what you're aiming at (i.e., creating a vector of errors by establishing a link to from y to e@1 when the link from y to f is @0), but I'm a bit lost. When are the variables "e1" & "e2" defined so that I may reference them. If I insert "f BY y@0", am I not saying f is unrelated to y? I know that "e BY y@1" and "y ON e@1" are not redundant statements, but in concert don't they dissalow me from estimating f?
Again, I'm sorry, but I think there's an underlying logic/language here that I'm missing. I've read the book, but is there any section you suggest I read again?
That helps very much, although I have two last Qs.
1) Whenever you state that e1@1 (or e2@1) occurs as a function of y, does that not preclude y from loading on f at any level other than 0, or does it simply mean that e and f will have to share variance in y? In other words, does the @1 mean that you're setting the loading to 1, or is it analogous to telling Mplus to freely estimate the path?
2) When you write "e1 by y1@1; y1@0;" what is the y1@0 indicating? It comes outside of the "e1 by y1@1;" statement, but does it still have a relation to e1?
p.s. the possibility of a wardrobe malfunction on an internet stats class broadcast is very funny.
A variable name refers to a variance or residual variance depending on the model. So e1@1 fixes the variance of e1 to one. The BY statement is used to define the factor. e1 BY y1@1 fixes the factor loading to one. See Chapter 16 of the Mplus User's Guide for a full description of the MODEL command.
bmuthen posted on Saturday, May 14, 2005 - 9:48 am
means that the regression coefficient is fixed at 1 in the regression of y1 on e1. This unit reg coeff is what we have (although the 1 is invisible) in the usual regression:
y1 = lambda1*f + e1
So, no, this does not preclude y from loading on f beause earlier we said
f by y1*;
Putting the f by y1 and y on e1@1 statements together (which is what Mplus does) gives y1 as a function of both f and e1. And, yes, this means that the y1 variance is composed of f variance and e1 variance.
2) Here, y1@0 fixes the variance of the usual residual at zero. Since the mean of the residual is zero, this implies that the residual itself is zero. That is what we want because e1 takes the role of the residual. I just put the statement on the same line as the e1 by y1@1 statement for compactness and I could have put it on a separate line.
just to add to this question: can I model correlated errors (as mentioned in the above discussion) in a cross-lagged path analysis with some count outcomes? i am modeling repeated measures on a count variable for half of my model and would like to try that.
i tried the method above, but i get a message stating "Variances for count variables are not currently defined." I know many of these techniques don't necessary apply to counts.
You can include correlated residuals in the model but each one will constitute one dimension of integration. More than four is not advised. You can do this using the BY option as shown in Example.7.16.
I guess I don't understand your suggestion? As far as I can tell, Ex 7.16 is dealing with LCA?
I just have a measured-variable crosslagged path analysis with two outcome variables measured over five waves. Right now, if I don't put anything regarding the points/dimensions of integration, it automatically does 175 points of integration and 7 dimensions. I am not sure how to decrease the dimensions or use them, but that doesn't seem to be the issue (?)
My problem is: I am not really sure how to make a "typical" cross-lagged path analysis work with the counts. i want to correlate the residuals in this model and have my 2 outcomes covary with each other at each time point. it seems to be some kind of a problem with getting variance/covariance matrices for the count variable? when i run the same model with MLR and specifying the count variables as continuous variables instead, it works just fine.
Another related question: if I cannot include covariance between the 2 variables at each point, could I use the ON statement to do a regression of the one on the other? would that approximate the typical crosslagged path analysis covariation appropriately?