Indexing through bernoulli incorrectly

Hi
I am having issues with my psi estimates being too high. I believe it to be an indexing issue in the “else” portion of my model. Any advice on what might be the issue or how to target the line of code that needs fixing is greatly appreciated!
Thank you


data {
  int<lower=0> N; //of observations/ # temporal replication
  int<lower=0> K; // of groups/ # of arrays
  int pos[K]; // position of the first detection of each group
  int y[N]; // observations/ Detection at each site for all temporal replication
  int s[K]; // group size s={45,42,42,41,54,...}
  int x[K]; // Observed occupancy at each site
  
  vector[K] t_burn;
  vector[N] air_temp; 
}


parameters {
  real a_psi;
  real b1_psi;
  
  real a_p; 
  real b1_p;
  
}

transformed parameters {
  vector[K] logit_psi;
  vector[N] logit_p;
  logit_psi = a_psi + b1_psi * t_burn;
  logit_p = a_p + b1_p * air_temp;
 
}
model {
   
  // Priors
  a_psi ~ normal(0, 1); 
  b1_psi ~ normal(0, 1); 

  a_p ~ normal(0, 1);
  b1_p ~ normal(0, 1);

// Likelihood
  for (i in 1:K) {
    int t_d[s[i]];
    t_d = segment(y, pos[i], s[i]);
     for(j in 1:s[i]){
       if (x[i] == 1) {    // Occurred and observed
       
//    print("psi before =", target());
         1 ~ bernoulli_logit(logit_psi[i]);
//    print("p before =", target());
          t_d[j] ~ bernoulli_logit(logit_p[i]); 
      
     } 
     else {
                            // Occurred and not observed
      target += log_sum_exp(bernoulli_logit_lpmf(1 | logit_psi[i])
                          + bernoulli_logit_lpmf(0 | logit_p[i]),
                            // Not occurred
                            bernoulli_logit_lpmf(0 | logit_psi[i]));
//    print("after target +=", target());                     
      }
    }
  }
}

Hi Kristina,

I don’t see anything that’s obviously problematic with the indexing, but I could definitely be missing something (indexing is tricky!) and I’m not sure I 100% understand the goal of the model. Can you explain a bit about what you’re trying to do and why you think the psi estimates are too high? Hopefully that will help me or someone else here figure out what to recommend.