Help with Bifactor Model

59 views
Skip to first unread message

akis...@mail.usf.edu

unread,
Feb 6, 2019, 2:33:59 PM2/6/19
to lavaan
Hello,

I am trying to run a bifactor model using the following syntax with the lavaan R package:

ThreeFactorBifNC <- 'G =~  ZTrailBlps + ZTrailAlps + ZUDSVERTN + ZDIGFORCT + ZDIGBACCT + ZCRAFTVRS + ZCRAFTDVR + ZUDSBENTD + ZVEG + ZANIMALS + ZMINTTOTS
VisExecAttn =~  ZTrailBlps + ZTrailAlps + ZUDSVERTN + ZDIGFORCT + ZDIGBACCT
Mem =~ ZCRAFTVRS + ZCRAFTDVR + ZUDSBENTD
Lang =~ ZVEG + ZANIMALS + ZMINTTOTS
G ~~ 0*VisExecAttn
G ~~ 0*Mem
G ~~ 0*Lang
VisExecAttn ~~ 0*Mem
VisExecAttn ~~ 0*Lang
Mem ~~ 0*Lang'
fitthreeBifNC <- cfa(ThreeFactorBifNC, data=Dataset2)
summary(fitthreeBifNC, fit.measures=TRUE, standardized=TRUE)

When I run the syntax, I get the following Warning: "lavaan WARNING: the optimizer warns that a solution has NOT been found!"

The output contains global model fit indices and standardized factor loadings, but no standard errors or p values.  Any suggestions on how to get the model to run correctly?

Of note, I was able to run the following models without receiving any warnings: A a unitary model, an orthogonal 3-factor model, and a higher order model (1 higher order factor and 3 lower order factors).

Thanks!

Edward Rigdon

unread,
Feb 6, 2019, 2:39:09 PM2/6/19
to lav...@googlegroups.com
Try allowing the group factors to covary among themselves.

--
You received this message because you are subscribed to the Google Groups "lavaan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lavaan+un...@googlegroups.com.
To post to this group, send email to lav...@googlegroups.com.
Visit this group at https://groups.google.com/group/lavaan.
For more options, visit https://groups.google.com/d/optout.

Andrew Kiselica

unread,
Feb 6, 2019, 2:41:14 PM2/6/19
to lav...@googlegroups.com
Thanks, Edward. That might work, but would be theoretically inadvisable, as the lower order factors should represent orthogonal latent traits
--
Andrew M. Kiselica, MA
University of South Florida
Doctoral Candidate in Clinical Psychology

Edward Rigdon

unread,
Feb 6, 2019, 2:48:00 PM2/6/19
to lav...@googlegroups.com
Andrew--
So factor correlations different from 0 would mean rejection of theory. But you need convergence before you can make that judgment 

akis...@mail.usf.edu

unread,
Feb 6, 2019, 3:09:22 PM2/6/19
to lavaan
ThreeFactorBifNC <- 'G =~  ZTrailBlps + ZTrailAlps + ZUDSVERTN + ZDIGFORCT + ZDIGBACCT + ZCRAFTVRS + ZCRAFTDVR + ZUDSBENTD + ZVEG + ZANIMALS + ZMINTTOTS
VisExecAttn =~  ZTrailBlps + ZTrailAlps + ZUDSVERTN + ZDIGFORCT + ZDIGBACCT
Mem =~ ZCRAFTVRS + ZCRAFTDVR + ZUDSBENTD
Lang =~ ZVEG + ZANIMALS + ZMINTTOTS'
fitthreeBifNC <- cfa(ThreeFactorBifNC, data=Dataset2)
summary(fitthreeBifNC, fit.measures=TRUE, standardized=TRUE)

So I tried running the model removing the constraints, and received the following warnings:

"Warning messages:
1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats,  :
  lavaan WARNING:
    Could not compute standard errors! The information matrix could
    not be inverted. This may be a symptom that the model is not
    identified.
2: In lav_object_post_check(object) :
  lavaan WARNING: some estimated ov variances are negative"

Any further suggestions?

Edward Rigdon

unread,
Feb 6, 2019, 4:22:51 PM2/6/19
to lav...@googlegroups.com
What do the estimates look like? The model might be empirically underidentified--relxing the covariance constraints could actually have improved that situation, but maybe not enough. Two of your group factors have only 3 indicators apiece. If those factors are orthogonal to everything else, then ll of the loadings must be "large"--which will be more chalenging since the indicators all load on the general factor as well.

Andrew Kiselica

unread,
Feb 6, 2019, 4:48:36 PM2/6/19
to lav...@googlegroups.com
Ah, I see. Yes, some of the loadings are quite small <.01 for the  group factors. I'm guessing there's no fix for that issue?
Reply all
Reply to author
Forward
0 new messages