Re: bivariate random regression

From: damianCollins <asremlforum_at_VSNI.CO.UK>
Date: Fri, 5 Feb 2010 23:25:12 +0000

Dear Chevrotierre,

To re-iterate Rohullah's response (which was put on the asreml-l list, but unfortunately appears to be have become somewhat garbled on the forum), I include suggested code for the univariate and multivariate cases, with some comments on each line to assist you.

For more information, please refer to Chapter 7 (Specifying the variance structures) of the asreml manual, p117 (143), and section 8.3 (Variance structures for multivariate data), p 160 (186).

For the univariate case, the code should be:

weight~mu leg(age,1).band*sex !r leg(age,1).anim leg(age,1).ide(animam)
0 0 2 # header line for R structures and G structures: '0 0' indicates the errors are IID with a variance to be estimated and '2' indicates 2 G structures

leg(age,1).anim 2 # specifies linear effects associated with first G structure, with 2 G sub-structures
leg(age,1) 0 US 1 .1 1 !GP # specifies first G sub-structure terms with unstructured (US) var matrix and starting values (1 .1 1), constraining matrix to be positive semi-definite (!GP)
anim 0 ID # specifies 2nd G sub-substructure with identity (ID) var matrix

leg(age,1).ide(anim) 2 # specifies linear effects associated with second G structure: as for the first G structure above
leg(age,1) 0 US 1 .1 1 !GP
anim 0 ID

Note: I have used here '1 .1 1' as the initial values for each 2x2 US covariance matrix. You may need to experiment with different initial values in order to
achieve convergence.

The bivariate model should be:

weight PCV ~ Trait Trait.leg(age,1).band*sex !r Trait.leg(age,1).anim Trait.leg(age,1).ide(animan)
1 2 2 # header line: '1 2' specifies one R structure with 2 sub-structures, '2' specifies 2 G structures (as for univariate)

0 # the first R sub-structure for units - the '0' here tells ASReml to fill in the number of units
Trait 0 US !GP # the second R sub-structure line for Trait with an unstructured (US) 2x2 matrix
1 .1 1 # the starting values for the US matrix

Trait.leg(age,1).anim 2 # specifies linear effects associated with first G structure, with 2 G sub-structures
Trait.leg(age,1) 0 US !GP # first G substructure with US var matrix and constrained positive semi-definite
1 # starting values for US var structure on this line and following 3 lines
.1 1
.1 .1 1
.1 .1 .1 1
anim 0 ID ! specifies 2nd G sub-structure with identity var matrix

Trait.leg(age,1).ide(anim) 2 # specifies linear effects associated with second G structure: as for the first G-structure above
Trait.leg(age,1) 0 US !GP
1
.1 1
.1 .1 1
.1 .1 .1 1
anim 0 ID

I have used here a '1' as the starting value for a variance parameter and '.1' for a covariance parameter. However, these initial values will probably not be sufficient.
For instance, you may need to use the estimates from each of the univariate models as initial values.

Damian

Dr Damian Collins, Senior Biometrician, I&I NSW
damian.collins_at_industry.nsw.gov.au
on behalf of the ASReml Project Team

-------------------- m2f --------------------

Sent using Mail2Forum (http://www.mail2forum.com).