I have performed an experiment in which I manipulated three factors and I would like to model latent variables that those factors affect and then estimate the effects of the latents on response variables I measured (two gases). I am new to SEM and am working on implementing this model in R with lavaan. I have spent a few weeks working on this and got a basic mediation model without latents working but cannot get this second model to work. I believe the problem is that the three exogenous variables (ie, manipulated factors) do not have adequate variance so the model is under-identified. See the model structure below.
So there are 3 exogenous variables (all are experimentally manipulated with multiple levels), 2 latent variables (technically I think they are composite latent variables), and 2 measured endogenous variables (Gas1 and Gas2). I believe my model is setup to estimate 8 parameters. By the rule that t<=p(p+1)/2, where t=# params and p=# variables, I should be able to estimate up to 15 parameters with my 5 variables. However, I keep getting errors that indicate that my model is likely not identified and I also get negative degrees of freedom (DF=-3).
Ultimately my interest is to estimate the effects that OD and OC have on Gas2. However, my questions at this point are:
- Is under-identification due to low variance of the manipulated variables likely the cause this problem?
Is there a better way to go about structuring such a SEM based on experimental (ie, manipulated not observational) data? Either specific to this model or more generally.
Sorry if this is a basic question- Thanks for any help!
Code of the model:
SEM3<-' OC<~Ltype+H2Opercent+MD OD<~H2Opercent+MD Gas1~OC Gas2~OC+OD ' SEM3_full<-lavaan::sem(SEM3,data=nc_full_DF)
Errors and output:
Warning message: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING: could not compute standard errors! lavaan NOTE: this may be a symptom that the model is not identified. > summary(SEM3_full) lavaan (0.5-17) converged normally after 13 iterations Used Total Number of observations 139 157 Estimator ML Minimum Function Test Statistic NA Degrees of freedom -3 Minimum Function Value 0.7803616416535 Parameter estimates: Information Expected Standard Errors Standard Estimate Std.err Z-value P(>|z|) Composites: OC <~ Ltype 0.000 H2Opercent 0.000 MD 0.000 OD <~ H2Opercent 0.000 MD 0.000 Regressions: Gas1 ~ OC 0.000 Gas2 ~ OC 0.000 OD 0.000 Covariances: OC ~~ OD 0.000 Gas1 ~~ Gas2 0.125 Variances: Gas1 0.042 Gas2 3.626 OC 0.000 OD 0.000