Я пытаюсь преобразовать модель Jags в модель Stan.
Зубцы:
model{
for (i in 1:n){
theta[i] ~ dbeta(u*s, s-u*s)
y[i] ~ dbin(theta[i],N[i])
}
u ~ dunif(0,1)
s ~ dlnorm(4,0.25)
}
Стэн:
data {
int<lower=0> J;
int y[J];
int N[J];
}
parameters {
real<lower=0, upper=1> u;
real<lower=0> s;
vector[J] theta;
}
model {
s ~ lognormal(4,2);
theta ~ beta(s*u, s*(1-u));
y ~ binomial(N, theta);
}
Но когда я запускаю его, он возвращает следующее сообщение:
Цепочка 1: Отклонение начального значения: Цепочка 1: Ошибка оценки логарифмической вероятности при начальном значении. Цепочка 1: Исключение: beta_lpdf: Случайная переменная [4] равна -1,58608, но должна быть >= 0! (в 'model29e45483bba0_model' в строке 18)
Что может генерировать отрицательное значение в этой модели?