Restrict estimation of some parameters to a subset of the moments equations

Hi, I’m currently estimating a model with 6 moment equations and 6 parameters (call x1,x2,x3 and c1,c2,c3). The x’s are identified by the first 3 moments but also appear in the 3 other equations. The c’s only appear in the 3 last moments.

When I first wrote down the model, I started with the 3 initial moments and the x’s fits were pretty good (using a simulated dataset). However, when I introduced the 3 other moment equations, the fit of the c’s were really good but x3 got bad. I tried reparametrizing and making the code more sampling-efficient but I feel like I reached a limit.

What I’d like to know is if there is a way to restrict the estimation of the x’s to only the first three moments and the c’s to only the last three equations (like plugging the estimated x’s into these moments under the hood). I’m pretty sure this could be easily done separating the model into two. However, ideally I would like to keep the whole estimation in the same Stan model since I believe if I separated the models, the standard error computations for c’s would get messy because of error propagation. Is there a way to implement these moments restrictions within the same model? Thanks in advance!

I think this question will likely attract better answers faster if you’re able to show us the Stan model and describe the data a bit better, or better yet provide a reproducible example.

As a general comment, what you are suggesting sounds like what the cut function in BUGS tried (but apparently failed?) to accomplish. Stan doesn’t have such a function. However, use cases for such a function are relatively rare. In particular, if joint estimation of the x and c parameters causes poor estimation of the x parameters, this is strongly suggestive of misspecification in the part of the model where x and c interact, and it would be preferable to solve this problem with a well specified model rather than a cut if possible.