How to fix unidentifiability issue in this structural model? I am building a structural equation model, attached in the figure. However, when trying to estimate its parameters I get an error indicating that the model is likely unidentified.
The software I'm using outputs

In order to achieve identifiability, it will probably be necessary to
impose 2 additional constraints

Unfortunately, I have no idea where to start in order to introduce these two additional constraints. Could please help to deal with it?


TLDR
If it is in accordance with your assumptions, fix the correlations of the latent exogeneous variables to 0. Otherwise, try to fix or match some other parameters.
Long answer
It's been a while since I've worked with SEMs, but I remember running into similar problems as well. Basically, what underidentification means is that there are more parameters that need to be estimated than there are manifest variables in your model. For a brief primer, look at David Kenny's website.
To determine whether a model is identified, you need to determine the number of given parameters and the number of parameters to estimate. This is usually done by the software and returned as the degrees of freedom of the user model. Be careful though, as there is usually another degree of freedom for the null model, which should be a higher number.
You can also "count" the number of given and to-be-estimated parameters by hand. If I recall correctly, the number of given parameters is computed differently between software, but it is essentially determined from the variance/covariance matrix of your manifest variables (I'm not 100% on this).
To determine the number of parameters to be estimated, you need to count the variables in your model. This includes factor loadings, regression coefficients, correlations and residual variances. This comes with some important notes:

*

*Importantly, regression intercepts are also estimated, but usually not present in the visualization (which is also the case for the diagram you posted), which might lead to confusion.

*The first factor loading is usually set to 1 by default and thus does not need to be estimated.

*The software I used usually assumed latent residual variances to be correlated. I don't know if that's always the case.

Once you have the number of given and estimated parameters, you simply subtract them. If the result is > 0, your model is identified, if it is < 0, your model is underidentified and cannot be computed as there are more parameters to estimate than there are parameters to estimate from.
There are two main strategies you can follow to fix this problem:

*

*"Fixing" values: You can set parameters to certain values in your syntax. This way, the software does not need to estimate them anymore, reducing the number of parameters to estimate by 1 for every fixed parameter. Usually, this is done to correlations, by setting them to 0.

*"Matching" values: You can also say that different parameters should have the same value. This way, only one value needs to be estimated for two (or more) parameters. In my field, this is considered a stronger assumption and is usually done in longitudinal studies to determine measurement invariance. You can also set means and variances to be equal, but I personally have no experience with that.

From your model, I would assume that the issue is a nonzero correlation between the residual variances of your exogeneous latent variables, i.e. e1 to e7. You could try to set all these correlations to be zero in your syntax and see whether this makes the model identified. This is usually a big source of identification problems and helps deal with them. Of course, this is only valid if it is in agreement with your theoretical assumptions.
Otherwise, I would recommend matching some factor loadings to the same value, or adding some more variables to your model if possible. You need to look into the syntax of your software to determine how to do this, as it is different for every software.
Again, this is more of a practitioners answer. I haven't looked into this theory in a solid two to three years, so this is what I remember from working with SEMs back then. If you have any questions, please feel free to ask, I will try to answer them if I can.
