Some researchers will use SEM model to detect pleiotropic effect and causal effect. In my opinion, SEM model can not be considered as the proof for effects, instead, the SEM model only provides the information: "There are the potential causal effects between these variables".
But still, SEM is a good tool to show the network among the variables we interested. Recently, I tried to set up the SEM model which contained causal effect and pleiotropic effect at the same time, but I kept getting error from this model:
When I added the covariance between $e_{1}$ and $e_{2}$, the SEM model couldn't be identified. However, if I removed the covariance, SEM model could be identified, and no error occured.
I am not quite sure why this happened, and which setting is correct. Do I need to add the covariance between $e_{1}$ and $e_{2}$, or remove it?
Update:
Hi @Jeremy Miles, thank you for your response. "Pleiotropic effect" is just a biology terms, when we talked about single nucleotide polymorphisms (SNPs), genes, and traits. Here I give you short description, we want to estimate the causal effect of exposure (e.g. High density lipoprotein) on outcome (e.g. triglycerides ), and we know some SNPs will affect exposure (We can use GWAS to find these SNPs). However, some SNPs we find may directly affect outcome, and the effect of SNPs on outcome is called "pleiotropic effect".
There is one paper about using SEM model to detect pleiotropic effect:
(1) Direct and indirect genetic effects on triglycerides through omics and correlated phenotypes
I understand when we ran out df, model wouldn't be identified. However, I always have more than one SNPs, and I think the model df is larger than 0.
For example, if we have 5 SNPs
- Total df: 32 (5!)
- regression path: 5(snps to exposure) + 5 (snps to outcome) + 1 (exposure to outcome)
- variance $e_{1}$: 1
- variance $e_{2}$: 1
- covariance $e_{1}$ and $e_{2}$ : 1
model df: 32-5-5-1-1-1-1 = 18
Furthermore, I get the error message like:
Warning message:
In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
Could not compute standard errors! The information matrix could
not be inverted. This may be a symptom that the model is not
identified.