[R-sig-ME] MCMCglmm variance query
Thomas Houslay
thomas.houslay at stir.ac.uk
Fri Jun 15 17:32:02 CEST 2012
Dear all,
I am using MCMCglmm to investigate genotype x environment interactions. I have a number of genetic lines, and two environments of interest; several individuals from each line were assigned to a single environment, and various characters were measured.
At the very simplest level, I just want to estimate the genetic correlation of a single character expressed in two different environments. The character I am using to get things going ('PE') fits a normal distribution, but I also have measurements which will require poisson / ZIpoisson once I’m a little more confident. I feel like this should be very straightforward, but I'm still having some problems.
I have used the ‘us’ variance function for the random effect of Line because I want to measure the covariance between measurements in L and H environments for each Line; ‘idh’ is used for the rcov term because no individual is measured in both environments. Envt has two levels, 'L' and 'H'.
Here is my original model, with one of the various priors I tried using:
prior.3 <- list(R=list(V=diag(2),nu=0.002), G=list(G1=list(V=diag(2)*0.02,nu=3)))
model.1 <- MCMCglmm(PE~Envt-1, random=~us(Envt):Line, rcov=~idh(Envt):units, data=mydata, prior=prior.3, nitt=3550000, thin=500, burnin=50000, verbose=FALSE)
> summary(model.1)
Iterations = 50001:3549501
Thinning interval = 500
Sample size = 7000
DIC: 1294.103
G-structure: ~us(Envt):Line
post.mean l-95% CI u-95% CI eff.samp
H:H.Line 1.823 0.004461 8.528 7000
L:H.Line 1.687 -2.169747 11.880 7000
H:L.Line 1.687 -2.169747 11.880 7000
L:L.Line 2.738 0.003271 15.105 7000
R-structure: ~idh(Envt):units
post.mean l-95% CI u-95% CI eff.samp
H.units 320.9 221.2 433.1 7000
L.units 288.4 201.9 383.3 7000
Location effects: PE ~ Envt - 1
post.mean l-95% CI u-95% CI eff.samp pMCMC
EnvtH 47.02 42.74 51.36 7000 <1e-04 ***
EnvtL 46.59 42.52 50.50 7000 <1e-04 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> posterior.mode(model.1$VCV)
H:H.Line L:H.Line H:L.Line L:L.Line H.units L.units
-2.640172e-04 1.785168e-01 1.785168e-01 -1.828135e-03 3.201142e+02 2.699961e+02
I think that this indicates that the variances are getting stuck at values close to zero...? I received similar results from all of the different priors which I used.
Assuming this to be the case, I used the ever-excellent course notes and moved on to try parameter-expanded priors. I have tried various different forms (a couple of which I have given below), all of which give me similar results to that shown below:
## Parameter-expanded priors ##
## inverse-gamma prior for the variances with shape=scale=0.001
prior.parex.4 <- list(R=list(V=diag(2),nu=1.002), G=list(G1=list(V=diag(2),nu=2,alpha.mu=c(0,0),alpha.V=diag(2)*1000)))
## flat for the correlation from -1 to 1
prior.parex.5 <- list(R=list(V=diag(2)*1e-6, nu=3), G=list(G1=list(V=diag(2),nu=2,alpha.mu=c(0,0),alpha.V=diag(2)*1000)))
## Model using prior.parex.5
model.px <- MCMCglmm(PE~Envt-1, random=~us(Envt):Line, rcov=~idh(Envt):units, data=mydata, prior=prior.parex.5, nitt=5050000, thin=500, burnin=5000, verbose=FALSE)
> summary(model.px)
Iterations = 50001:5049501
Thinning interval = 500
Sample size = 10000
DIC: 1285.159
G-structure: ~us(Envt):Line
post.mean l-95% CI u-95% CI eff.samp
H:H.Line 56.43 1.114e-06 182.4 10000
L:H.Line 26.43 -3.325e+01 108.0 10000
H:L.Line 26.43 -3.325e+01 108.0 10000
L:L.Line 88.10 1.459e-04 237.7 9586
R-structure: ~idh(Envt):units
post.mean l-95% CI u-95% CI eff.samp
H.units 286.2 192.0 386.2 10000
L.units 237.3 164.1 316.9 11141
Location effects: PE ~ Envt - 1
post.mean l-95% CI u-95% CI eff.samp pMCMC
EnvtH 46.33 39.91 52.92 9222 <1e-04 ***
EnvtL 44.15 36.73 51.31 10000 <1e-04 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
The means of the variance components look more reasonable from the summary than they did in previous models, but the posterior modes seem a bit strange:
> posterior.mode(model.px$VCV)
H:H.Line L:H.Line H:L.Line L:L.Line H.units L.units
0.9244938 1.4572214 1.4572214 31.2085852 257.8094014 239.5498357
This is also having a large effect on calculating heritability of the character in each environment, as L heritability is around 100 times that of H.
I feel as if the parameter-expanded terms are headed more in the right direction, but I don't really know where to go next, and maybe there’s something obvious I’m missing here. If anyone has any ideas, I’d be extremely grateful!
If there is anything else I should include in order to get some help then please let me know...
Thanks,
Tom
--
The University of Stirling is ranked in the top 50 in the world in The Times Higher Education 100 Under 50 table, which ranks the world's best 100 universities under 50 years old.
The University of Stirling is a charity registered in Scotland,
number SC 011159.
More information about the R-sig-mixed-models
mailing list