data { int J; real y[J]; real sigma[J]; } parameters { real mu; real tau_square; // priori on varianssille, joten kaytetaan alkuperaisena parametrina varianssia real eta[J]; } transformed parameters { real tau = sqrt(tau_square); // maaritellaan keskihajonta varianssin neliojuurena real theta[J]; for(j in 1:J) theta[j] = mu + eta[j]; } model { tau_square ~ inv_gamma(1,1); // asetetaan varianssille inverse gamma - priori eta ~ normal(0, tau); y ~ normal(theta, sigma); }