My hierarchical model has six RVs, and samples using Metropolis. One of the RVs—a TruncatedNormal—gets stuck when sampling. The Print operator reveals that Metropolis is proposing values for the stuck RV that are very far from the original (stuck) value. No wonder it is getting stuck: the logp of those proposed values are minuscule compared the logp of the value it is stuck on. Metropolis is not exploring the immediate vicinity; it is instead exploring miles away. The step size is far too big.
The acceptance probability varies dramatically for the six RVs in the model:
Does Metropolis think that it has found a reasonable step size for the model as a whole because the mean acceptance probability is 15%? In other words, is there a tuning parameter I can supply to tell Metropolis to use a smaller step size for the stuck RV?