aboutsummaryrefslogtreecommitdiff
path: root/inst/stan/include/functions_occu.stan
blob: 0b6d153e65802533ac0172f40810c242d029832c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
real lp_occu(array[] int y, real logit_psi, vector logit_p, int Kmin){
  real out;
  out = log_inv_logit(logit_psi) + bernoulli_logit_lpmf(y | logit_p);
  if(Kmin == 1){
    return out;
  }
  return log_sum_exp(out, log1m_inv_logit(logit_psi));
}

vector get_loglik_occu(array[] int y, int M, array[,] int J, array[,] int si, vector logit_psi,
                  vector logit_p, array[] int Kmin){
  vector[M] out;
  for (i in 1:M){
    out[i] = lp_occu(y[si[i,1]:si[i,2]], logit_psi[i],
                     logit_p[si[i,1]:si[i,2]], Kmin[i]);
   }
  return out;
}