Understanding rescor in bivariate meta-analysis

  • Operating System: Windows 10
  • brms Version: 2.7.0

Hi all,

I’m trying to learn about brms before using it for my research. I’ve just run a bivariate meta-analysis, and tried to figure out what rescor exactly is, but couldn’t. In short, I thought that rescor would be the correlation between the residuals of each of the modeled responses, but I failed to obtain the same value when calculating the residuals by hand, and correlating them. Below the code. I would really appreciate if you could point me in the right direction.

Thank you very much in advance,
Alfredo.

CODE:

bf.lnRR <- bf(lnRR_interaction | se(sqrt(lnRR_interaction_V)) ~ 1 + (1|p|Study) + (1|q|Index))
bf.lnVR <- bf(lnVR_interaction | se(sqrt(lnVR_interaction_V)) ~ 1 + (1|p|Study) + (1|q|Index))

bivariate.model.lnVR <- brm(bf.lnRR + bf.lnVR,
data = data.final,
family = gaussian(),
control = list(adapt_delta = 0.99, max_treedepth = 15),
chains = 2, cores = 2, iter = 26000, warmup = 13000)

summary(bivariate.model.lnVR) #rescor = 0.65

pred.lnRR <- predict(bivariate.model.lnVR, resp = “lnRRinteraction”)
pred.lnVR <- predict(bivariate.model.lnVR, resp = “lnVRinteraction”)

data.final <- read.table(“data_red.csv”,header=T,sep=",")

resids.lnRR <- data.final$lnRR_interaction - pred.lnRR
resids.lnVR <- data.final$lnVR_interaction - pred.lnVR

cor(resids.lnRR[,1],resids.lnVR[,1]) #cor = 0.56 , which is different from rescor (0.65).

You understand the meaning of rescor correctly.

However, there is no reasons why rescor, which is fitted as part of the model in a Bayesian framework and summarized via the posterior mean, should coincide exactly with the post-hoc correlation of the residuals based on maximum-likelihood estimation.

2 Likes