[R-meta] multivariate fixed-effect meta-analysis

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Wed Nov 24 18:55:07 CET 2021


That's assuming a HCS structure for the sampling errors (i.e., with a single correlation parameter). A V matrix can be more general and I don't think, as Luke asked, that this can be done with gls() or lme(), at least not with the available structures. But one might be able to create a new corStruct class that does this. For example, the 'ape' package provides new correlation structures for 'nlme' for various phylogenetic correlation models. At one point, I tried to do something along those lines for a general V matrix structure, but didn't succeed. In fact, at one point, I tried to fully understand how 'nlme' works, but Pinheiro and Bates are on an entirely different level that makes my code look like a Neanderthal smashing his head into the keyboard (but at least this approach got us rma.mv() which can handle arbitrary V matrices).

As for estimating some correlation component that parameterizes V -- I have played around with this idea in the more general case of a multivariate model with additional random effects. It's possible, but often one of the correlations (either the one in V or that of the random effects) drifts towards -1 or +1. Maybe without additional random effects this works more stably.

Best,
Wolfgang

>-----Original Message-----
>From: James Pustejovsky [mailto:jepusto using gmail.com]
>Sent: Wednesday, 24 November, 2021 18:15
>To: Luke Martinez
>Cc: Viechtbauer, Wolfgang (SP); R meta
>Subject: Re: [R-meta] multivariate fixed-effect meta-analysis
>
>Actually, I think you could fit a model with gls that does include
>correlated sampling errors:
>
>gls(yi ~ 0 + outcome,
>     weights = varFixed(~ vi),
>     correlation = corCompSymm(rho, ~ 1 | studyID, fixed = TRUE),
>     control = glsControl(sigma = 1),
>     data = data)
>
>I've always wondered about whether it would make sense to fit a model
>like this but allowing the sampling correlation to be estimated rather
>than fixed.
>
>James
>
>On Wed, Nov 24, 2021 at 11:07 AM Luke Martinez <martinezlukerm using gmail.com> wrote:
>>
>> Hi James,
>>
>> Yes exactly. However, obviously one can't replicate a meta-regression
>> model like:
>>
>> rma.mv(yi ~ 0 + outcome, V = V_matrix, data = data)
>>
>> using nlme::gls() like:
>>
>> gls(yi~0 + outcome, weights = varFixed(~ vi), control=
>> glsControl(sigma = 1), data = data)
>>
>> Because gls (and lme) doesn't allow a var-covariance matrix via their
>> `correlation=` argument (?).
>>
>> That said, the following exactly match:
>>
>> rma.mv(yi ~ 0 + outcome, V = vi, data = data)
>>
>> gls(yi~0 + outcome, weights = varFixed(~ vi), control=
>> glsControl(sigma = 1), data = data)
>>
>> Luke
>>
>>
>> On Wed, Nov 24, 2021 at 10:47 AM James Pustejovsky <jepusto using gmail.com> wrote:
>> >
>> > The term "multivariate" is used in several different ways in the
>> > meta-analysis (and mixed-effects models) literature. The metafor
>> > documentation usually uses it in the broadest sense of a model with
>> > more than one effect size estimate per independent sample. I think
>> > Luke was referring to the stricter sense of a model for a set of
>> > multi-variate effect size estimates (where each study contributes at
>> > most one effect size estimate to each of several distinct categories).
>> >
>> > More on disambiguation here:
>> > https://www.jepusto.com/what-does-multivariate-mean/
>> >
>> > On Wed, Nov 24, 2021 at 7:45 AM Viechtbauer, Wolfgang (SP)
>> > <wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
>> > >
>> > > >-----Original Message-----
>> > > >From: Luke Martinez [mailto:martinezlukerm using gmail.com]
>> > > >Sent: Tuesday, 23 November, 2021 20:38
>> > > >To: Viechtbauer, Wolfgang (SP)
>> > > >Cc: Filippo Gambarota; R meta
>> > > >Subject: Re: [R-meta] multivariate fixed-effect meta-analysis
>> > > >
>> > > >Dear Wolfgang,
>> > > >
>> > > >Strictly, the model is fixed-effects multivariate (i.e., MANOVA type)
>> > > >if Filippo has one effect size per outcome, right?
>> > >
>> > > I don't know what you mean by that. If you only specify V and no random
>effects, one could call it a multivariate fixed-effects model, just like used for
>example in this chapter:
>> > >
>> > > https://www.metafor-project.org/doku.php/analyses:gleser2009
>> > >
>> > > Whether one has one effect size per outcome or 20 is not relevant as long
>as V captures the covariance between the sampling errors of the estimates.
>> > >
>> > > >I mean to the extent that this is not the case, then will this model
>> > > >diverge from a fixed-effect multivariate model and become more like
>> > > >marginal models (i.e., nlme::gls() type)?
>> > >
>> > > Again, I can't follow your reasoning here.
>> > >
>> > > >Thanks,
>> > > >Luke
>> > > >
>> > > >On Tue, Nov 23, 2021 at 1:22 PM Viechtbauer, Wolfgang (SP)
>> > > ><wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
>> > > >>
>> > > >> With method="FE", 'random' is also ignored. You will see in the output
>that it
>> > > >says "Variance Components: none".
>> > > >>
>> > > >> If 'cov_mat' captures the sampling error covariances, then this could be
>argued
>> > > >to be a fixed-effects version of a multivariate model.
>> > > >>
>> > > >> Best,
>> > > >> Wolfgang
>> > > >>
>> > > >> >-----Original Message-----
>> > > >> >From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-
>project.org]
>> > > >On
>> > > >> >Behalf Of Filippo Gambarota
>> > > >> >Sent: Tuesday, 23 November, 2021 20:07
>> > > >> >To: R meta
>> > > >> >Subject: [R-meta] multivariate fixed-effect meta-analysis
>> > > >> >
>> > > >> >Hi!
>> > > >> >I'm performing a multivariate meta-analysis with metafor, however I'm
>> > > >> >not sure how to obtain the fixed-effect version. Given that I have not
>> > > >> >enough data I'm not interested in estimating tau for each outcome and
>> > > >> >the correlation among outcomes but only taking into account the
>> > > >> >sampling error dependence. I'm using this function:
>> > > >> >```
>> > > >> >rma.mv(
>> > > >> >    yi = eff_size,
>> > > >> >    V = cov_mat,
>> > > >> >    mods = ~ 0 + outcome,
>> > > >> >    struct = "UN",
>> > > >> >    random = ~ outcome|paper_id,
>> > > >> >    method = "FE",
>> > > >> >    data = data)
>> > > >> >```
>> > > >> >Of course, the struct argument is no more relevant (as the warning
>> > > >> >message said) but I'm wondering if the result is what I'm looking for
>> > > >> >because from the rma.mv documentation the method = "FE" is not
>> > > >> >mentioned combined with a multivariate parametrization.
>> > > >> >Thank you!
>> > > >> >
>> > > >> >--
>> > > >> >Filippo Gambarota
>> > > >> >PhD Student - University of Padova
>> > > >> >Department of Developmental and Social Psychology
>> > > >> >Website: filippogambarota.netlify.app
>> > > >> >Research Group: Colab   Psicostat
>> > > _______________________________________________
>> > > R-sig-meta-analysis mailing list
>> > > R-sig-meta-analysis using r-project.org
>> > > https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis


More information about the R-sig-meta-analysis mailing list