I am working on a project using DSEM to model within-person lagged effects from an EMA study. Because some of the models took an exceptionally long time to run (categorical variables, low base rates, and the like make convergence a bit tricky), I have tried to make use of extra computing power by adding the following syntax:
My understanding from the user guide is that this will allow for parallel processing across multiple processors. However, I just ran the same syntax twice, once with PROC and CHAINS set to 4, and once with each of them set to 2; the analyses yielded totally different results! Should I assume, then, that Bayesian estimation requires limiting oneself to the use of only 2 processors and 2 chains, maximum?
The proper conclusion in this situation is that you have not obtained full convergence yet and you have to run the model even longer (double the number of iterations). Changing the number of chains should have minimal effect on the results if the model has converged.
Categorical variables with more than two categories (not binary) are in general slower to estimate. If the categorical variables are binary, however, I would suspect that the model is trying to extract more information than is available in the data. In such a case simplifying the model is the best solution. For example, random effects with small variances can be replaced by non-random effects, i.e., reduce the number of subject specific parameters with subject invariant parameters. Also check your data for variables or observations that lack variation or are too different from the postulated model. Also looking at the traceplots can help you identify the parameters that are difficult to estimate.