[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