[R-meta] Co-variances of the random structure

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Mon Mar 2 13:44:36 CET 2020


Dear Gil,

I don't know what 'yi' represents in your case, but let's say you are simply analyzing means. And let's say 'vi' is the vector with the sampling variances of these means. You cannot simply analyze sqrt(yi) while keeping vi unchanged. The sampling variance of a square-root transformed mean is different from the sampling variance of a mean, so the variances need to be adjusted appropriately. For the square-root transformation, the adjusted (estimate of the) sampling variance is vi / (4 * yi) (where yi = mean) based on the delta method.

Similarly, you cannot simply reverse-transform the variance-covariance matrix of the random effects or some linear combination thereof. And no, 'G' and 'H' are still variance-covariance matrices, regardless of what kind of transformation you apply to 'yi' - they are just variance-covariance matrices for outcomes that are in some kind of transformed units.

I haven't thought this all the way through, but I think one could get an estimate of the variance in the back-transformed units again by applying the delta method, so if varTREATMENTresponse is the variance for your sqrt-transformed outcome, then varTREATMENTresponse * 4 * meanTREATMENTresponse would be the variance for the untransformed outcome, but to compute this, you need an estimate of 'meanTREATMENTresponse' (based on the sqrt-transformed outcome), so this isn't invariant to the mean level.

Best,
Wolfgang

-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On Behalf Of Gram, Gil (IITA)
Sent: Friday, 28 February, 2020 17:00
To: r-sig-meta-analysis using r-project.org
Subject: Re: [R-meta] Co-variances of the random structure

Dear Wolfgang,

Thanks for your response. Yes that is what I meant. This brings me to my second question:

As you can see in my model design, I sqrt transformed my data so I am modeling sqrt(yi). I should therefore back-transform yield estimates with ^2. But at what point do I back-transform the variances when I’m interested in computing variance responses with:
varTREATMENTresponse = varTREATMENT + varControl - 2*covar(TREATMENT, Control)

The matrices MOD$G and MOD$H are thus the var-cov matrices of a sqrt transformed data, and are in fact standard deviations, right? So 
- do I first back-transform the SDs into VAR by (MOD$G)^2 and (MOD$H)^2, and then use the above formula?
or
- do I first use the above formula and then back-transform the resulting VAR response by (varTREATMENTresponse)^2?
or
- is there a way to adapt the above formula for SDs?

Thanks for your help,
Gil

> On 18 Feb 2020, at 13:00, Viechtbauer, Wolfgang (SP) <wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
> 
> Hi Gil,
> 
> Not sure if I understand.
> 
> MOD$G and MOD$H contain the var-cov matrices for the ~ treatment|idSite and ~ treatment|idSite.time random effects.
> 
> Or are you looking for var-cov matrices of the variance components (and covariances) themselves?
> 
> Best,
> Wolfgang
> 
> -----Original Message-----
> From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On Behalf Of Gram, Gil (IITA)
> Sent: Tuesday, 18 February, 2020 12:13
> To: r-sig-meta-analysis using r-project.org
> Subject: [R-meta] Co-variances of the random structure
> 
> Dear all,
> 
> I have the following question: is it possible to extract the covariances from random variance components of a rma.mv model? For example, from my model below this email.
> 
> Thanks in advance you for your help,
> 
> Gil
> 
> ---
> 
> My model design:
> 
> MOD = rma.mv(sqrt(yi), vi, method = 'REML', struct="HCS", sparse=TRUE, data=dat,
>                              mods = ~ rateORone + rateORtwo + rateORthree + rateORManure + kgMN
>                              + I(rateORone^2) + I(rateORtwo^2) + I(rateORthree^2) + I(rateORManure^2) + I(kgMN^2)
>                              + rateORone:kgMN + rateORtwo:kgMN + rateORthree:kgMN + rateORManure:kgMN
>                              + I(rateORone^2):I(kgMN^2) + I(rateORtwo^2):I(kgMN^2) + I(rateORthree^2):I(kgMN^2) + I(rateORManure^2):I(kgMN^2)
>                              + cropSys + idF,
>                              random = list(~1|ref, ~1|idRow, ~ treatment|idSite, ~ treatment|idSite.time))
> 
> Where ‘treatment’ in the random structure has 4 levels, Control, OR, MR and ORMR. 
> I wish to evaluate the variances of the responses of the 3 last levels with the first. For instance with OR: Var_response = Var_OR + Var_control – 2 * Cov_OR:control.
> 
> My model output yields the following:
> 
> Multivariate Meta-Analysis Model (k = 2695; method: REML)
> 
> Variance Components:
> 
>           estim    sqrt  nlvls  fixed  factor 
> sigma^2.1  0.0513  0.2264     34     no     ref 
> sigma^2.2  0.0139  0.1178   2625     no   idRow 
> 
> outer factor: idSite    (nlvls = 62)
> inner factor: treatment (nlvls = 4)
> 
>           estim    sqrt  k.lvl  fixed    level 
> tau^2.1    0.1683  0.4103    255     no  Control 
> tau^2.2    0.1403  0.3745    324     no       MR 
> tau^2.3    0.1305  0.3612    993     no       OR 
> tau^2.4    0.1094  0.3308   1123     no     ORMR 
> rho        0.8343                    no          
> 
> outer factor: idSite.time (nlvls = 230)
> inner factor: treatment   (nlvls = 4)
> 
>             estim    sqrt  k.lvl  fixed    level 
> gamma^2.1    0.1061  0.3258    255     no  Control 
> gamma^2.2    0.1272  0.3566    324     no       MR 
> gamma^2.3    0.1052  0.3243    993     no       OR 
> gamma^2.4    0.1344  0.3666   1123     no     ORMR 
> phi          0.9229                    no          
> 
> Test for Residual Heterogeneity:
> QE(df = 2673) = 115058.0204, p-val < .0001
> 
> Test of Moderators (coefficients 2:22):
> QM(df = 21) = 754.8078, p-val < .0001


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