I have three questions about SEM and I'll ask the questions using an example that I have been working with. The dataset has employment (emp), addiction (addict), depression (dep) and suicidal thoughts (suicide)-- all of which are binary (yes/no). I want to test all bidirectional relationships among emp, addict, and dep and also their association to suicide. You can see the following syntaxes to understand my hypothesized model.

simple_bider <- '
    # paths
    emp ~ addict + dep 
    addict ~ emp + dep 
    dep ~ emp + addict 
    suicide ~ dep + addict + emp 
fit <- sem(simple_bider, data=dat)
summary(fit, standardized=TRUE)


At first I made these variables ordered to get the diagonally weighted least squares estimates as instructed in the lavaan tutorial page. However, as I'm testing the bidirectional relationships I have to put the same variable both as a predictor and then as an outcome within the model statements. Is there a problem with that when I'm making them ordered?


How does this model differ from doing separate probit regressions and by doing an SEM do we actually achieve anything over just confirming associations?


Unfortunately, this syntax produces the following errors/warnings:

> fit <- sem(simple_bider, data=dat)
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.

What I read from different sources is, for a model to be not identified there has to be fewer "knowns" than "unknowns". So, what are the "knowns" and "unknowns" here and how can I tell why the model is not identified here? I suppose adding more observations will NOT help the model be identified, is that correct? Would adding some covariates make the number of "unknowns" higher and cause more problems?


1 Answer 1


1) Not inherently. You may run into identification problems, though (see (3)). If the syntax will allow it, then there is no problem as far as model specification is concerned.

2) SEM serves a different purpose than regression. SEM is used to test causal assumptions that you have made about the relationship among your variables. Causal assumptions include specifying no associations among errors or between certain variables. If you want to test the assumptions of a causal model, you use SEM. If you simply want to estimate regression parameters that describe the association between variables, you can use regression. There is some benefit to simultaneously estimating multiple regression equations together, but usually only with over-identified models.

3) You model is gross under-identified. You cannot estimate bidirectional relationships without instruments. How could your model distinguish the effect addict -> emp from emp -> addict when all it has to go off of is the (partial) correlation between emp and addict? The knowns are the variances and covariances among all your variables. The unknowns are the variances of the exogenous variables in your model, the variance of the endogenous variables in your model, the covariances specified by your model, and the path coefficients specified by your model. With 4 variables, you have 4 variances and 6 covariances. As your model stands, you want to estimate the error variances of all 4 variables, covariances among your predictors, 9 path coefficients, and probably more parameters that are automatically freely estimated in lavaan.

You need to make some restrictions to test this model. These restrictions include estimating only at most one path/covariance between pairs of variables.

  • $\begingroup$ Thanks. Does the model estimate the variances and covariances of the "exogenous" variables too (as you specified "covariances among your predictors")? I don't see them in the output. Does it allow using correlated covariates in SEM (unlike the regular regression assumption) this way? $\endgroup$
    – Blain Waan
    Nov 15, 2018 at 3:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.