Hi all,
I am receiving this error :
Chain 1: Rejecting initial value:
Chain 1: Gradient evaluated at the initial value is not finite.
Chain 1: Stan can’t start sampling from this initial value.
My model is as follows:
data {
int D;
vector[D] U;
vector[D] X;
vector[D] M;
}
parameters {
real<lower=0> location_U;
real<lower=0> scale_U;
real<lower=0> shape_U;
real<lower=0> scale_X;
real<lower=0> shape_X;
real<lower=0> scale_M;
real<lower=0> shape_M;
real<lower=0> beta_0_X;
real<lower=0> beta_U_to_X;
real<lower=0> beta_0_M;
real<lower=0> beta_X_to_M;
}
transformed parameters {
vector<lower=0>[D] location_X;
vector<lower=0>[D] location_M;
for (i in 1:D){
location_X[i] = beta_0_X + U[i] * beta_U_to_X;
location_M[i] = beta_0_M + X[i] * beta_X_to_M;
}
}
model {
//prior over parameters
location_U ~ normal(10, 10);
scale_U ~ normal(10, 10);
shape_U ~ normal(10, 10);
beta_0_X ~ normal(10, 10);
beta_U_to_X ~ normal(10, 10);
scale_X ~ normal(10, 10);
shape_X ~ normal(10, 10);
beta_0_M ~ normal(10, 10);
beta_X_to_M ~ normal(10, 10);
scale_M ~ normal(10, 10);
shape_M ~ normal(10, 10);
U ~ skew_normal(location_U, scale_U, shape_U);
X ~ skew_normal(location_X, scale_X, shape_X);
M ~ skew_normal(location_M, scale_M, shape_M);
}
I don’t receive this message when only U, and X are in my model. But as soon as I add M, I will receive this error. Does anyone know what is causing this issue?