Computing Variance Using Model Constr...
Message/Author
 Roarke Dallas posted on Friday, August 15, 2014 - 5:21 am
Hi Linda, et al.,

I have a question. I have estimated a "piecewise" growth model with a change in slope at the fourth time point and a change in the intercept at the fourth time point. I put piecewise in quotes because I fit this in Mplus using two parallel growth processes, e.g.:
i1 s1 | y1@-3 y2@-2 y3@-1 ;
i2 s2 | y4@0 y5@1;
I would like to use Model Constraint to estimate the variance in the difference between the intercepts and the variance in the difference between the slopes (and the corresponding SEs). I can easily use model constraint to get the differences, e.g.:
[i1] (int1);
[i2] (int2);
[s1] (slope1);
[s2] (slope2);
model constraint:
new(int_dif slope_dif);
int_dif=int2-int1;
slope_dif=slope2-slope1;

But, my brain fails completely when trying to workout how to compute the variance using model constraint. I have searched the user's guide and discussion boards and haven't seen this addressed. If I have missed it, can you point me to it? If not, can you provide some guidance?

Many thanks.
 Bengt O. Muthen posted on Friday, August 15, 2014 - 8:03 am
This piecewise model is problematic because the second piece has only 2 time points, which doesn't have enough information to estimate all the growth parameters. Also, the first piece does not have a zero time score.

I am not sure if you want the variance of the differences or just the SE. The latter is provided automatically in Model Constraint.
 Roarke Dallas posted on Friday, August 15, 2014 - 9:23 am
Thanks so much for the quick reply.

Sorry. I should have written the entire bit of code. I have also constrained the residual variances to equality (y1-y5 (1);). This results in an identified model.

As specified, i1 reflects the predicted value for someone who is almost at the fourth observation, but not quite there (i.e., just before the "jump" in the intercepts). i2 reflects the predicted value at the fourth observation.

s1 reflects the slope before the fourth observation.

s2 reflects the slope from the fourth observation forward.

int_dif (int2-int1) then reflects the size of the jump.

slope_dif (slope2-slope1) then reflects the change in the slope at the break.

With all that, though, I am not sure how to use model constraint to estimate the variance in int_dif and the variance in slope_dif. Can you provide insight on that?

Re the SEs, yes. I knew they would come as a result of the model constraint command. I should have made it clearer I understood that, sorry. In my head, the parentheses around the SE bit conveyed that. But, of course, you're not in my head!

Thanks again!
 Bengt O. Muthen posted on Friday, August 15, 2014 - 4:32 pm
The variance of a parameter difference is the squared SE of this parameter difference. The squared SE is simply

V(i1 - i2) = V(i1) + V(2) - 2Cov (i1, i2),

where the RHS quantities are found in TECH3 (diagonal elements are V and off-diag Cov).

I hope that is what you are asking.
 Roarke Dallas posted on Saturday, August 16, 2014 - 2:20 am
Perfect. Thanks. Instead of going to TECH3, though, I labeled V(i1), V(i2), and Cov(i1, i2) in the model and used model constraint to estimate the variance. Thanks so much.
 Bengt O. Muthen posted on Saturday, August 16, 2014 - 8:26 am
And that variance is the square of the SE automatically provided for the new parameter in Model Constraint

int_dif = int2-int1;