[R-meta] Difference between univariate and multivariate parameterization

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Wed Aug 18 22:01:10 CEST 2021


It is also possible to formulate a model where sigma^2_within is *not* added for 'single sample/estimate studies'. Let's consider this example:

library(metafor)

dat <- dat.crede2010
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat, subset=criterion=="grade")

table(dat$studyid) # most studies are single sample studies

# multilevel model
res1 <- rma.mv(yi, vi, random = ~ 1 | studyid/sampleid, data=dat)
res1

# multivariate parameterization
res2 <- rma.mv(yi, vi, random = ~ factor(sampleid) | studyid, data=dat)
res2

# as a reminder, the multilevel model is identical to this formulation
dat$sampleinstudy <- paste0(dat$studyid, ".", dat$sampleid)
res3 <- rma.mv(yi, vi, random = list(~ 1 | studyid, ~ 1 | sampleinstudy), data=dat)
res3

# logical to indicate for each study whether it is a multi sample study
dat$multsample <- ave(dat$studyid, dat$studyid, FUN=length) > 1

# fit model that allows for a different sigma^2_within for single vs multi sample studies
res4 <- rma.mv(yi, vi, random = list(~ 1 | studyid, ~ multsample | sampleinstudy), struct="DIAG", data=dat)
res4

# fit model that forces sigma^2_within = 0 for single sample studies
res5 <- rma.mv(yi, vi, random = list(~ 1 | studyid, ~ multsample | sampleinstudy), struct="DIAG", tau2=c(0,NA), data=dat)
res5

So this is all possible if you like.

Best,
Wolfgang

>-----Original Message-----
>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On
>Behalf Of Farzad Keyhan
>Sent: Wednesday, 18 August, 2021 21:32
>To: Luke Martinez
>Cc: R meta
>Subject: Re: [R-meta] Difference between univariate and multivariate
>parameterization
>
>Dear Luke,
>
>In the multivariate specification (model 2), tau^2 = sigma^2_between  +
>sigma^2_within. You can confirm that by your two models' output as well.
>Also, because rho = sigma^2_between / (sigma^2_between  +  sigma^2_within),
>then, the off-diagonal elements of the matrix can be shown to be rho*tau^2
>which again is equivalent to sigma^2_between in model 1's matrix.
>
>Note that sampling errors in a two-estimate study could be different hence
>appropriate subscripts will be needed to distinguish between them.
>
>Finally, note that even a study with a single effect size estimate gets the
>sigma^2_within, either directly (model 1) or indirectly (model 2) which
>would mean that, that one-estimate study **could** have had more estimates
>but it just so happens that it doesn't as a result of some form of
>multi-stage sampling; first studies, and then effect sizes from within
>those studies.
>
>I actually raised this last point a while back on the list (
>https://stat.ethz.ch/pipermail/r-sig-meta-analysis/2021-July/002994.html)
>as I found this framework a potentially unrealistic but in the end, it's
>the best approach we have.
>
>Cheers,
>Fred
>
>On Wed, Aug 18, 2021 at 1:30 PM Luke Martinez <martinezlukerm using gmail.com>
>wrote:
>
>> Dear Colleagues,
>>
>> Imagine I have two models.
>>
>> Model 1:
>>
>> random = ~1 | study / row_id
>>
>> Model 2:
>>
>> random = ~ row_id | study,  struct = "CS"
>>
>> I understand that the diagonal elements of the variance-covariance matrix
>> of a study with two effect size estimates for each model will be:
>>
>> Model 1:
>>
>> VAR(y_ij) = sigma^2_between  +  sigma^2_within + e_ij
>>
>> Model 2:
>>
>> VAR(y_ij) = tau^2 + e_ij
>>
>> Question: In model 2's variance-covariance matrix, what fills the role of
>> sigma^2_within (within-study heterogeneity) that exists in model 1's
>> matrix?
>>
>> Thank you very much for your assistance,
>> Luke Martinez



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