lavCor gave "no convergence" warning.

35 views
Skip to first unread message

Wisarut Srisintorn

unread,
Apr 16, 2019, 12:09:39 AM4/16/19
to lavaan
Greeting, 

I tried to fit a one-factor CFA model with 21 ordinal items (grading 1 - 5). There was 900 subjects in my dataset. 
My model was: 

ws_model <- 'ws =~ ws1 + ws2 + ws3 + ws4 + ws5 + ws6 + ws7 + ws8 + ws9 + ws10 + ws11 + ws12 + ws13 + ws14 + ws15 + ws16 + ws17 + ws18 + ws19 + ws20 + ws21'


And the command and error message were: 

> ws_fit <- cfa(ws_model, data = df, ordered = c('ws1','ws2','ws3','ws4','ws5','ws6','ws7','ws8','ws9','ws10','ws11','ws12','ws13','ws14','ws15','ws16','ws17','ws18','ws19','ws20','ws21'))
Warning message:
In pc_cor_TS(fit.y1 = UNI[[i]], fit.y2 = UNI[[j]], method = optim.method,  :
  no convergence

After searching in google and self trouble-shooting, I found that the error occurred from lavCor() where:

> lavCor(df %>% select(ws1:ws21) %>% map(ordered) %>% bind_cols())
......(long result omitted)...........
Warning message:
In pc_cor_TS(fit.y1 = UNI[[i]], fit.y2 = UNI[[j]], method = optim.method,  :
  no convergence

Therefore, I would like to ask if this warning (no convergence) pointed to any problem in my data?

Best regards, 
Wisarut

Terrence Jorgensen

unread,
Apr 16, 2019, 5:15:56 AM4/16/19
to lavaan
I would like to ask if this warning (no convergence) pointed to any problem in my data?

Not sure if the data are a problem per se (perhaps if you have rarely endorsed categories, check 1-way tables in lavTables() output).  But this is certainly a lot of 5-category variables for "only" N=900 (there are 5^21 = 4.768372e+14 possible response categories, making estimation of polychoric correlations a bit more difficult).  First, check if this still happens in the development version, in case it was an issue that was already fixed:

install.packages("lavaan", repos = "http://www.da.ugent.be", type = "source")

If so, consider the distributions of responses across categories in lavTables() output.  If thresholds are approximately symmetric and there are not many rarely endorsed categories (e.g., proportions < 5% of the sample) in 1-way tables, then you would obtain similar results using a robust ML estimator by treating the data as continuous.


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

Terrence Jorgensen

unread,
Apr 16, 2019, 5:17:08 AM4/16/19
to lavaan
Warning message:
In pc_cor_TS(fit.y1 = UNI[[i]], fit.y2 = UNI[[j]], method = optim.method,  :
  no convergence

I just noticed this was a warning, not an error.  What is returned by summary(ws_fit)?

Wisarut Srisintorn

unread,
Apr 16, 2019, 7:00:52 AM4/16/19
to lavaan
Greeting Dr.Jorgensen, 

The same warning code still occurred after update lavaan package to latest version. 

lavTables(ws_fit) showed a lots of observed frequency with less than 10.... Might this be the cause?

This is the result of summary(ws_fit). It is very long table. So I does not include the intercept (all 0.000), and scale y* (all 1.000)

lavaan 0.6-4.1376 ended normally after 47 iterations

  Optimization method                           NLMINB
  Number of free parameters                        105

                                                  Used       Total
  Number of observations                           869         915

  Estimator                                       DWLS      Robust
  Model Fit Test Statistic                    7075.575    6324.195
  Degrees of freedom                               189         189
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.138
  Shift parameter                                          107.640
    for simple second-order correction (Mplus variant)

Parameter Estimates:

  Information                                 Expected
  Information saturated (h1) model        Unstructured
  Standard Errors                           Robust.sem

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  ws =~                                               
    ws1               1.000                           
    ws2               0.994    0.027   36.328    0.000
    ws3               1.351    0.038   35.683    0.000
    ws4               1.431    0.041   35.095    0.000
    ws5               1.394    0.039   35.511    0.000
    ws6               1.424    0.039   36.795    0.000
    ws7               1.183    0.036   33.041    0.000
    ws8               0.929    0.040   23.312    0.000
    ws9               0.784    0.041   19.235    0.000
    ws10              1.292    0.040   32.470    0.000
    ws11              1.330    0.038   34.640    0.000
    ws12              1.042    0.034   30.403    0.000
    ws13              1.232    0.036   34.022    0.000
    ws14              1.226    0.035   34.718    0.000
    ws15              1.360    0.041   33.555    0.000
    ws16              1.352    0.040   33.727    0.000
    ws17              0.859    0.036   24.015    0.000
    ws18              0.996    0.036   27.316    0.000
    ws19              0.957    0.039   24.545    0.000
    ws20              1.057    0.040   26.460    0.000
    ws21              1.137    0.038   29.994    0.000

Thresholds:
                   Estimate  Std.Err  z-value  P(>|z|)
    ws1|t1           -1.328    0.059  -22.351    0.000
    ws1|t2           -0.816    0.048  -16.967    0.000
    ws1|t3           -0.543    0.045  -12.101    0.000
    ws1|t4            0.654    0.046   14.209    0.000
    ws2|t1           -0.883    0.049  -17.959    0.000
    ws2|t2           -0.187    0.043   -4.371    0.000
    ws2|t3            0.146    0.043    3.423    0.001
    ws2|t4            1.079    0.053   20.398    0.000
    ws3|t1           -1.509    0.066  -22.937    0.000
    ws3|t2           -0.913    0.050  -18.384    0.000
    ws3|t3           -0.279    0.043   -6.467    0.000
    ws3|t4            0.845    0.049   17.404    0.000
    ws4|t1           -1.722    0.076  -22.772    0.000
    ws4|t2           -1.121    0.054  -20.822    0.000
    ws4|t3           -0.468    0.044  -10.569    0.000
    ws4|t4            0.883    0.049   17.959    0.000
    ws5|t1           -1.833    0.082  -22.346    0.000
    ws5|t2           -1.294    0.058  -22.163    0.000
    ws5|t3           -0.654    0.046  -14.209    0.000
    ws5|t4            0.862    0.049   17.652    0.000
    ws6|t1           -1.833    0.082  -22.346    0.000
    ws6|t2           -1.379    0.061  -22.584    0.000
    ws6|t3           -0.591    0.045  -13.027    0.000
    ws6|t4            0.716    0.047   15.312    0.000
    ws7|t1           -2.357    0.131  -18.029    0.000
    ws7|t2           -1.566    0.068  -22.980    0.000
    ws7|t3           -0.878    0.049  -17.898    0.000
    ws7|t4            0.754    0.047   15.954    0.000
    ws8|t1           -2.039    0.097  -21.040    0.000
    ws8|t2           -0.944    0.050  -18.803    0.000
    ws8|t3           -0.433    0.044   -9.833    0.000
    ws8|t4            1.126    0.054   20.873    0.000
    ws9|t1           -1.547    0.067  -22.972    0.000
    ws9|t2           -0.321    0.043   -7.412    0.000
    ws9|t3            0.129    0.043    3.017    0.003
    ws9|t4            1.528    0.067   22.958    0.000
    ws10|t1          -2.063    0.099  -20.853    0.000
    ws10|t2          -1.425    0.063  -22.750    0.000
    ws10|t3          -0.540    0.045  -12.034    0.000
    ws10|t4           1.079    0.053   20.398    0.000
    ws11|t1          -2.171    0.109  -19.909    0.000
    ws11|t2          -1.685    0.074  -22.863    0.000
    ws11|t3          -0.866    0.049  -17.714    0.000
    ws11|t4           0.812    0.048   16.905    0.000
    ws12|t1          -1.236    0.057  -21.787    0.000
    ws12|t2          -0.574    0.045  -12.697    0.000
    ws12|t3          -0.013    0.043   -0.305    0.760
    ws12|t4           1.171    0.055   21.275    0.000
    ws13|t1          -1.849    0.083  -22.269    0.000
    ws13|t2          -1.314    0.059  -22.278    0.000
    ws13|t3          -0.650    0.046  -14.143    0.000
    ws13|t4           0.939    0.050   18.744    0.000
    ws14|t1          -2.017    0.095  -21.213    0.000
    ws14|t2          -1.342    0.060  -22.422    0.000
    ws14|t3          -0.567    0.045  -12.565    0.000
    ws14|t4           1.084    0.053   20.452    0.000
    ws15|t1          -2.313    0.125  -18.498    0.000
    ws15|t2          -1.500    0.065  -22.924    0.000
    ws15|t3          -0.650    0.046  -14.143    0.000
    ws15|t4           1.043    0.052   20.014    0.000
    ws16|t1          -2.313    0.125  -18.498    0.000
    ws16|t2          -1.401    0.062  -22.671    0.000
    ws16|t3          -0.543    0.045  -12.101    0.000
    ws16|t4           1.084    0.053   20.452    0.000
    ws17|t1          -1.617    0.070  -22.963    0.000
    ws17|t2          -0.944    0.050  -18.803    0.000
    ws17|t3          -0.364    0.044   -8.355    0.000
    ws17|t4           1.038    0.052   19.958    0.000
    ws18|t1          -1.974    0.092  -21.518    0.000
    ws18|t2          -1.143    0.054  -21.026    0.000
    ws18|t3          -0.199    0.043   -4.642    0.000
    ws18|t4           1.274    0.058   22.043    0.000
    ws19|t1          -2.203    0.112  -19.612    0.000
    ws19|t2          -1.509    0.066  -22.937    0.000
    ws19|t3          -0.643    0.046  -14.012    0.000
    ws19|t4           1.014    0.052   19.676    0.000
    ws20|t1          -2.171    0.109  -19.909    0.000
    ws20|t2          -1.425    0.063  -22.750    0.000
    ws20|t3          -0.557    0.045  -12.366    0.000
    ws20|t4           0.981    0.051   19.274    0.000
    ws21|t1          -2.237    0.116  -19.281    0.000
    ws21|t2          -1.596    0.069  -22.976    0.000
    ws21|t3          -0.829    0.048  -17.155    0.000
    ws21|t4           0.781    0.048   16.400    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .ws1               0.599                           
   .ws2               0.604                           
   .ws3               0.268                           
   .ws4               0.179                           
   .ws5               0.222                           
   .ws6               0.188                           
   .ws7               0.439                           
   .ws8               0.654                           
   .ws9               0.754                           
   .ws10              0.331                           
   .ws11              0.291                           
   .ws12              0.565                           
   .ws13              0.392                           
   .ws14              0.398                           
   .ws15              0.258                           
   .ws16              0.268                           
   .ws17              0.704                           
   .ws18              0.602                           
   .ws19              0.633                           
   .ws20              0.552                           
   .ws21              0.482                           
    ws                0.401    0.024   16.823    0.000


Reply all
Reply to author
Forward
0 new messages