Hi! I’m conducting a meta-analysis with brms
and I want to compute the prediction interval for my average effect size.
This is my model:
mod0_prior <- c(
prior(normal(0, 2), class = "b", coef = "Intercept"),
prior(cauchy(0, 1), class = "sd")
)
fit <- brm(eff_size_g|se(eff_size_se_g) ~ 0 + Intercept + (1|study_meta/substudy),
data = meta_clean,
prior = mod0_prior)
Now I know that prediction interval in meta-analytic model are computed as: \hat{\mu} \pm 1.96\sqrt{\hat{\tau^2}+Var[\hat{\mu}]}. Reading online, with brms
and my nested structure, the simple predict()
approach should be fine, taking into account all variability sources.
Now, I’m struggling with these approaches:
1.
# Using Tidybayes
pred <- add_predicted_draws(meta_clean %>% select(substudy, eff_size_g, eff_size_se_g),
fit, re_formula = NA)
# Then summarising across all study:substudy using mean or median and 95% interval
# predicting a new study using an average study-level standard error
new_data_un <- tibble(study_meta = "newstudy", eff_size_se_g = mean(meta_clean$eff_size_se_g))
Actual distributions are a little bit different, but the first approach returns me a strange bimodal posterior distribution. At the same time, the first approach sounds like the most reasonable for me.
What do you think?