Message/Author 

Xu, Man posted on Tuesday, May 01, 2012  10:00 am



Dear Dr. Muthen, I am trying to fit some bifactor models. I recently came across the paper about exploratory bifactor analysis from Psychometrika. I am not a mathematician but I found the idea behind is rather appealing, that is to take an exploratory point of view to the bifactor model. I was wondering if there is any possibility to do such an analysis in Mplus? And if so can I go about to specify it? Thank you! Kate 


Exploratory bifactor analysis is available in the upcoming Version 7 of Mplus. Not only for continuous variables as in that article, but also for categorical variables. 

Xu, Man posted on Tuesday, May 01, 2012  10:25 am



Thank you, that's good news! When is the Mplus V7 available please? And at the mean time, do you now if there are any other packages that can do this? I vaguely know the R package Psych has something relevant but not sure whether it is for categorical variables. 


I don't know of other packages doing this. Mplus Version 7 is scheduled to be released late summer, early Fall. 


Hello Dr. Muthen, I am fitting a bifactor model with one general and three specific factors. i get nonconvergence when the specific factors are orthogonal. when i free one of the correlations of the specific factors the model converges and fits well and the loadings on one of the specific factors become all trivial. does it make sense to estimate the correlations of the specific factors in a beeffactor model? I appreciate any help on this. Thanks, Selahadin 


Please send the output with covariances at zero, the output with covariances free, and your license number to support@statmodel.com. 


Dear Linda, the model with the covariances at 0 did not converge. i only have the model with the covariances estimated. i will send you the output. should the correlations between the specific factors always be zero or should we estimate them and compare the model with the correlations zero  and choose the better fitting one? thanks selahadin 


I would still need to see both outputs even if they did not both converge. 

JuliaSchmid posted on Thursday, January 19, 2017  10:53 pm



Dear Dr. Muthén, I would like to carry out a Bifactor ESEM using target rotation. I have two specific factors (S1, S2), a corresponding general factor (F1) and six further general factors (F2F7) in my model. Looking at the output, I realized, that mplus has correlated the specific factors with the corresponding general factor and has correlated the specific factors with each other. However, I want to have uncorrelated factors. I tried to constrain these three correlations to zero (S1 WITH S1@0; f1f7 WITH S1@0; f1f7 WITH S2@0) but I didn’t succeed. Following error message has occured: «EFA factors in the same set as S1 must have the same set of covariances. Problem with: S1 WITH F1 (not specified or fixed) F2 WITH F1 F3 WITH F1 etc.» I have two questions: 1) Is it possible at all to run a BiFactor ESEM using Target Rotation? 2) How can I fix the three correlations to zero? Thanks, Julia 


In bifactor efa you don't need to fix these correlations to 0. The model is identified. We have 4 bifactor rotations BIGEOMIN (OBLIQUE); BIGEOMIN (ORTHOGONAL); BICFQUARTIMAX (OBLIQUE); BICFQUARTIMAX (ORTHOGONAL); We don't have bitarget and the correlation in efa factor group is determined by ORTHOGONAL/OBLIQUE option. It looks like you can use orthogonal rotation. you can in addition have a factor correlate with all or none of the factors in the same efa group. If you want to use the target rotation you have to design the specific factors via the targets. I don't see a problem with that. If our EFA framework doesn't fit all of your requirements, I would suggest that you switch to CFA. 


Dear Tihomir, Bengt and Linda, It was suggested above that one can use the BIGEOMIN (ORTHOGONAL); rotation and " have a factor correlate with all or none of the factors in the same efa group". Unfortunately this is not my experience. I have an exploratory bifactor model with one general factor and 3 specific factors, e.g.: ANALYSIS: ROTATION = BIGEOMIN(ORTHOGONAL); ESTIMATOR = WLSMV; MODEL: fg f1 f2 f3 BY A1AA7(*1); f1 WITH f2 f3; f2 WITH f3; But in the output, the covariances between the specific factors remain 0. I have also tried: ANALYSIS: ROTATION = BIGEOMIN(OBLIQUE); ESTIMATOR = WLSMV; MODEL: fg WITH f1@0 f2@0 f3@0; But get the error message: EFA factors in the same set as FG must have the same set of covariances. Problem with: FG WITH F1 (not specified or fixed) F2 WITH F1 F3 WITH F1 F1 WITH F2 F3 WITH F2 F1 WITH F3 F2 WITH F3 How can I estimate an exploratory bifactor model where the specific factors are correlated among themselves but not with the general factor? 


Have you tried the approach of UG ex 4.7? 


Thanks for getting back to me, Bengt. Indeed I've tried the following: ANALYSIS: TYPE = EFA 2 3 ROTATION = BIGEOMIN(OBLIQUE) ESTIMATOR = WLSMV; MODEL: fg WITH f1@0 f2@0 f3@0; But get the warning message: *** WARNING in MODEL command The MODEL command is not used for TYPE=EFA. All MODEL statements will be ignored. I have also tried the following but get the same error message: ANALYSIS: TYPE = EFA 2 3 ROTATION = BIGEOMIN(ORTHOGONAL) ESTIMATOR = WLSMV; MODEL: f1 WITH f2 f3; f2 WITH f3; 


How about just saying ANALYSIS: TYPE = EFA 2 3; ROTATION = BIGEOMIN(OBLIQUE); ESTIMATOR = WLSMV; 


Well I'll be damned  it works! For those learning from this post, you can find the factor correlations under the “BIGEOMIN FACTOR CORRELATIONS (* significant at 5% level)” heading directly underneath the factor loadings table. Notice that the bifactor is not always factor 1. Thanks so much, Bengt. Just to say, I appreciate that the BIFACTOR(OBLIQUE); function maintains the traditional orthogonality between general and specific factors, but this is not too clear from UG example 4.7. Unless I've missed it elsewhere, 4.7 states: “The default for the BIGEOMIN rotation is an oblique rotation where the specific factors are correlated with the general factor and are correlated with each other.” Naturally, one assumes that the BIFACTOR(OBLIQUE); will preserve general and specific factor covariances. It certainly tripped me up. Many thanks for the guidance! 


As a brief followup, you can also estimate a exploratory bifactor model with correlated specific factors via the exploratory SEM approach, e.g.: ANALYSIS: ROTATION = BIGEOMIN(OBLIQUE); ESTIMATOR = WLSMV; MODEL: F1F7 BY var1var30 (*1); ! Where F1 is the general factor and F2F7 are specific factors. 

Back to top 