[R-sig-ME] multivariate MCMCglmm
Jarrod Hadfield
j.hadfield at ed.ac.uk
Sat Jun 4 21:23:01 CEST 2011
Hi,
For a 22-dimensional response you have 506 (co)variance parameters to
estimate for the random effects and the residuals. You would need a
massive data-set replicated at the right level to get precise
estimates. The prior is improper (it would need to have nu>21 to be
proper) so the posterior covariance matrix is able to become singular.
The probability of a singularity becomes very high when the
dimensionality of the covariance matrix is large and/or there is
little information in the data (see Hill & Thompson 1974 Biometrics).
Personally, I would try and focus on a lower-dimensional aspect of the
data as you had done initially, or try reduced-rank analyses as
implemented in programs such as WOMBAT and ASReml
Cheers,
Jarrod
Quoting "Ingleby, Fiona" <fci201 at exeter.ac.uk> on Fri, 3 Jun 2011
19:58:26 +0100:
> Dear All,
>
> A beginner's question, I'm afraid. I'm trying to fit a multivariate
> mixed model using the MCMCglmm function. I have a 22-dimensional
> response variable which is reduced to 3 dimensions after carrying
> out a suitable principal components analysis. I fitted the following
> prior:
>
> prior<-list(R=list(V=diag(3)/2,nu=0.05),G=list(G1=list(V=diag(3)/2,nu=0.05)))
>
> for the model:
>
> model<-MCMCglmm(cbind(pc1,pc2,pc3)~X*Y+Z,random=~us(trait):X,rcov=~us(trait):units,prior=prior,family=c("gaussian","gaussian","gaussian"),data=data,nitt=18000,burnin=3000,verbose=F)
>
> The model ran with no problems and I was happy that I understood the results.
>
> However, I was recently advised that by carrying out my analysis
> using 3 PCs which explain ~75% of the variation, I could have lost
> some important variation and should therefore try the model with all
> 22 original response variables. So I fitted the same model, but with
> a 22-dimensional response, and also adjusted the 'family' command to
> suit my response matrix. Then I adjusted the prior as follows:
>
> prior<-list(R=list(V=diag(22)/2,nu=0.05),G=list(G1=list(V=diag(22)/2,nu=0.05)))
>
> and I get an error message saying I have an 'ill-conditioned G/R structure'.
>
> My question is two-fold: firstly, can anyone offer guidance as to
> where I'm going wrong with the 22-dimensional dataset analysis; and
> secondly, if (as I fear) the reason my second model isn't working is
> because I have fundamentally misunderstood some aspect of prior
> distribution specification for multivariate models in general, then
> is my prior for the first model actually a suitable one?
>
> I would greatly appreciate any guidance offered, and apologies if I
> have missed something really obvious, I'm new to this type of
> analysis.
>
> Many thanks,
>
> Fiona
> _______________________________________________
> 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