Categorical second-order factor analysis

422 views
Skip to first unread message

minoruy...@gmail.com

unread,
Apr 28, 2014, 5:49:53 AM4/28/14
to lav...@googlegroups.com
Dear lavaan user, I received warning message below while I was analyzing second-order factor model with categorical variables.

-----
Warning messages:
1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats,  :
  lavaan WARNING: could not compute standard errors!

2: In lav_model_test(lavmodel = lavmodel, lavpartable = lavpartable,  :
  lavaan WARNING: could not compute scaled test statistic
-----
model<- 'F1=~v1+v2+v3
               F2 =~v4+v7+v8
               F3=~v5+v6+v9
               F2~~F3
               F3~~F1
               F4=~F1+F2+F3'
fit<- sem(model, std.lv=TRUE,data=dataset1,ordered=c("v1","v2","v3","v4","v5","v6","v7","v8","v9"))
------
#Restrictions on Covariance are needed because unless I restrict these latent variables, the model itself has not converged.
------
lavaan (0.5-16) converged normally after  16 iterations

                                                          Used       Total
  Number of observations                  4162        4533

  Estimator                                         DWLS      Robust
  Minimum Function Test Statistic     586.423          NA
  Degrees of freedom                                22          22
  P-value (Chi-square)                          0.000          NA
  Scaling correction factor                                        NA
  Shift parameter                                    
    for simple second-order correction (Mplus variant)

Model test baseline model:

  Minimum Function Test Statistic      19068.057   14040.988
  Degrees of freedom                                36          36
  P-value                                                    0.000       0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.970          NA
  Tucker-Lewis Index (TLI)                         0.951          NA

Root Mean Square Error of Approximation:

  RMSEA                                                    0.079          NA
  90 Percent Confidence Interval          0.073  0.084    NA     NA
  P-value RMSEA <= 0.05                          0.000          NA

Weighted Root Mean Square Residual:

  WRMR                                                        3.051       3.051

Parameter estimates:

  Information                                 Expected
  Standard Errors                           Robust.sem

                            Estimate  Std.err  Z-value  P(>|z|)
Latent variables:
  F1 =~
    v1                     0.665
    v2                     0.608
    v3                     0.751
  F2 =~
    v4                     0.714
    v7                     0.714
    v8                     0.669
  F3 =~
    v5                     0.674
    v6                     0.349
    v9                     0.663
  F4 =~
    F1                    0.270
    F2                    0.247
    F3                    0.720

Covariances:
  F2 ~~
    F3                    0.333
  F1 ~~
    F3                    0.377

Intercepts:
    F1                    0.000
    F2                    0.000
    F3                    0.000
    F4                    0.000


Terrence Jorgensen

unread,
Apr 28, 2014, 11:38:01 PM4/28/14
to lav...@googlegroups.com
I don't think your model is identified.  Try removing the covariances between first-order factors (F1, F2, and F3).  Their correlations are supposed to be reproduced by the higher-order factor. 

model<- 'F1=~v1+v2+v3
               F2 =~v4+v7+v8
               F3=~v5+v6+v9
               F4=~F1+F2+F3'

Terry


Message has been deleted

yrosseel

unread,
May 2, 2014, 2:19:16 AM5/2/14
to lav...@googlegroups.com
On 04/29/2014 04:09 PM, 柳下実 wrote:
> Terry, Thank you.
>
> Yet, the model you suggested does not work for my data.
>
> Whenever I used that model, I receive the message below.
>
> ------
> Warning message:
> In lavaan::lavaan(model = model, data = dataset1, std.lv <http://std.lv>
> = TRUE, :
> lavaan WARNING: model has NOT converged!
> ------
>
> Does it mean the model itself is not adequat?

It means that lavaan could not find a set of values for the free
parameters that fits your data. It is hard to assess why, without seeing
the data + model. Either your model is wrong (and you should try
alternative models), or you have an unfortunate sample.

Yves.

柳下実

unread,
May 3, 2014, 8:34:49 AM5/3/14
to lav...@googlegroups.com
Yves, thanks.

Is there anyway to assess why my models perhaps is not good?
Or, is there any good textbooks to learn how to assess models?

By the way just in case, I will let you know what data I am using.
I am using individual data of International Dating Violence Study, 2001-2006 (ICPSR 29583).
Used variables(ordinal data): DOM01, DOM02r, DOM03r, DOM04, DOM05, DOM06, DOM07, DOM08, DOM09.

Used variables can be obtained from individual level data. I only used U.S. sample for SEM.

first-order latent variables: F1=~DOM01+DOM02r+DOM03r
                                           F2 =~DOM04+DOM07+DOM08
                                           F3=~DOM5+DOM6+DOM9
second-order latent variables: F4=~F1+F2+F3

Regards.

Minoru Yagishita




--
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+unsubscribe@googlegroups.com.
To post to this group, send email to lav...@googlegroups.com.
Visit this group at http://groups.google.com/group/lavaan.
For more options, visit https://groups.google.com/d/optout.


yrosseel

unread,
May 7, 2014, 11:42:29 AM5/7/14
to lav...@googlegroups.com
On 05/03/2014 02:34 PM, 柳下実 wrote:
> Yves, thanks.
>
> Is there anyway to assess why my models perhaps is not good?
> Or, is there any good textbooks to learn how to assess models?

I would recommend

Kline, R. B. (2011). Principles and practice of structural equation
modeling. Guilford press.

Does the modeling fit without the second-order latent variable?

Yves.
Message has been deleted

yrosseel

unread,
May 7, 2014, 12:01:40 PM5/7/14
to lav...@googlegroups.com
On 05/07/2014 05:52 PM, 柳下実 wrote:
> Thanks, Yves.
>
> I will check the book.
>
> The modeling without the second-order latent variable fit and converged
> after 15 iterations.

It would seem that the second-order latent variable does not work out
for your data. You may try and constrain some of the factor loadings (of
the second-order factor), to see if this helps, and then look at
modification indices afterwards,

F4 =~ 0.2*F3 + 0.2*F2 + 0.5*F1

But sometimes, a second-order factor simply doesn't work.

Yves.
Reply all
Reply to author
Forward
0 new messages