I conducted an ESEM with three factors (Rotation = Geomin). The results showed good overall global fit, substantial item loadings, etc.
However, I had expected to see significant factor correlations, but this was not the case (one factor was uncorrelated with the other two factors). The next step in my proposal was to conduct a bifactor model.
I realize it does not make much sense to conduct a bifactor model if one factor is uncorrelated with the others, but I thought it would still be interesting to show that the presence of a general factor accounts for a good deal of the variance of items on the two correlated factors, but does NOT account for much of the variance of the uncorrelated factor's items.
When I conduct this bifactor ESEM with "Rotation = BI-GEOMIN" interpretation of the specific loadings on one of the correlated factor's is rough (i.e., there are very few significant loadings). With "Rotation = Target," I can make a lot more sense of the loadings on this specific factor.
I was wondering if it is appropriate to use Target rotation in a bifactor ESEM model after conducting a first-order geomin ESEM, if it helps with interpretation.
Lastly, I'm wondering if it would be recommended that I simply TAKE OUT the uncorrelated factor?
If one of the specific factors is not significant then using a BI-GEOMIN with only 1 specific factor seems appropriate.
If (Rotation = Geomin) yields 3 factors where one of the factors is uncorrelated to the other two, then indicators loading only on the third factor would be uncorrelated with indicators loading only on the first two factors, meaning that the sample correlation matrix will have near zeros. In that case I would say that a bifactor model is unreasonable since the general factor tends to make most indicators correlated.
Very much, for this prompt reply to my question (and for your work in this area in general).
I think I understand what you are saying, but would like to be sure.
My original ESEM (Rotation = Geomin) did indeed yield 3 factors, and yes, one of these factors was uncorrelated with the other two (range = 0.100-0.140; NS).
You are suggesting that a bifactor model is inappropriate to run on this aforementioned total solution (regardless of the rotation method); and this is because the general factor in a bifactor model would inflate the indicator correlations from this 3rd (uncorrelated) factor with the indicators which load onto the other factors (which you are right, do involve a lot of near zero values in the sample correlation matrix)?
So essentially, it is inappropriate to run because the bifactor model more-or-less assumes the presence of these correlations, and/or it magnifies them to some extent (i.e., it assumes factor correlations are present, otherwise, why would one do a bifactor model)?
I'm just trying to make sense of this, I think I almost get it.
Thanks again for your time if you or anybody else gets to this.
I found this post interesting and wanted to learn more. Could you please share one or two references elaborating on why it is inappropriate to conduct a bifactor model if one first-order factor is uncorrelated with the others?
From a recent paper that I read, when running a bi-factor esem, "all factors are set to be orthogonal (i.e., the correlations between the S-factors and between the S-factors and the G-factor are all constrained to be zero)"(Morin, Arens, & Marsh, 2016). Is this procedure contradicting your earlier discussion that "a bifactor model assumes factor correlations are present"?
Bifactor model assumes the presence of one general factor which causes all indicators to be correlated. If you have many near zeros in the sample correlation matrix of the indicators I would say that bifactor model is inappropriate. If one first-order factor is uncorrelated with another and there are no cross loadings the indicators for the two factors are independent of each other and thus bifactor model is inappropriate.
I tried this syntax (this is a simplifyed version)
f1 by it1 it2 it3~0 it4~0 it5~0 it6~0(*1); f2 by it1~0 it2~0 it3 it4 it5~0 it6~0(*1); f3 by it1~0 it2~0 it3~0 it4~0 it5 it6(*1);
FG1 by it1 it2 it3(*1); FG2 by it4 it5 it6(*1);
But I had this error: *** ERROR in MODEL command EFA factors in the same set as f1 must have the same set of factor indicators. Problem with: FG1 by it4(not specified or fixed) FG1 by it5(not specified or fixed) FG1 by it6(not specified or fixed)
See Example 5.30 for the way to set up a general specific model with ESEM.
Dirk Pelt posted on Thursday, January 31, 2019 - 6:45 am
I am running a multiple group ESEM bifactor model using target (orthogonal) rotation. Now I want to freely estimate the correlations between the specific factors, and the specific factors only (so the general factor is still uncorrelated with the specific factors). How do I achieve this?
I tried specifying ROTATION = TARGET, and setting all the correlations between the general factor and specific factors to zero (FG WITH FS1@0; FG WITH FS2@0; etc.). I got the error "EFA factors in the same set as FG must have the same set of factor indicators."
Alternatively, I tried just specifying ROTATION = TARGET and leaving the syntax intact compared to the orthogonal bifactor ESEM model. Now, the specific factor correlations are estimated, however, my degrees of freedom are the same as the orthogonal bifactor model. Also, the correlations between the general factor and specific factors are zero as wanted but Est./S.E. is not 999.
Could you help me with the correct specification? Thank you.
Dirk Pelt posted on Thursday, January 31, 2019 - 11:52 am
Sorry, the error message above is not right, it says "EFA factors in the same set as FG must have the same set of covariances."
When a bi-factor model is estimated the correlations between the general and the specific factor are expected to be close to 0 and Est./S.E. is not expected to be 999. The degrees of freedom is the same for orthogonal and oblique rotations (log-likelihood is the same for both models, it is the same fit). The additional correlation parameters are identified through the rotation.
Note that in principle we don't have a bifactor version for the target rotation. You can set it up that way of course and get what you want, but our general approach would be to use ROTATION = BI-GEOMIN;