Solved – bi-factor cfa, multiple method factors, DWLS vs MLS in lavaan

confirmatory-factorlatent-variablelavaanrstructural-equation-modeling

I'm new to conducting CFA, and would be appreciative of any feedback users could provide. I've seen a few questions on here in the past that are similar but not quite the same to what I'll pose. I'm trying to implement an approach used in a paper by Biderman, Nguyen, Cunningham & Ghorbani (2011) where they examined the structure of the big five personality traits. In sum, they created a CFA model with 3 method bias factors (1 for all items, 1 for positive items, and 1 for negative items) in addition to the 5 personality factors. I'd like to attempt something similar with my data. Below is what I have so far where g is the general factor, method is the negative bias factor, method_p is the positive bias factor, and f1, f2, f3 are the three group factors.

Overall, I have a few questions. (1) Broadly, does how I've structured things below seems reasonable given my aim to model the 3 group and 3 method bias factors? (2) I've fixed the variances to 1 and made the factors orthogonal. Is doing so any different than adding orthogonal = "FALSE" to the CFA function? Finally, I'm using MLS as an estimator per Rhemtualla, Brosseau-Liard & Savalei (2012) as the scale items contain five categories; however, I've seen a lot of recent papers using DWLS when any sort of ordinal indicators are used…has any sort of consensus been reached with respect to what estimator should be used for ordinal data?

m1<- ' g =~Item3+ Item1+Item6+Item9+Item11+Item12+Item14+Item2+Item4+Item5+Item7+Item8+Item10+Item13+Item15+Item16+Item17+Item18+Item19+Item20
          f1  =~ Item1 + Item4 + Item5 + Item9 + Item14 + Item18 + Item19
          f2 =~ Item2 + Item8 + Item10 + Item13 + Item15 + Item17 + Item20
          f3   =~ Item3 +Item6+ Item7 + Item11+ Item12 + Item16
          method =~ Item2+Item4+Item5+Item7+Item8+Item10+Item13+Item15+Item16+Item17+Item18+Item19+Item20
          method_p =~ Item3+ Item1+Item6+Item9+Item11+Item12+Item14

          f1 ~~ 0*f2
          f1 ~~ 0*f3
          f1 ~~ 0*g
          f1 ~~ 0*method
          f1 ~~ 0*method_p
          f2 ~~ 0*f3
          f2 ~~ 0*method
          f2 ~~ 0*method_p
          f2 ~~ 0*g
          f3 ~~ 0*method_p
          f3 ~~ 0*method
          f3 ~~ 0*g
          method ~~ 0*g
          method ~~ 0*method_p
          method_p ~~ 0*g

          f1 ~~ 1*f1
          f2 ~~ 1*f2
          method ~~ 1*method
          method_p ~~ 1*method_p
          g ~~ 1*g
          f3 ~~ 1*f3'


   fit1<- cfa(m1, data=cfa_complete[,2:21],std.lv=TRUE, estimator = "MLS")

Best Answer

When you have ordinal data, and a relatively complex model the traditional mls often will not converge. If that is what is happening use dwls.