-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Independent EFA rotation in groups with equal loadings constraint. #323
Comments
It can be helpful to illustrate with a reprex (e.g., using the
Those are the estimates: the ones that the optimizer chooses as the best solution to minimize discrepancies between observed and predicted covariance matrices. A rotated solution is a transformation; analogously, a standardized solution is a transformation of the estimates. (Longitudinal) invariance constraints were discussed briefly in a recently published tutorial on ESEM in lavaan. The authors correctly note that invariance constraints apply to the unrotated estimates, which can only be guaranteed for a post-estimation rotated solution in the case of full longitudinal invariance. In the case of longitudinal invariance (i.e., data are all in one group, and invariance is imposed across factors that are repeatedly measured), the ESEM identification constraints include fixing latent variances = 1 in all I suspect that this might go awry for group invariance only when you use the I hope you can see that the idea of invariance in EFA/ESEM is not straight-forward. I am not aware of any multigroup rotation methods that respect invariance, which I think this is an area of active development. I believe Kim de Roever is currently supervising a project investigating the combination of EFA with the alignment approach (the latter is a rotation method for configural models used to achieve partial invariance). But even there, I think there are different implications for different orders (i.e., align the unrotated EFA solution, then rotate? or rotate the EFA solution, then use alignment?). |
When I look at the
sem(..., group=..., group.equal="loadings", rotation="geomin")
results -- I observe that the loadings for the groups are different, while the unrotated loadings are the same.Also, in the
lav_model_efa_rotate_x()
code I don't see checks forgroup.equal
.I think, in most situations, when group.equal="loadings" is requested, it is expected that the rotations in the groups should be also equal (given that the final unrotated EFA blocks are equal between the groups).
Alternatively, to better control the behaviour,
group.equal
could support a "rotations" option, which would explicitly instruct to rotate the EFA blocks in the same way if they are equal between the groups (in case the user have put explicit equality constrains for the loadings in the model without specifying group.equal="loadings").The text was updated successfully, but these errors were encountered: