Dear all,
I have a warning while executing my stan model with cmdstan, but I cannot get the reason of it.
The model is
///////////////////////// DATA /////////////////////////////////////
data {
int<lower = 0> N; // number of users
int<lower = 0> Q; // number of user covariates
int<lower = 0, upper = 1> Y[N];
matrix[Q,N] X; // design matrix of user covariates
vector[N] f; // design matrix of books
matrix[Q,Q] L0; // empirical variance-covariance matrix of beta
int<lower = 0> L1; // empirical variance of alpha
vector[Q] m0; // mean of beta
int<lower = 0> m1; // mean of alpha
}
//////////////////// PARAMETERS /////////////////////////////////
parameters {
row_vector[Q] beta; // coefficients related to users
real alpha; // coefficients related to books
real mu; // user-level random effect
real<lower = 0> tau;
real<lower = 0> eta;
}
transformed parameters {
// Probability trasformation from linear predictor
real<lower=0> odds[N];
real<lower=0, upper=1> prob[N];
for (i in 1:N)
{
odds[i] = exp(betaX[,i] + alphaf[i] + mu);
prob[i] = odds[i] / (odds[i] + 1.0);
}
}
////////////////// MODEL ////////////////////////
model {
// Likelihood
for (i in 1:N)
{
Y[i] ~ bernoulli(prob[i])
}
// Priors
mu ~ normal( 0, sqrt(100));
beta ~ multi_normal( m0, inv_sqrt(tau)*L0);
alpha ~ normal( m1, inv_sqrt(eta)*L1);
tau ~ gamma(0.01, 0.01);
eta ~ gamma(0.01, 0.01);
}
The warning I get is
Informational Message: The current Metropolis proposal is about to be rejected because of the following issue:
validate transformed params: prob[k0__] is -nan, but must be greater than or equal to 0
If this warning occurs sporadically, such as for highly constrained variable types like covariance matrices, then the sampler is fine,
but if this warning occurs often then your model may be either severely ill-conditioned or misspecified.
Could you please help me understanding the problem?
Thank you very much!
Ilaria