I want to construct stan(rstan) code for survival analysis using weibull distribution. But my stan code always can't work. If Anyone knows how to deal with my problem, please teach me.
My data is like that
Movement:(time that took oranisum behavior) Treat: experimental treament that have two categorical variable "A", "B" r_Day: random effects considering day-specific effects
And My stan code is like below.
data {
int N; // all data
int D; // day
int <lower = 0, upper = 1> Treat[N];
int <lower = 0> Movment[N];
int <lower = 1, upper = D> Day[N];
}
parameters {
real <lower = 0> shape; // shape parameter
vector[2] beta;
real r_Day[D];
real <lower = 0> sigma_D;
}
transformed parameters{
vector[N] scale; // scale parameter
for(n in 1:N) scale[n] = beta[1] + beta[2]*Treat[n] + r_Day[Day[n]];
}
model {
for(n in 1:N) Movment[n] ~ weibull(shape, exp(-(scale[n]/shape))) ;
for (d in 1:D) r_Day[d] ~ normal(0, sigma_D);
}
But this code always get error "Log probability evaluates to log(0), i.e. negative infinity. Stan can't start sampling from this initial value. Rejecting initial value:" and samplings stop.
Please teach me how to deal with this errors.