[R-meta] Adding random effect to SCE models
|@keyh@n|h@ @end|ng |rom gm@||@com
Wed Aug 4 18:34:13 CEST 2021
Thank you for your informative response. I also appreciate Jack Solomon's
helpful off-list comments (they may be helpful to other list members as
To pick up on your last point which was that leaving the SCE's original
random specification as is would imply that "true effect sizes at different
time points are *fully* correlated if they come from the same study and the
same category", one concern I have, as noted in my original email, is that
most of my studies have multiple treatment groups in them.
I realized that this issue has recently come up on the list (
My collaborators have only "for indexing purposes" distinguished between
treatment groups in each study (variable "grp").
The post linked in the previous paragraph says: "it may be more "realistic"
to assume that true effect sizes at different time points are correlated IF
they come from the same treatment group in each study; rather than simply
each study as a whole disregarding the groups."
I agree (and perhaps you do too?) with that statement. In the case of my
SCE model, my "time" random effect, then, has to change from: "~ time |
interaction(study, mod_cat)" to now: "~ time | interaction(study, grp,
mod_cat)". But as the follow-up answer (
also explains, this strategy will produce a perhaps non-interpretable
variance component for "grp".
So, I was wondering what your thoughts are on using this strategy (i.e.,
adding an indexing variable like "grp" in the random specification of
All the best,
On Tue, Aug 3, 2021 at 10:24 PM James Pustejovsky <jepusto using gmail.com> wrote:
> Hi Farzad,
> It's definitely possible to add further levels of random effects within
> each subgroup. (We didn't give examples of this in the paper due to space
> I think the specification that you wrote in your original email could work
> with variety of different structures for the second set of random effects.
> For instance, struct = "CS" would imply a simple random effect for each
> study-category combination, struct = "HCS" would allow differing variance
> by time-point, or struct = "AR" would allow for an auto-regressive
> structure per time-point. The one drawback of these specifications is that
> the variance of the random effects is assumed to be constant across
> moderator categories. That might or might not be reasonable--it's a
> question of empirical fit.
> Alternately, you could try something along the lines of
> random = list(~ mod_cat | study, ~ mod_cat | interaction(study,time)),
> struct = c("DIAG","DIAG")
> which will give you a time-point specific random effect with a unique
> variance component for every level of mod_cat.
> Alternately, you could just leave it as the SCE model. You wrote: "we want
> to encode the assumption that the true effect sizes at different time
> points are correlated if they come from the study and the same category."
> The regular SCE model (using random = ~ mod_cat | study, struct = "DIAG")
> already encodes that assumption. It implies that true effect sizes at
> different time points are *fully* correlated if they come from the same
> study and the same category, due to there being just one random effect per
> Kind Regards,
> On Wed, Jul 21, 2021 at 3:42 PM Farzad Keyhan <f.keyhaniha using gmail.com>
>> Dear James (and the List Member),
>> First of all, what a useful paper (congrats!). My colleagues and I want to
>> fit separate SCE models to a number of categorical moderators in our
>> longitudinal studies (data structure is below, note that multiple rows
>> the same time indicator are due to multiple treatment groups in each
>> not any additional outcome measures).
>> In your paper, although you talk about adding random effects per data
>> particulars, you seem to mainly mean that for your CHE model.
>> In our SCE models, we want to encode the assumption that the true effect
>> sizes at different time points are correlated if they come from the study
>> and the same category (*a bit unsure whether being from the same category
>> is quite needed*).
>> (1) Does this assumption make sense given the purpose of the SCE model
>> that you had in mind?
>> (2) If yes, what choices of "struct=" would make sense (to be empirically
>> ** mods = ~ mod_cat*time, random = list(~ mod_cat | study, ~ time |
>> interaction(study,mod_cat)), struct = c("DIAG","???") **
>> study mod_cat time
>> 1 1 0
>> 1 2 0
>> 1 1 1
>> 1 2 1
>> 2 1 0
>> 2 2 1
>> 3 1 0
>> [[alternative HTML version deleted]]
>> R-sig-meta-analysis mailing list
>> R-sig-meta-analysis using r-project.org
[[alternative HTML version deleted]]
More information about the R-sig-meta-analysis