This is indeed a good strategy in general - simplify the model to find the smallest one that still has issues. I don’t see anything immediately problematic with the model, but I think further simpliciations could help pinpoint the problem. What if you treat mu
and/or sigma
as known? (i.e. pass it as data) Can you make a univariate version of the model work? What if you avoid the hierarchical structure and have mu[,k] ~ something_fixed
.
You might also want to check Divergent transitions - a primer where I discuss some other debugging strategies for models.
Best of luck! HMMs are cool, but sometimes challenging.