[R-sig-ME] MCMCglmm rcov term
Jarrod Hadfield
j.hadfield at ed.ac.uk
Sun Aug 14 10:52:30 CEST 2011
Hi Fiona,
us(trait):units in the rcov term is fitting a 3x3 covariance matrix
for the residuals of the three PC scores. It makes sense that the
covariances are close to zero and the variances get smaller given they
are PC scores, but this doe not have to be the case because the PC's
are defined at the level of the raw data rather than the residuals.
The term us(trait):units:isoline is equivalent because each unit (row
of the data frame) belongs to a single isoline so there is a on to one
mapping between units and units:isoline.
The remaining parts of the model (fixed and random) are at the moment
a little odd, because you don't form interactions between trait and
other terms. This means that the effect of food and temperature in
the fixed effects are constrained to be the same across the three
PCs. The isoline effects within a treatment/temperature are assumed
to be equivalent across the three PC's (i.e. the correlations between
isoline effects within a treatment/temperature on the three PC's are
assumed to be 1 - they are probably closer to zero given they're
PC's, and they are assumed to have the same variance). They are are
allowed to differ across food/temperature treatments although the
assumption is that the correlation between isoline effects on PC1 (for
example) in different treatments is zero (I would expect it to be
positive, but perhaps not 1).
When forming interactions with random effects I always try and
determine what this means in terms of covariance matrices - its
easier this way. Table 3.1 (p 70) of the CourseNotes and Chapter 5 on
multi-response models may be helpful. With 60 isoline effects you need
to be cautious about over-fitting/prior sensitivity with parameter-
rich multi-response models.
Cheers,
Jarrod
On 2 Aug 2011, at 17:39, Ingleby, Fiona wrote:
> Dear all,
>
> I am using the MCMCglmm package to form a model with a multivariate
> response (three principal components), two fixed effects
> (temperature and food with two factor levels each), and isoline (or
> genotype, with 60 factor levels) as a random effect. I'm also
> interested in the interaction between isoline and both food and
> temperature, and have therefore included these interactions in the
> random effects. My prior and model therefore look like this:
>
> prior<-list(R=list(V=diag(3),nu=2),G=list(G1=list(V=1,nu=0.02),
> G2=list(V=1,nu=0.02),G3=list(V=1,nu=0.02),G4=list(V=1,nu=0.02)))
>
> model<-MCMCglmm(cbind(PC1,PC2,PC3)~trait+Temperature*Food-1,
> random=~Temperature:Isoline+Food:Isoline+Isoline
> +Isoline:Food:Temperature,rcov=~us(trait):units,
> prior=prior,data=data,family=rep("gaussian",3),verbose=F)
>
> My problem is that I am struggling to understand the use and
> interpretation of the 'rcov' term. I think I understand that as I
> have written it in the above model, I have defined a unique residual
> for each of the PCs (trait) for each individual (unit)?
>
> When I call summary(model), I get this output table relating to the
> rcov term:
>
> R-structure: ~us(trait):units
>
> post.mean l-95% CI u-95% CI eff.samp
> PC1:PC1.units 10.67864 10.0780 11.2944 1000.0
> PC2:PC1.units 0.10204 -0.1432 0.3343 1000.0
> PC3:PC1.units 0.01738 -0.1224 0.1665 1000.0
> PC1:PC2.units 0.10204 -0.1432 0.3343 1000.0
> PC2:PC2.units 3.18642 3.0058 3.3625 1000.0
> PC3:PC2.units -0.83016 -0.9082 -0.7585 727.5
> PC1:PC3.units 0.01738 -0.1224 0.1665 1000.0
> PC2:PC3.units -0.83016 -0.9082 -0.7585 727.5
> PC3:PC3.units 1.06151 1.0092 1.1272 1000.0
>
> I'm not quite sure what this means. It seems to be that there is a
> lot of variance in PC1, slightly less in PC2, and slightly less
> again in PC3, and very low covariance between different PCs. These
> values are similar to the individual-level phenotypic covariance
> matrix that I can get directly from my data using the cov(data) R
> command. Given my current understanding of the rcov term, it makes
> sense that these are similar, but since I'm not sure about how I'm
> using the rcov term in this model, I can't be sure of my
> interpretation either. Can anyone clarify this for me? I also
> thought that, IF the covariance between my PCs is nearly 0, should I
> use the 'idh' matrix instead of an unstructured one? Additionally, I
> am more interested in covariance between my PCs at the genotype
> level rather than the individual level, and so I tried to see if I
> could look at this by using a slightly different rcov term in my
> model:
>
> rcov=~us(trait):units:Isoline
>
> I guess I was trying to group the individuals by isoline, but
> whatever this command actually does, the resulting output table is
> almost identical to that from the previous model, and so I don't
> think I achieved what I meant to. I would really appreciate it if
> anyone has any idea how to do this correctly, or if anyone could
> explain what I have done here and why the two models might give near-
> identical output.
>
> I would be really grateful for any help.
>
> Thanks,
>
> Fiona
>
> ...............................................................................................................
> Fiona C Ingleby
>
> http://biosciences.exeter.ac.uk/cec/staff/postgradresearch/fionaingleby/
>
> Centre for Ecology and Conservation
> University of Exeter, Tremough Campus
> Cornwall
> TR10 9EZ
>
> Tel: 01326 371852
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
More information about the R-sig-mixed-models
mailing list