Meta-analysis in bambi

Meta-analysis is a statistical method that combines the results of multiple studies addressing the same question to determine an overall trend or effect.
It involves calculating an effect size that represents the magnitude of a treatment or intervention across all the studies. This process includes extracting and synthesizing effect sizes and variance measures from the individual studies to get a pooled result.

Usually a meta-analysis is a hierarchical/multilevel model with fixed/random effects for each study.

In brms, this would be an example formula: TE|se(seTE) ~ 1 + (1|study) (see Bayesian meta-analysis in brms | A. Solomon Kurz
where TE is the treatment effect, seTE is the standard deviation of each treatment effect and study is an indicator for the study.

Note that we cannot simply use the effect size of each study in TE as is . We also have to give studies with higher precision (i.e. sample size) a greater weight. This can be done by using TE|se(seTE) instead of only TE , where the se(seTE) part stands for the standard error of each effect size TE in our data set.

However, this syntax is not supported in bambi.
Actually the JSS bambi paper by @tcapretto et al states:

Our model departs from the meta-analytic approach used by Wagenmakers et al. (2016) in
that the latter allows for study-specifc subject and error variances (though in practice, such
differences are unlikely to impact the estimate of the experimental condition effect).

I’m not sure if the impact is so small, so how would I get this functionality in bambi (or pymc)?

Hi @Harryg,

It’s correct it’s not possible in Bambi for now. I’m not familiar with meta-analysis, but from what I’ve seen in brms it shouldn’t be too hard to add this. I’ve just opened an issue to track it Meta analysis in Bambi · Issue #817 · bambinos/bambi · GitHub

2 Likes