Hierarchical structure- Weird traceplot

Hi! I’m trying to fit the following model with a hierarchal structure to the behavioral data, and the traceplot shows the weirdest shape. Also when i tried running with multiple chains, some chains would not fit at all and run infinitely. (I guess it’s stuck somewhere?) I really can’t see any problem on my own, and was hoping for some help.

data {
  int<lower=1> N;
  int<lower=1> T;
  int<lower=0> Tsubj[N];
  int<lower=0> pumps[N, T];
  int<lower=0, upper=1> explosion[N,T];
}
parameters {
  vector[4] mu_pr;
  vector<lower=0>[4] sigma;
  
  vector[N] alpha_pr;
  vector[N] beta_pr;
  vector[N] gam_pr;
  vector[N] tau_pr;
}
transformed parameters {
  vector<lower=0>[N] alpha;
  vector<lower=0>[N] beta;
  vector<lower=0>[N] gam;
  vector<lower=0>[N] tau;

  alpha = exp(mu_pr[1] + sigma[1] * alpha_pr);
  beta = exp(mu_pr[2] + sigma[2] * beta_pr);
  gam = exp(mu_pr[3] + sigma[3] * gam_pr);
  tau = exp(mu_pr[4] + sigma[4] * tau_pr);
}
model {
  mu_pr  ~ normal(0, 1);
  sigma ~ normal(0, 0.2);

  alpha ~ normal(0, 1);
  beta ~ normal(0, 1);
  gam ~ normal(0, 1);
  tau ~ normal(0, 1);
  
  for(j in 1:N) {
    int n_succ = 0;
    int n_pump = 0;
    
    for (k in 1:Tsubj[j]) {
      int I = 128;
      real p_deflate;
      vector[I] curUtil;
      
      p_deflate = (alpha[j] + (n_pump-n_succ)) / (beta[j] + n_pump);
      for( l in 1:I) {
        curUtil[l] = (1-p_deflate^l)*(I-l)^gam[j];
      }
      pumps[j,k] ~ categorical_logit(curUtil * tau[j]);
      
      if(explosion[j,k] == 0) {
        n_succ += pumps[j,k];
      }
      n_pump += pumps[j,k];
    }
  }
}

1 Like


This is the traceplot for one of the parameters when ran with 2000 iterations (1000 warm ups)

Hi, sorry for not getting to you earlier. Did you manage to resolve the issue in the meantime?

It appears the chains just basically get stuck at a single point. Most of the advice at Divergent transitions - a primer should be applicable, especially simplifying the model to see which part is actually causing the trouble. As it stands, the model is too large and complex for me to debug easily.

Best of luck with your model

2 Likes