I have a formative construct in a structural equation model (SEM) which I would like to estimate with the function
sem in the
lavaan package in
R. Currently, the model is underidentified. I know about four different approaches for identifying the model
- Adding two reflective indicators
- Adding two reflective constructs
- Adding one reflective indicator and one reflective construct
- Fixing the variance of the disturbance term to zero
These modelling approaches are described in section 5.3.3 of http://www.researchgate.net/profile/Adamantios_Diamantopoulos/publication/222652088_Advancing_formative_measurement_models/links/09e4151406c288b6b3000000.pdf
In my case, I do not have additional reflective indicators or constructs. Thus, I would like to fix the variance of the disturbance term to zero (approach 4). I know about the downsides of this approach as described on page 13 of the paper linked above. Nevertheless, if I want to do it, how do I specify this in the
Here is a code example. It returns a note that the model is underidentified. How do I get this working?
library(lavaan) model <- ' # latent variable definitions ind60 =~ x1 + x2 + x3 dem60 <~ 1*y1 + y2 # regression dem60 ~ ind60 # variance ind60 ~~ 1*ind60 ' summary(fit <- sem(model, data=PoliticalDemocracy))
From How to use formative indicators in covariance-based SEM with lavaan? I know that it would work if I would invert the direction of causality (
ind60 ~ sem60 instead of
sem60 ~ ind60) or specify
sem60 as reflective construct but neither of these appraoches would fit the theoretical basis.