Hi,

I am trying to estimate vote shares of different parties. So, I have 3 parties, each having its own column in the data set. Hence, the sum of vote shares is 1. So, I can estimate only two equations, because otherwise I will get a singular matrix.

So, I have a system of 3 equations and I am using --sureg-- to estimate it.

Code:
sureg (voteshare_party1 voteshare_party2 = X_variables i.fixedeffectvariable1), isure
However, I want to cluster the standard errors at the area level. But I understand from the previous posts on this forum that this is not possible. If this is possible, then please let me know how should I proceed with it.

So, from suggestions on the forum, I used --gsem-- command (cannot use --sem-- because I need to add fixed effects), and my code now is:

Code:
gsem (voteshare_party1 <- X_variables i.fixedeffectvariable1) (voteshare_party2 <- X_variables i.fixedeffectvariable1), covstruct(e.voteshare_party1 e.voteshare_party2, unstructured) nocapslatent vce(cluster Area_level_variable)
I had to use -nocapslatent- because I did not want to include any other variable, apart from those mentioned in the regression in estimation.

However, this kept on running and showing the same likelihood value and (not concave), and so, I had to use iterate(20). Does stopping the iteration in-between give correct results?

My questions:
  1. Can we cluster standard errors in --sureg--?
  2. Will --gsem-- be a more efficient way to estimate the equations in my case?
  3. Does stopping the iteration in-between give correct results?
I am relatively new to Stata, and so, I would really really appreciate your guidance on this.
I am happy to share more context if I haven't explained myself clearly.

Thank You