Hi everyone,
I’m currently trying to fit the following Bayesian correlation model, similar to this one.
data {
int<lower=1> N; // number of observations
matrix[N, 2] xi_ind_obs_mu; // mean of observed effect in exp. 1/2
matrix[N, 2] xi_ind_obs_sigma; // sd of observed effect in exp. 1/2
}
parameters {
vector<lower=0>[2] xi_group_sigma;
vector[2] eta[N]; // true (unobserved) distribution for effect in exp. 1/2
cholesky_factor_corr[2] L_Omega;
}
transformed parameters {
matrix[2, 2] L_Sigma = diag_pre_multiply(xi_group_sigma, L_Omega);
}
model {
xi_group_sigma ~ cauchy(0, 5);
L_Omega ~ lkj_corr_cholesky(2);
for (i in 1:N) {
// loop through subjects
eta[i] ~ normal(0, 10);
target += multi_normal_cholesky_lpdf(eta[i] | [0, 0], L_Sigma); //
for (j in 1:2){
target += normal_lpdf(xi_ind_obs_mu[i, j] | eta[i, j], xi_ind_obs_sigma[i, j]);
}
}
}
generated quantities {
matrix[2,2] Omega;
matrix[2,2] Sigma;
Omega = multiply_lower_tri_self_transpose(L_Omega);
Sigma = quad_form_diag(Omega, xi_group_sigma);
}
I’m correlating several (standardized: mean=0, sd=1) measures for a group of participants. For some of the measure pairs, the model fits well, but for most of the pairs, E-BFMI values are very low. There are no issues of convergence, though. For the correlation pairs with low E-BFMI, the 95% credible intervals for the correlation coefficients extracted from Omega are very wide (ranging from around -0.6 to 0.6).
I got the warning message that E-BFMI below 0.2 indicates you may need to reparameterize your model. Does anybody have a suggestion how this could be done?
Thanks a lot in advance!