data { int Npats; int N; int K; vector[N] A; int id[N]; real y1[N]; real y2[N]; real y3[N]; real y4[N]; real y5[N]; } parameters { vector[K] delta_raw; real delta_star; real beta ; vector[Npats] alpha; vector[K] phi_y; realphi_alpha; realphi_delta; } transformed parameters{ vector[N] mu1; vector[N] mu2; vector[N] mu3; vector[N] mu4; vector[N] mu5; vector[K] delta; delta = delta_star + delta_raw*phi_delta; mu1 = alpha[id] + delta[1]*A + beta; mu2 = alpha[id] + delta[2]*A + beta; mu3 = alpha[id] + delta[3]*A + beta; mu4 = alpha[id] + delta[4]*A + beta; mu5 = alpha[id] + delta[5]*A + beta; } model { phi_delta ~ cauchy(0, 10000); phi_alpha ~ cauchy(0, 10000); phi_y ~ cauchy(0, 10000); alpha ~ normal(0, phi_alpha); delta_star ~ normal(0, 2000); delta_raw ~ std_normal(); beta ~ normal(0, 10000); y1 ~ normal(mu1, phi_y[1]); y2 ~ normal(mu2, phi_y[2]); y3 ~ normal(mu3, phi_y[3]); y4 ~ normal(mu4, phi_y[4]); y5 ~ normal(mu5, phi_y[5]); }