You mean log1p()
vs log()
, right? Did you try init=0
?
Try this, it should give a different error:
real surv_loglogistic_lpdf(vector t, vector d, vector p, matrix kernel,
vector exp_x, array[] int county, real shape,
vector scale) {
vector[num_elements(t)] log_lik;
real prob;
vector[num_elements(t)] ls_s;
vector[num_elements(t)] ls_f;
for (i in 1 : num_elements(t)) {
if (t[i] <= 0.0) {
reject("t[", i, "] is ", t[i]);
}
}
ls_s = log_S(t, p, kernel, exp_x, county, shape, scale);
ls_f = log_f(t, p, kernel, exp_x, county, shape, scale);
log_lik = d .* log_f(t, p, kernel, exp_x, county, shape, scale)
+ (1 - d) .* log_S(t, p, kernel, exp_x, county, shape, scale);
for (i in 1 : num_elements(log_lik)) {
if (is_inf(log_lik[i]) || is_nan(log_lik[i])) {
reject("log_lik[", i, "] is ", log_lik[i]);
}
}
prob = sum(log_lik);
return prob;
}