lavaan newbie - CFA error

1,298 views
Skip to first unread message

Sharada Ramadass

unread,
Apr 27, 2017, 5:38:34 AM4/27/17
to lavaan
Hi,
  I am new to lavaan and am trying it out for testing a model with 240 sampling data points (N).
I have some basic queries relating to scaling the values across variables as they are of different orders of magnitude.
Some posts do not say this is a problem, but I get this error as below. Should the data be normalized or scaled to the same orders of magnitude (for variances comparison)? If so, could it be done by simply reducing magnitude by scaling over decimal ranges (multiplication/division?) Can someone kindly clarify?

Thanks,
Sharada

Warning messages:
1: In lav_data_full(data = data, group = group, group.label = group.label,  :
  lavaan WARNING: some observed variances are (at least) a factor 1000 times larger than others; use varTable(fit) to investigate
2: In lavaan::lavaan(model = CFAmod, data = semdata, model.type = "cfa",  :
  lavaan WARNING: model has NOT converged!

summary(fit1, fit.measures = TRUE)
** WARNING ** lavaan (0.5-22) did NOT converge after 10000 iterations
** WARNING ** Estimates below are most likely unreliable

                                                  Used       Total
  Number of observations                           240         241

  Estimator                                         ML
  Minimum Function Test Statistic                   NA
  Degrees of freedom                                NA
  P-value                                           NA

Parameter Estimates:

  Information                                 Expected
  Standard Errors                             Standard

Latent Variables:
                   Estimate      Std.Err  z-value  P(>|z|)
  Trait =~                                                
    SLA                   1.000                           
    Tavg_Den100         -12.473       NA                  
  Bioenv =~                                               
    Soil_N                1.000                           
    Soil_P                0.064       NA                  
    Soil_K                0.709       NA                  
  Abioenv =~                                              
    Basal_Con10           1.000                           
    Basal_Het10           7.079       NA                  

Covariances:
                   Estimate      Std.Err  z-value  P(>|z|)
  Trait ~~                                                
    Bioenv               -0.000       NA                  
    Abioenv              -0.470       NA                  
  Bioenv ~~                                               
    Abioenv               8.448       NA                  

Variances:
                   Estimate      Std.Err  z-value  P(>|z|)
   .SLA                 842.670       NA                  
   .Tavg_Den100         -13.632       NA                  
   .Soil_N                0.002       NA                  
   .Soil_P                0.000       NA                  
   .Soil_K                0.001       NA                  
   .Basal_Con10     1197907.578       NA                  
   .Basal_Het10    11419152.431       NA                  
    Trait                 0.088       NA                  
    Bioenv                0.004       NA                  
    Abioenv            -546.353       NA       

Edward Rigdon

unread,
Apr 27, 2017, 9:27:36 AM4/27/17
to lav...@googlegroups.com
Sharada--
     You will find this concern expressed in places like the Mplus manual. Yes, you can eliminate the problem by dividing a variable with a large variance by some constant, like a power of 10--or multiplying a variable with a small variance by a power of 10. Using a constant in this way will have no statistical "side effects."
     The large negative loading for one indicator of TRAIT is a classical symptom of a model not converging. Rescaling *may* eliminate the problem. You might also consider setting a starting value for this loading: 1 if you expect a positive loading or -1 if you expect a negative loading.

--
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 https://groups.google.com/group/lavaan.
For more options, visit https://groups.google.com/d/optout.

Sharada Ramadass

unread,
May 1, 2017, 5:26:07 AM5/1/17
to lavaan
Thanks for your reply. How does one set a starting value for the loading? through the "std.lv =" parameter? 
I have tried rescaling and I still see a lot of -ve loadings. 
I can't also seem to make sense of my SEM output and figure out if the model is fitting the data reasonably. 

Thanks and Regards,
Sharada
To unsubscribe from this group and stop receiving emails from it, send an email to lavaan+un...@googlegroups.com.

Terrence Jorgensen

unread,
May 6, 2017, 3:35:27 AM5/6/17
to lavaan
How does one set a starting value for the loading? 

factor =~ start(0.7)*indicator

or 

factor =~ 0.7?indicator


Terrence D. Jorgensen
Postdoctoral Researcher, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Reply all
Reply to author
Forward
0 new messages