MCMCglmm: Within- versus between-individual covariances
Jarrod, Thank you very much for getting back to me so promptly. I am curious about your suggestion of modelling this within the random component of the model. Assuming the same data structure as before but adding a fourth trait measured at the same time as "2" below, would I then add a column "test.block" with A's for 1&3 and B's for 2&4 and add the MCMCglmm equivalent of "+ (1|test.block)"? Sorry, I realize this is a pretty basic question but most of my mixed model experience has been restricted to fitting random intercepts to individuals along with the occasional intercept & slope model for individuals. The whole issue of priors, their implications, and their proper specification is something I'm still working through. In the priors for R the covariances for the non-identified parameters were indeed 0 so it seems like that may be the most straightforward way to deal with it in this case. Thanks a lot for your time. Ned -----Original Message----- From: Jarrod Hadfield [mailto:j.hadfield at ed.ac.uk] Sent: Sunday, September 05, 2010 9:53 AM To: Ned Dochtermann Cc: r-sig-mixed-models at r-project.org Subject: Re: [R-sig-ME] MCMCglmm: Within- versus between-individual covariances Hi Ned, Currently it is not possible to specify covariance matrices with arbitrary covariances set to zero. If you can reorder the terms so that the covariance matrix has a block structure (eg swap trait 2 and 3 in your example) then you can fit this is in the random terms. However, the residual term can only be specified by a single term so this is not possible. You can still run the model with a us structure of course, but as you are aware the posterior distribution for the non-identified covariances will simply be the prior distribution. Cheers, Jarrod Quoting Ned Dochtermann <ned.dochtermann at gmail.com>:
I tried to find an answer to this problem but either failed to select the proper search terms or this topic hasn't been discussed. I apologize if
the
former. I've also consulted the "class notes" for MCMCglmm but that hasn't clarified the issue for me. I am currently working on the analysis of some repeated measures
behavioural
data and am attempting to estimate variances and covariances among behaviours. Specifically we're looking to estimate the between-individual (co)variance matrix and I was using a multi-response model and the Poisson family in MCMCglmm to do so. I had thought that the posterior modes for the (co)variance matrix (i.e. posterior.modes(model$VCV)) was producing this on the latent scale, with
the
".ID" terms being the between individual (co)variances and the ".unit"
terms
being the within/residual indvidual (co)variances. This conclusion was
based
on Jarrod Hadfield's appendix to the recent animal model paper published
in
the Journal of Animal Ecology (2009). In the appendix discussing MCMCglmm for repeated measures, repeatability is calculated using the .ID variance
as
the between individual component and the .unit variance as the within individual component. The problem I've encountered is that due to the experimental design
certain
aspects of the within individual covariance matrix should not be estimatable, but estimates are nonetheless reported. This is, of course,
due
to my misspecification of the model. To use an example provided by a colleague, consider a situation where
three
distinct behaviours are measured and we're interested in their covariance. Due to aspects of the experimental manipulation all the behaviours cannot
be
measured on the same days. Thus the data might look something like: ID Day Behav1 Behav2 Behav3 1 1 4 NA 10 1 2 3 NA 15 1 3 NA 5 NA 1 4 NA 4 NA 2 1 2 NA 12 2 2 1 NA 18 2 3 NA 4 NA 2 4 NA 3 NA ... N 1 6 NA 8 N 2 5 NA 6 N 3 NA 8 NA N 4 NA 7 NA [[note, I know these fictitious data aren't necessarily Poisson
distributed
but the actual data are]] In this case between individual variances and covariances can be
calculated
among all three behaviours and within individual covariances should be calculated between Behav1 and Behav3 but not for Behav2 with either 1 or 3 due to separation. In attempting the initial analyses I specified the random statement using
an
unstructured matrix:
random=~us(trait):ID
(I'm pretty sure that's what I want and what produces the between
individual
covariance matrix) I also kept the residual covariance matrix as the default unstructured:
rcov=~us(trait):units
However, if the within-individual/residual covariances really shouldn't be calculated between Behav2 and the other two responses, rcov should
actually
look something like: v.B1 0 cov.B1*3 0 v.B2 0 cov.B1*3 0 v.B3 For this example "~us" is thus estimating two extra parameters that shouldn't be estimated (for the actual dataset these elements have credibility intervals overlapping 0). Clearly idh wouldn't be appropriate for this either but none of the
options
listed in Table 3.1 of the Class Notes for MCMCglmm seem correct. It also doesn't look like I can specify the matrix structure directly (which is
how
my colleague dealt with this concern using ASreml and which I know SAS allows for regular mixed models). Is there any advice on how best to deal with this issue? I'm at a loss. Thanks a lot, Ned Dochtermann -- Ned Dochtermann Department of Biology University of Nevada, Reno ned.dochtermann at gmail.com http://wolfweb.unr.edu/homepage/mpeacock/Dochter/ --
_______________________________________________ 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.