I'm trying to estimate an ALT-SR model (autoregressive latent trajectory with random intercepts) where stress is continuous and smoke is ordinal (0/1).
When I run the model I get the following warning:
"variance-covariance matrix of the estimated parameters (vcov) does not appear to be positive definite! The smallest eigenvalue (= 9.873656e-16) is close to zero. This may be a symptom that the model is not identified."
I tested the same ALT-RL specification with two continuous variables and it works fine. In this case, however, I believe the problem comes from smoke being ordinal. I’m using the WLSMV estimator with the ordered argument in lavaan.For building the model, I closely followed the article "Beyond the Cross-Lagged Panel Model: Next-Generation Statistical Tools for Analyzing Interdependencies Across the Life Course" (Marcus Mund & Steffen Nestler).
Do I need to change something in the specification to make the ALT-RL model work with an ordinal variable, or is my current approach simply not appropriate for this type of data?
Any advice or suggestions would be very appreciated
model <- '
# 1. Growth factors for smoke
i_smoke =~ 1*smoke_2004 + 1*smoke_2006 + 1*smoke_2008 +
1*smoke_2010 + 1*smoke_2012 + 1*smoke_2014
# 2. Growth factors for stress
i_stress =~ 1*stress_2004 + 1*stress_2006 + 1*stress_2008 +
1*stress_2010 + 1*stress_2012 + 1*stress_2014
s_stress =~ 0*stress_2004 + 1*stress_2006 + 2*stress_2008 +
3*stress_2010 + 4*stress_2012 + 5*stress_2014
# 3. Phantom latent variables for smoke
eta_smoke2004 =~ 1*smoke_2004
eta_smoke2006 =~ 1*smoke_2006
eta_smoke2008 =~ 1*smoke_2008
eta_smoke2010 =~ 1*smoke_2010
eta_smoke2012 =~ 1*smoke_2012
eta_smoke2014 =~ 1*smoke_2014
# 4. Phantom latent variables for stress
eta_stress2004 =~ 1*stress_2004
eta_stress2006 =~ 1*stress_2006
eta_stress2008 =~ 1*stress_2008
eta_stress2010 =~ 1*stress_2010
eta_stress2012 =~ 1*stress_2012
eta_stress2014 =~ 1*stress_2014
# 5. Residual variances of observed variables set to zero
smoke_2004 ~~ 0*smoke_2004
smoke_2006 ~~ 0*smoke_2006
smoke_2008 ~~ 0*smoke_2008
smoke_2010 ~~ 0*smoke_2010
smoke_2012 ~~ 0*smoke_2012
smoke_2014 ~~ 0*smoke_2014
stress_2004 ~~ 0*stress_2004
stress_2006 ~~ 0*stress_2006
stress_2008 ~~ 0*stress_2008
stress_2010 ~~ 0*stress_2010
stress_2012 ~~ 0*stress_2012
stress_2014 ~~ 0*stress_2014
# 6. Autoregressive paths
eta_smoke2006 ~ a_smoke*eta_smoke2004
eta_smoke2008 ~ a_smoke*eta_smoke2006
eta_smoke2010 ~ a_smoke*eta_smoke2008
eta_smoke2012 ~ a_smoke*eta_smoke2010
eta_smoke2014 ~ a_smoke*eta_smoke2012
eta_stress2006 ~ a_stress*eta_stress2004
eta_stress2008 ~ a_stress*eta_stress2006
eta_stress2010 ~ a_stress*eta_stress2008
eta_stress2012 ~ a_stress*eta_stress2010
eta_stress2014 ~ a_stress*eta_stress2012
# 7. Cross-lagged effects
eta_stress2006 ~ cl_smoke2stress*eta_smoke2004
eta_stress2008 ~ cl_smoke2stress*eta_smoke2006
eta_stress2010 ~ cl_smoke2stress*eta_smoke2008
eta_stress2012 ~ cl_smoke2stress*eta_smoke2010
eta_stress2014 ~ cl_smoke2stress*eta_smoke2012
eta_smoke2006 ~ cl_stress2smoke*eta_stress2004
eta_smoke2008 ~ cl_stress2smoke*eta_stress2006
eta_smoke2010 ~ cl_stress2smoke*eta_stress2008
eta_smoke2012 ~ cl_stress2smoke*eta_stress2010
eta_smoke2014 ~ cl_stress2smoke*eta_stress2012
# 8. Variances of phantom latent variables
eta_smoke2004 ~~ v_smoke1*eta_smoke2004
eta_smoke2006 ~~ v_smoke2*eta_smoke2006
eta_smoke2008 ~~ v_smoke2*eta_smoke2008
eta_smoke2010 ~~ v_smoke2*eta_smoke2010
eta_smoke2012 ~~ v_smoke2*eta_smoke2012
eta_smoke2014 ~~ v_smoke2*eta_smoke2014
eta_stress2004 ~~ v_stress1*eta_stress2004
eta_stress2006 ~~ v_stress2*eta_stress2006
eta_stress2008 ~~ v_stress2*eta_stress2008
eta_stress2010 ~~ v_stress2*eta_stress2010
eta_stress2012 ~~ v_stress2*eta_stress2012
eta_stress2014 ~~ v_stress2*eta_stress2014
# 9. Variances and covariances of growth factors
i_smoke ~~ var_i_smoke*i_smoke
i_stress ~~ var_i_stress*i_stress
s_stress ~~ var_s_stress*s_stress
i_smoke ~~ cov_i_smoke_stress*i_stress
eta_smoke2004 ~~ 0*i_smoke + 0*i_stress + 0*s_stress
eta_stress2004 ~~ 0*i_smoke + 0*i_stress + 0*s_stress
eta_smoke2004 ~~ cov_res_ss1*eta_stress2004
eta_smoke2006 ~~ cov_res_ss2*eta_stress2006
eta_smoke2008 ~~ cov_res_ss2*eta_stress2008
eta_smoke2010 ~~ cov_res_ss2*eta_stress2010
eta_smoke2012 ~~ cov_res_ss2*eta_stress2012
eta_smoke2014 ~~ cov_res_ss2*eta_stress2014
# Means structure
i_smoke ~ 1
i_stress ~ 1
s_stress ~ 0*1
# Observed means fixed to zero
smoke_2004 ~ 0*1
smoke_2006 ~ 0*1
smoke_2008 ~ 0*1
smoke_2010 ~ 0*1
smoke_2012 ~ 0*1
smoke_2014 ~ 0*1
stress_2004 ~ 0*1
stress_2006 ~ 0*1
stress_2008 ~ 0*1
stress_2010 ~ 0*1
stress_2012 ~ 0*1
stress_2014 ~ 0*1
eta_smoke2004 ~ 0*1
eta_smoke2006 ~ 0*1
eta_smoke2008 ~ 0*1
eta_smoke2010 ~ 0*1
eta_smoke2012 ~ 0*1
eta_smoke2014 ~ 0*1
eta_stress2004 ~ 0*1
eta_stress2006 ~ 0*1
eta_stress2008 ~ 0*1
eta_stress2010 ~ 0*1
eta_stress2012 ~ 0*1
eta_stress2014 ~ 0*1
'