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:
SEM3_full<-lavaan::sem(SEM3,data=nc_full_DF_SO)
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