[R-meta] equivalence of weighted regression and MA in the context of complex models
James Pustejovsky
jepu@to @end|ng |rom gm@||@com
Tue Apr 4 04:06:14 CEST 2023
Hi Yefeng,
Comments inline below.
James
On Mon, Apr 3, 2023 at 8:27 PM Yefeng Yang via R-sig-meta-analysis <
r-sig-meta-analysis using r-project.org> wrote:
> Hi all,
>
> I am working on one paper, in which I want to show the equivalence of
> weighted regression and random-effects meta-analysis in the context of the
> multilevel model. Basically, it is an extension of Wolfgang's bloghttp://
> www.metafor-project.org/doku.php/tips:rma_vs_lm_lme_lmer
>
> The intercept-only model works very well. We can get the same model
> coefficients (estimated fixed effect or intercept beta0) from the two
> models:
> dat <- dat.konstantopoulos2011
> # meta-analysis
> res.ml <- rma.mv(yi, vi, random = list(~1|district, ~1|study), test =
> "t", data=dat)
> res.ml.lm <- lm(yi ~ 1, weights = rowSums(solve(vcov(res.ml,
> type="obs"))), dat = dat)
> coef(summary(res.ml))
> coef(summary(res.ml.lm))
>
> If I do a post-hoc adjustment to the SE(beta0) of res.ml, we can get the
> same SE from res.ml.lm:
> coef(summary(res.ml.lm))[2]/summary(res.ml.lm)$sigma
>
> However, when I was working on meta-regression, it did not work. see the
> below syntax:
> # regression with vi as a predictor
> res.mr <- rma.mv(yi, vi, random = list(~1|district, ~1|study), mods = ~
> vi, test = "t", data=dat)
> res.ml.lm <- lm(yi ~ vi, weights = rowSums(solve(vcov(res.ml,
> type="obs"))), dat = dat)
> coef(summary(res.mr))
> coef(summary(res.mr.lm))
>
> This is a key illustration of my working paper. Hopefully, I can get some
> help from here, especially from Wolfgang.
It is not possible to represent this model as a weighted linear regression
within the scope of lm(). The rma.mv() estimator uses generalized least
squares with block-diagonal weight matrices and it is not generally
possible to translate those block-diagonal weights into diagonal weights
except under some pretty specific, restrictive circumstances (such as when
the mods vary only at the highest level of the model).
> Also, I would be grateful if someone would like to provide the formula to
> estimate model slopes for meta-regression in non-matrix notation. Summation
> notation is the best one - matrix notation is elsewhere.
>
>
Why? The matrix notation is extremely useful for this sort of thing,
whereas summation notation is cumbersome and awkward once you are working
with regression/meta-regression models (especially when estimated by
generalized least squares).
> Best,
> Yefeng Yang PhD
> UNSW Sydney
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-meta-analysis mailing list @ R-sig-meta-analysis using r-project.org
> To manage your subscription to this mailing list, go to:
> https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
>
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis
mailing list