Exploratory bi-factor analysis PreviousNext
Mplus Discussion > Exploratory Factor Analysis >
Message/Author
 Xu, Man posted on Tuesday, May 01, 2012 - 10:00 am
Dear Dr. Muthen,

I am trying to fit some bi-factor models. I recently came across the paper about exploratory bi-factor 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 bi-factor 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
 Bengt O. Muthen posted on Tuesday, May 01, 2012 - 10:17 am
Exploratory bi-factor 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.
 Bengt O. Muthen posted on Tuesday, May 01, 2012 - 1:34 pm
I don't know of other packages doing this. Mplus Version 7 is scheduled to be released late summer, early Fall.
 Selahadin Ibrahim posted on Tuesday, May 08, 2012 - 5:18 am
Hello Dr. Muthen,

I am fitting a bi-factor model with one general and three specific factors.
i get non-convergence 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 beef-factor model? I appreciate any help on this.

Thanks,
Selahadin
 Linda K. Muthen posted on Tuesday, May 08, 2012 - 9:16 am
Please send the output with covariances at zero, the output with covariances free, and your license number to support@statmodel.com.
 Selahadin Ibrahim posted on Tuesday, May 08, 2012 - 12:04 pm
Dear Linda,

the model with the covariances at 0 did not converge. i only have the model with the co-variances 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
 Linda K. Muthen posted on Tuesday, May 08, 2012 - 2:43 pm
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 Bi-factor ESEM using target rotation. I have two specific factors (S1, S2), a corresponding general factor (F1) and six further general factors (F2-F7) 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; f1-f7 WITH S1@0; f1-f7 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 Bi-Factor ESEM using Target Rotation? 2) How can I fix the three correlations to zero?

Thanks,
Julia
 Tihomir Asparouhov posted on Saturday, January 21, 2017 - 12:08 pm
In bi-factor efa you don't need to fix these correlations to 0. The model is identified.

We have 4 bi-factor rotations
BI-GEOMIN (OBLIQUE);
BI-GEOMIN (ORTHOGONAL);
BI-CF-QUARTIMAX (OBLIQUE);
BI-CF-QUARTIMAX (ORTHOGONAL);

We don't have bi-target 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.
 Matthew Constantinou posted on Sunday, June 04, 2017 - 10:36 am
Dear Tihomir, Bengt and Linda,

It was suggested above that one can use the BI-GEOMIN (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 bi-factor model with one general factor and 3 specific factors, e.g.:

ANALYSIS:
ROTATION = BI-GEOMIN(ORTHOGONAL);
ESTIMATOR = WLSMV;
MODEL:
fg f1 f2 f3 BY A1-AA7(*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 = BI-GEOMIN(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 bi-factor model where the specific factors are correlated among themselves but not with the general factor?
 Bengt O. Muthen posted on Sunday, June 04, 2017 - 4:50 pm
Have you tried the approach of UG ex 4.7?
 Matthew Constantinou posted on Monday, June 05, 2017 - 9:17 am
Thanks for getting back to me, Bengt.

Indeed I've tried the following:

ANALYSIS:
TYPE = EFA 2 3
ROTATION = BI-GEOMIN(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 = BI-GEOMIN(ORTHOGONAL)
ESTIMATOR = WLSMV;
MODEL:
f1 WITH f2 f3;
f2 WITH f3;
 Bengt O. Muthen posted on Monday, June 05, 2017 - 10:07 am
How about just saying

ANALYSIS:
TYPE = EFA 2 3;
ROTATION = BI-GEOMIN(OBLIQUE);
ESTIMATOR = WLSMV;
 Matthew Constantinou posted on Monday, June 05, 2017 - 11:10 am
Well I'll be damned - it works!

For those learning from this post, you can find the factor correlations under the “BI-GEOMIN 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 BI-FACTOR(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 BI-GEOMIN 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 BI-FACTOR(OBLIQUE); will preserve general and specific factor covariances. It certainly tripped me up.

Many thanks for the guidance!
 Matthew Constantinou posted on Friday, June 16, 2017 - 12:12 pm
As a brief follow-up, you can also estimate a exploratory bi-factor model with correlated specific factors via the exploratory SEM approach, e.g.:

ANALYSIS: ROTATION = BI-GEOMIN(OBLIQUE);
ESTIMATOR = WLSMV;

MODEL: F1-F7 BY var1-var30 (*1);

! Where F1 is the general factor and F2-F7 are specific factors.
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: