Bootstrapped Confidence Intervals for...
Message/Author
 Dan Putka posted on Sunday, March 27, 2011 - 5:00 pm
I'm running Mplus Version 6 (Base Program and Combination Add-On) and I would like to generate bootstrapped standard errors for correlations.

I can easily generate bootstrapped CIs for means, variances, and covariances - but the syntax I'm using (pasted below) doesn't generate bootstrapped CIs for the correlations. Can I generate such CIs within Mplus? If not, can Mplus write the ML covariances/variances (or correlations) for each bootstrap sample to a seperate data file? Any advice on how Mplus could achieve either of these solutions would be very appreciated.

Thank you for your help.

!---Syntax------;

DATA:
file is Partial Data Only.dat;

VARIABLE:
names are id y x1 x2 x3 x4;
usevariables are y x1 x2 x3 x4;
missing are all (-99);

ANALYSIS:
bootstrap = 1000;

MODEL:
y x1 x2 x3 x4;
y x1 x2 x3 x4 with y x1 x2 x3 x4;
[y x1 x2 x3 x4];

OUTPUT:
patterns cinterval(bootstrap) standardized;
 Linda K. Muthen posted on Monday, March 28, 2011 - 6:46 am
The only way I can think of to do this would be to use MODEL CONSTRAINT to define the correlations as new parameters based on the model estimated variances and covariances. You will then obtain the same confidence intervals as for the other parameters. See MODEL CONSTRAINT and Example 5.20.
 Dan Putka posted on Monday, March 28, 2011 - 7:01 am
Linda - Thank you. I've provided my revised MODEL and MODEL CONSTRAINT code below to assist other users. If this appears incorrect, please let me know. - Dan

MODEL:
! Estimate and label() the variances;
y (var_y);
x1 (var_x1);
x2 (var_x2);
x3 (var_x3);
x4 (var_x4);

! Estimate and label() the covariances;
y WITH x1 (cov_yx1);
y WITH x2 (cov_yx2);
y WITH x3 (cov_yx3);
y WITH x4 (cov_yx4);
x1 WITH x2 (cov_x1x2);
! continue same pattern for other cov's;
x3 WITH x4 (cov_x3x4);

! Estimate the correlations;

MODEL CONSTRAINT:
NEW r_yx1;
NEW r_yx2;
NEW r_yx3;
NEW r_yx4;
NEW r_x1x2;
! continue same pattern for other r's;
NEW r_x3x4;

r_yx1 = cov_yx1/((var_y**0.5)*(var_x1**0.5));
r_yx2 = cov_yx2/((var_y**0.5)*(var_x2**0.5));
r_yx3 = cov_yx3/((var_y**0.5)*(var_x3**0.5));
r_yx4 = cov_yx4/((var_y**0.5)*(var_x4**0.5));
r_x1x2 = cov_x1x2/((var_x1**0.5)*(var_x2**0.5));
! continue same pattern for other r's;
r_x3x4 = cov_x3x4/((var_x3**0.5)*(var_x4**0.5));
 Linda K. Muthen posted on Monday, March 28, 2011 - 10:24 am
That looks correct. Another alternative is to free all factor loadings and fix the factor variances to one. Then you will obtain correlations rather than covariances in the results.
 Levente Littvay posted on Wednesday, May 25, 2011 - 11:00 pm
Linda

I am running into this issue with two different projects now. I would badly need bootstrapped CIs around correlations (not covariances). I came here to look and this is what I found. (It is pretty recent so I assume no advancement in this area.)

It would be wonderful if Mplus would just give this to us in the output (or if we could request bootstrapped CIs for the standardized results). Until then, I'll probably have to do Model Constraints as well.

Just some food for thought for future development.

Thanks.

Levi