Wednesday, May 4, 2016

Variance components with high numbers

I have this large data set in which I want to estimate heritability. These are the features for the trait:

nmiss   avg         min       max         var      
------------------------------------------------------------------------------

1703515 0 1772.570604    100.470000 7783.789000 524507.442442

So, the variance for the trait is very high. Blupf90 runs nicely. However, both airemlf90 and gibbs2f90 variance component programs in the suite gave me some trouble if I used. The reason is that the programs contain some "tolerance" parameter in the inverses of the updated variance components, and this seems to set some of the numbers to 0.

For instance, if divide the value of the performance by 10, I get this:


 * Start Gibbs iteration04-29-2016  16h 26m 59s 482
 round            1
 G
   768.75    
 G
   157.18    
 R
   0.0000    

 round            2

The reason for this is the scale and the large number of data. The sum of squares of the residual is
 ee=  0.16456E+10

when this is sent to the subroutine, its inverse is lower than 10^-9 and set to 0.

I finally standardized MY to a variance of 1. I put initial variances to $latex \sigma^2_g=\sigma^2_p=\sigma^2_e=1 $latex. After 1000 iterations of Gibbs, I get:

* End of iteration04-29-2016  12h 09m 52s 514
 ave G
  0.11236    
 SD G
  0.31784E-01
 ave G
  0.14050    
 SD G
  0.13210E-01
 ave R
  0.25338    
 SD R

  0.58904E-02

In this case I obtain correct estimates ($latex h^2 =0.22 $latex, repeatability of 0.5).

No comments:

Post a Comment