ways to handle negative variance in latent growth modeling

306 views
Skip to first unread message

Yuen Wan Ho

unread,
Feb 27, 2019, 4:41:57 AM2/27/19
to lavaan
Hi ,

I am not so sure if someone can help to figure out solutions for my latent growth modeling.

I have 3 time points (CCCE_w1 to CCCE_w3) and conduct latent growth modeling. 

##master is the dataset name
# mean latent intercept and constrained residual variances
# intercept
CCCEfriendsi =~ 1*CCCE_friends_w1 + 1*CCCE_friends_w2 + 1*CCCE_friends_w3

# slope
CCCEfriendss =~ 0*CCCE_friends_w1 + 1*CCCE_friends_w2 + 2*CCCE_friends_w3


# residual variances
CCCE_friends_w1~~r*CCCE_friends_w1
CCCE_friends_w2~~r*CCCE_friends_w2
CCCE_friends_w3~~r*CCCE_friends_w3


'


master.fit3 = growth(master.model3,
                     data=Region2)

summary(master.fit3)
parameterestimates(master.fit3, standardized=TRUE) ##CIs for parameters
fitmeasures(master.fit3) ##fit indices

########################################
However, R gives me output 

Warning message:
In lav_object_post_check(object) :
  lavaan WARNING: some estimated lv variances are negative

and the result shows this:
> summary(master.fit3)
lavaan 0.6-3 ended normally after 27 iterations

  Optimization method                           NLMINB
  Number of free parameters                          8
  Number of equality constraints                     2

                                                  Used       Total
  Number of observations                           190         451

  Estimator                                         ML
  Model Fit Test Statistic                       3.567
  Degrees of freedom                                 3
  P-value (Chi-square)                           0.312

Parameter Estimates:

  Information                                 Expected
  Information saturated (h1) model          Structured
  Standard Errors                             Standard

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  CCCEfriendsi =~                                     
    CCCE_frinds_w1    1.000                           
    CCCE_frinds_w2    1.000                           
    CCCE_frinds_w3    1.000                           
  CCCEfriendss =~                                     
    CCCE_frinds_w1    0.000                           
    CCCE_frinds_w2    1.000                           
    CCCE_frinds_w3    2.000                           

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  CCCEfriendsi ~~                                     
    CCCEfriendss      0.007    0.039    0.184    0.854

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)
   .CCCE_frinds_w1    0.000                           
   .CCCE_frinds_w2    0.000                           
   .CCCE_frinds_w3    0.000                           
    CCCEfriendsi      3.446    0.058   58.927    0.000
    CCCEfriendss     -0.153    0.033   -4.593    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .CCCE_frn_1 (r)    0.448    0.046    9.747    0.000
   .CCCE_frn_2 (r)    0.448    0.046    9.747    0.000
   .CCCE_frn_3 (r)    0.448    0.046    9.747    0.000
    CCCEfrinds        0.277    0.077    3.599    0.000
    CCCEfrndss       -0.013    0.032   -0.427    0.669


How can I handle the problem? Can I change the estimator ?

Thanks again!

Yuen Wan

Terrence Jorgensen

unread,
Feb 28, 2019, 10:17:59 PM2/28/19
to lavaan
How can I handle the problem? 

There are numerous repeated answers to this question on this forum.  Search for "Heywood cases" or "negative variance", e.g.,


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

Reply all
Reply to author
Forward
0 new messages