[R-meta] A potential addition to metafor random-effect structures
jepu@to @end|ng |rom gm@||@com
Sun Feb 5 23:14:20 CET 2023
Yes, dissertation-sized project for sure.
> On Feb 5, 2023, at 3:56 PM, Viechtbauer, Wolfgang (NP) via R-sig-meta-analysis <r-sig-meta-analysis using r-project.org> wrote:
> FA structures are available in proc mixed:
> This really does sound like a nice topic for a dissertation to me.
>> -----Original Message-----
>> From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On
>> Behalf Of James Pustejovsky via R-sig-meta-analysis
>> Sent: Sunday, 05 February, 2023 22:19
>> To: R Special Interest Group for Meta-Analysis
>> Cc: James Pustejovsky
>> Subject: Re: [R-meta] A potential addition to metafor random-effect structures
>> Interesting question, Reza. I've also wondered about using factor-analytic
>> vcov structures like this. I think they could be potentially quite useful.
>> As Reza noted, one application could be for multivariate meta-analysis
>> (multivariate in the strict sense
>> <https://www.jepusto.com/what-does-multivariate-mean/>), where each study
>> could in principle measure effect sizes on a set of p outcomes, but in
>> practice not every study reports all outcomes. With complete reporting for
>> a large number of studies, using unstructured random effects variances
>> works, but with missingness and/or a limited number of studies, struct =
>> "UN" can be hard to fit. In my experience, the solutions end up returning
>> correlations at the boundaries of the parameter space (e.g., r = 0.999 or r
>> = -0.999 for a bivariate random effects model, which is equivalent to a
>> one-factor model). For a p-dimensional structure, a d-dimensional factor
>> model has sum(p + 1 - 1:d) parameters. So these structures might be useful
>> just as an atheoretical model-building tool, which bridges between the
>> low-dimensional structures like CS (2 parameters) or HCS (p + 1 parameters)
>> and the totally unconstrained UN structure (p x (p + 1) / 2 parameters).
>> I could also see applications where such models have a meaningful
>> theoretical interpretation. For example, perhaps there are p outcomes,
>> which vary in their degree of sensitivity to intervention. Studies might
>> vary along a single latent factor of intervention potency, so strong
>> interventions have relatively large effect sizes for all outcomes, weak
>> interventions have relatively small effects for all outcomes. The random
>> effect for outcome j in study i might then be described by u_ij = L_j X
>> f_i, where f_i is the latent factor of intervention potency and L_j is the
>> sensitivity to intervention of outcome j. I could also imagine extending
>> this further to two or more factors---maybe intervention potency and
>> population risk level, with u_ij = L_1j X f_1j + L_2j x f_2j?
>>> On Sun, Feb 5, 2023 at 2:31 PM Reza Norouzian via R-sig-meta-analysis <
>>> r-sig-meta-analysis using r-project.org> wrote:
>>> Hi Wolfgang,
>>> Thank you for your interest. Yes, potentially we can lower G's rank but it
>>> may no longer be invertible.
>>> I haven't looked at the guts of glmmTMB but obviously they use TMB in the
>>> back end for higher speed for larger models.
>>> The other thing about rr() in glmmTMB is that my quick search didn't return
>>> any simulation studies testing how approximate this approximation can be,
>>> especially given that in practice *d* is pretty much determined by
>>> consulting the information-criteria-type model fit indices.
>>> But overall, there is some potential for this modification to help users
>>> test multivariate-multilevel models currently difficult or nearly
>>> impossible to fit.
>>> I've not been lucky enough to come across a large number of such datasets,
>>> but in the few cases where this was the case, I had to drop a few of the
>>> assumptions I had in mind which eventually led me to finding about the
>>> rank-reduced structure recently added to the glmmTMB package.
>>> I may also be looking to see if I can have such models actually fit using
>>> glmmTMB, if it allows flexibility in its `dispformula=` and `control=`
>>> Kind regards,
>>> On Sun, Feb 5, 2023, 7:29 AM Viechtbauer, Wolfgang (NP) via
>>> R-sig-meta-analysis <r-sig-meta-analysis using r-project.org> wrote:
>>>> I have been doing a bit more thinking about this (can't help myself).
>>>> One might consider using one of the various decompositions (e.g., SVD) to
>>>> accomplish this. In fact:
>>>> Something even simpler might be to use the Cholesky decomposition, that
>>>> is, if G is a p*p symmetric positive-definite var-cov matrix, then
>>>> t(chol(G)) %*% chol(G) == G. So, we could use t(chol(G[1:r,])) %*%
>>>> chol(G[1:r,]) as a lower rank approximation to G, with r < p. In fact,
>>>> struct="UN", rma.mv() uses the Cholesky decomposition anyway for
>>>> that G is positive-definite. So it might be possible to implement this
>>>> without too much difficulty. Problems might creep in though since
>>>> t(chol(G[1:r,])) %*% chol(G[1:r,]) is no longer invertible (since it is
>>>> construction no longer of full rank), so one might need to use a
>>>> generalized inverse, but whether this is actually an issue or not depends
>>>> on whether one needs that inverse.
> R-sig-meta-analysis mailing list @ R-sig-meta-analysis using r-project.org
> To manage your subscription to this mailing list, go to:
More information about the R-sig-meta-analysis