/********************************************************************** * loglinear mixed-effect model * Peng Zeng @ Auburn University * 2025-09-12 * * model: * y[i] ~ poisson(exp(b[ID[i]] * x)) * b[i] ~ normal(theta, Sigma) * prior distribution: * theta ~ normal(mu0, Lambda0) * Sigma ~ inverse Wishart(eta0, S0) **********************************************************************/ data { int n; // number of observations int p; // number of predictors int m; // number of groups array[n] int y; // response matrix[n, p] x; // predictor int ID[n]; // ID in {1, ..., m} vector[p] theta_mean; // mu0 cov_matrix[p] theta_var; // Lambda0 real Sigma_df; // eta0 cov_matrix[p] Sigma_scale; // S0 } parameters { array[m] vector[p] beta; cov_matrix[p] Sigma; vector[p] theta; } model { theta ~ multi_normal(theta_mean, theta_var); Sigma ~ inv_wishart(Sigma_df, Sigma_scale); beta ~ multi_normal(theta, Sigma); for(i in 1:n) { y[i] ~ poisson(exp(x[i] * beta[ID[i]])); } } /********************************************************************** * THE END **********************************************************************/