# ways to handle negative variance in latent growth modeling

230 views

### Yuen Wan Ho

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

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