A c

advertisement

An Introduction to

Multivariate Models

Sarah Medland

SGDP Summer School

July 2010

Twin Model

•Univariate Model

•Bivariate Model

• Multivariate Models

Hypothesised

Sources of

Variation

Model

Equations

Matrix

Algebra

Path

Diagrams

Path Tracing

Rules

Topics of Discussion:

 Extensions to multiple variables

(3 or more)

 Choosing between :

Cholesky Decomposition

Common Pathway model

Independent Pathway model

Predicted Var/Cov from Model

Observed Var/Cov from Data

Structural Equation Modelling

(SEM)

Multivariate analysis

Univariate analysis: genetic and environmental influences on the variance of one trait

Bivariate analysis: genetic and environmental influences on the covariance between two traits

Multivariate analysis: genetic and environmental basis of the covariance between multiple traits

Multiple phenotypes

Comorbid phenotypes

Diagnostic subtypes ( e.g. anxiety: panic, social, separation )

Different dimensions (e.g. cognitive abilities)

Different raters

Self report, Mother-report, Teacher-report, Observational

Longitudinal data

Time-point 1, Time-point 2, Time-point 3, Time-point 4

Multivariate models

Specific variance

Trait 1

Common variance

Trait

2

Trait

3

Why do these phenotypes covary?

Multivariate models

Different models have different assumptions in the

nature of shared causes among multiple phenotypes

Cholesky Decomposition (Correlated factors solution)

Genetic and environmental factors on different variables correlate

Independent pathway model

Specific and Common genetic and environmental causes

Common pathway model

Latent Psychometric factor mediates common genetic and environmental effects

Cholesky Decomposition

Twin 1 Twin 2

A E A E A E A E A E A E A E A E

Mum Teacher Examiner Child

C

Mum Teacher Examiner Child

C C C C C C

Nvar Number of A, C and E Factors

C

Twin 1

The A Structure

Twin 2

A A A A A A A A

Mum Teacher Examiner Child Mum Teacher Examiner Child

Number of A paths: [ nvar*(nvar+1) ] / 2

(4*5)/2 = 10

Twin 1

The C Structure

Twin 2

Number of C paths: [ nvar*(nvar+1) ] / 2

(4*5)/2 = 10

Mum Teacher Examiner Child Mum Teacher Examiner Child

C C C C C C C C

Twin 1

The E Structure

Twin 2

E E E E E E E E

Mum Teacher Examiner Child Mum Teacher Examiner Child

Number of E paths: [ nvar*(nvar+1) ] / 2

(4*5)/2 = 10

Cholesky Decomposition

Twin 1 r

MZ

= 1;r

DZ

= 0.5

Twin 2

A E A E A E A E A E A E A E A E

Mum Teacher Examiner Child Mum Teacher Examiner Child

C C C C r

MZ/DZ

= 1

C C C C

a m

=

 a m

2

Correlated factors solution

a m

A

C

E A

C

E A

C

E A

C

E a

T a

E a

C

Mum Teacher Examiner Child r

A (M-T) r

A (M-E) r

A (M-C) r

A (T-E) r

A (T-C) r

A (E-C)

Correlated factors solution

c m

=

 c m

2

A

C

E A

C

E A

C

E A

C

E c m c

T c

E c

C

Mum Teacher Examiner Child r

C (M-T) r

C (M-E) r

C (M-C) r

C (T-E) r

C (T-C) r

C (E-C)

e m

=

 e m

2

Correlated factors solution

A

C

E A

C

E A

C

E A

C

E e m e

T e

E e

C

Mum Teacher Examiner Child r

E (M-T) r

E (M-E) r

E (M-C) r

E (T-E) r

E (T-C) r

E (E-C)

Correlated factors solution

Assumptions

1. Each variable (e.g. Mother-rating) is influenced by a set of genetic, shared and non-shared environmental factors

2. The factors associated with each variable are allowed to correlate with each other through r

A

, r and r

E

C

3. Correlations among phenotypes are a function of r

A

, r

C and r

E and the standardized A, C and E paths connecting them

Independent & Common

Partition variance between variables:

1) Common variance: variance that is shared by all measured variables

2) Specific variance: variance that is not shared by the measured variables

S

Trait 1

Trait 2

S

C

C

C

C

Trait 3

S

What might common and specific variance represent?

1) Comorbid phenotypes: (e.g. anxiety subtypes)

Common variance = general liability to emotional reactivity

Specific variance = symptom-specific risks

2) Different raters: (e.g. mother, teacher, child reports)

Common variance = pervasive liability to reported behaviour

Specific variance = situation-specific behaviour

A

Independent pathway model

Twin 1

C E r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

E C

Twin 2

A

Mum Teacher Examiner Child Mum Teacher Examiner Child

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

Independent pathway model

Assumptions

1. Each variable (e.g. mother rating) has variation that is shared with other variables

“Common” genetic and environmental factors

2. Each variable is also influenced by unique variance not shared with other variables

“Specific” genetic and environmental factors

3. Covariation among phenotypes may be due to the same genetic or environmental causes

Independent pathway model

Example

To examine the etiology of comorbidity : e.g. the separate symptom clusters of anxiety and depression are influenced by the same genetic factors

Conclusion : genes act largely in a non-specific way to influence the overall level of psychiatric symptoms. Separable anxiety and depression symptom clusters in the general population are largely the result of environmental factors

( Kendler KS et al., Arch Gen Psych, 1987 )

Twin 1

Common pathway model

r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

Twin 2

A C E E C A f mum

Mum f teacher

Latent factor f examiner

Teacher Examiner f child

Child f mum

Mum f teacher

Latent factor f examiner

Teacher Examiner f child

Child

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

Common pathway model

Assumptions

1. Each variable (e.g. mother rating) has variation that is shared with other variables and variation that is specific

2. Common genetic and environmental variance is captured by a latent psychometric factor (e.g. pervasive or situation independent behaviour; general liability to anxiety)

3. Covariation among phenotypes is due to the effects of the common psychometric factor on each variable

Common pathway model

Example

To study the etiology of Comorbidity : e.g. conduct disorder, ADHD, substance experimentation and novelty seeking, used as indices of a latent behavioral disinhibition trait

> h 2 =0.84

Conclusion : a variety of adolescent problem behaviours may share a common underlying genetic risk

[Young et al., Am. J. Med. Genet. (Neuropsychiatric Genet.), 2000].

Observed Statistics and df

(Theoretical) Observed Summary Statistics

Maximum Likelihood Analysis using summary matrices as input

Theoretical degrees of freedom

N observed summary statistics – N estimated parameters

(Actual) Observed Statistics

Full Maximum Likelihood Analysis using raw data as input

Number of available data points

(Actual) degrees of freedom

N observed statistics – N estimated parameters

Exercise 1

We will run these models on the 4 antisocial measures

1. How many observed summary statistics will there be?

a. Consider size of observed variance-covariance matrix b. Consider number of observed means

Note: there are MZ and DZ pairs

2. How many parameters are estimated for a. Cholesky Decomposition?

b. Independent pathway model?

c. Common pathway model?

Note: don’t forget means are estimated in each model too

3. How many theoretical degrees of freedom will each model have?

Note: The variance of the common latent factor is constrained to be 1

Note: Df = observed statistics

– estimated parameters

Variance - Covariance Matrix

8 x 8 matrix

T1V1 T1V2 T1V3 T1V4 T2V1 T2V2 T2V3 T2V4

T1V1

T1V2

T1V3

T1V4 var cov var cov cov var cov cov cov var

T2V1

T2V2 cov cov cov cov var cov cov cov cov cov var

T2V3 cov cov cov cov cov cov var

T2V4 cov cov cov cov cov cov cov var

Variance - Covariance Matrix

MZ Twins

8 x 8 symmetrical matrix

= (8x9)/2= 36 summary statistics

DZ Twins

8 x 8 symmetrical matrix

= (8x9)/2= 36 summary statistics

Total number = 72

1 x 8 matrix

Observed means

T1V1 T1V2 T1V3 T1V4 T2V1 T2V2 T2V3 T2V4

Mean1 Mean2 Mean3 Mean4 Mean1 Mean2 Mean3 Mean4

MZ Twins

1 x 8 Full matrix = 8 summary statistics

DZ Twins

1 x 8 Full matrix = 8 summary statistics

Total number = 16

Total number of Summary statistics

Summary statistics = variance-covariances + means

Summary statistics = 72 + 16=

88

Parameter estimates and DF

Model

Cholesky

Number of estimated parameters

??

Observed

Summary statistics

88

Theoretical degrees of freedom

Independent pathway

Common pathway

88

88

Cholesky Decomposition

A E A E A E A E A E A E A E A E

Mum Teacher Examiner Child Mum Teacher Examiner Child

C C C C C C

(4x5)/2 =10 for A, C and E = 30 means (equated for birth-order and) zygosity = 4

C C

Parameter estimates and DF

Model

Cholesky

Number of estimated parameters

34

Observed summary statistics

88

Theoretical degrees of freedom

54

Independent pathway

??

Common pathway

88

88

Independent pathway model

Twin 1 Twin 2

A C E E C A

12

Mum Teacher Examiner Child Mum Teacher Examiner Child

A

C

E

A

C

12

C

E

A

C

A E

C

E

A

+4 means = 4

E

A

C

E

A

C

E

A

C

E

Parameter estimates and DF

Model

Cholesky

Number of estimated parameters

34

Observed summary statistics

88

Theoretical degrees of freedom

54

Independent

Pathway

28

Common

Pathway

??

88

88

48

Twin 1

Common pathway model

r

MZ

= 1 r

DZ

= 0.5

Twin 2 r

MZ / DZ

= 1

A

3

C E E C A f mum

Mum

Latent factor f teacher f examiner

4

Teacher Examiner f child

Child f mum

Mum f teacher

Latent factor f examiner

Teacher Examiner f child

Child

A

C

E

A

C

E

12

A

C

C

A E

C

E

A

+4 means = 16

E

NB. There is a constraint – how is it

A accounted for in Mx ?

E

A

Parameter estimates and DF

Model

Cholesky

Number of estimated parameters

34

Observed summary statistics

88

Theoretical degrees of freedom

54

Independent pathway

28

Common pathway

23

88 60

89 (88+1) 66

Comparing models

Correlated

Factors

Independent pathway

Common pathway

Fewest parameters

Most restricted

Most parsimonious

openMx Script for

Independent Pathway model

Note: Scripts are at the end of these slides in your handout

Independent pathway model

Twin 1 r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

Twin 2

A C E E C A

Mum Teacher Examiner Child Mum Teacher Examiner Child

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

Script nvar <- 4 nf <- 1

#number of variables

#number of factors

ACE_Independent_Model <- mxModel("ACE_Independent", mxModel("ACE", mxMatrix( type="Full", nrow=nvar, ncol=nf, free=TRUE, values=.6, name="ac" ), mxMatrix( type="Full", nrow=nvar, ncol=nf, free=TRUE, values=.6, name="cc" ), mxMatrix( type="Full", nrow=nvar, ncol=nf, free=TRUE, values=.6, name="ec" ),

Twin 1

A C E r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

E C

Twin 2

A ac v1 ac v2 ac v3 ac v4 ac v1 ac v2 ac v3 ac v4

V1 V2 V3 V4 V1 V2 V3

Matrix ac = path coefficient additive genetic parameters of the common A factor

A c ac v1

Variable 1 ac = ac v2

Variable 2

Full 4x1 ac v3

Variable 3 ac v4

Variable 4

V4

Twin 1

A C cc v1 cc v2 cc v3 cc v4

E r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

E C

Twin 2

A cc v1 cc v2 cc v3 cc v4

V1 V2 V3 V4 V1 V2 V3

Matrix cc = path coefficient shared environmental parameters of the common C factor

C c cc v1

Variable 1 cc = cc v2

Variable 2

Full 4x1 cc v3

Variable 3 cc v4

Variable 4

V4

Twin 1

A r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

E C E ec v1 ec v2 ec v3 ec v4 ec v1 ec v2 ec v4

C ec v3

Twin 2

A

V1 V2 V3 V4 V1 V2 V3

Matrix ec = path coefficient non-shared environmental parameters of the common E factor

E ec c v1

Variable 1 ec = ec v2

Variable 2

Full 4x1 ec v3

Variable 3 ec v4

Variable 4

V4

Script mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=4, name="as" ), mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=4, name="cs" ), mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=5, name="es" ),

Matrix as= path coefficients genetic parameters of the specific A factors

A

V1

A

V2

A

V3

A

V4 as = as

V1

0 as

V2

0 0 as

V3

0 0 0 as

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

V1 V2 V3 as

V1

C as

V2

C

A

A E as

V3

E

A

C as

V4

E

A

V4

C

E

V1 V2 as

V1

C as

V2

C

A

A E as

V3

E

A

V3

C as

V4

E

A

V4

C

E

Cross-twin cor between A and C factors omitted

Matrix cs= path coefficients shared environment parameters of the specific C factors cs =

C

V1

C

V2

C

V3

C

V4 cs

V1

0 cs

V2

0 0 cs

V3

0 0 0 cs

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

A

V1 cs

V1

C

A

V2 cs

V2

C

E

E A

V3 cs

V3

C

E

A

V4 cs

V4

C

E

A

V1 cs

V1

C

E

A

V2 cs

V2

C

E

V3 cs

V3

C

A E

A

V4 cs

V4

C

E

Matrix es= path coefficients non-shared environment parameters of the specific E factors es =

E

V1

E

V2

E

V3

E

V4 es

V1

0 es

V2

0 0 es

V3

0 0 0 es

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

V1 V2 V3 V4 V1 V2 V3 V4

A

C es

V1

A

C es

V2

E

C es

V3

A

C

E A E es

V4

E

A

C es

V1

E

A

C es

V2

E

C es

V3

A

C es

V4

E

A E

Script mxAlgebra(ac %*% t(ac) + as %*% t(as), name="A" ), mxAlgebra(cc %*% t(cc) + cs %*% t(cs), name="C" ), mxAlgebra(ec %*% t(ec) + es %*% t(es), name="E" ),

Matrix A= variance components of the common A factor plus variance components of the specific A factors ac %*% t(ac) + as %*% t(as)

A c ac v1 ac = ac v2 ac v3 ac v4

Variable 1

Variable 2

Variable 3

Variable 4

Full 4x1

= ac %*% t(ac)= 4x1 * 1x4 ac 2

V1 ac

V1 ac

V2 ac

V1 ac

V3 ac

V1 ac

V4 ac

V2 ac

V1 ac 2

V2 ac

V2 ac

V3 ac

V2 ac

V4 ac

V3 ac

V1 ac

V3 ac

V2 ac 2

V3 ac

V3 ac

V4

4x4 ac

V4 ac

V1 ac

V4 ac

V2 ac

V4 ac

V3 ac 2

V4

ac %*% t(ac) + as %*% t(as) as =

=

A

V1

A

V2

A

V3

A

V4 as

V1

0 0 0

Variable 1

0 as

V2

0 0

0 0 as

V3

0

0 0 0 as

V4

Variable 2

Variable 3

Variable 4 as %*% t(as) = 4x4 * 4x4

Diag 4x4 as 2

V1

0 0 0 0

0 as 2

V2

0 0 0

0 0 as 2

V3

0

0 0 0 as 2

V4

4x4

Matrix A= variance components of the common A factor plus variance components of the specific A factors ac %*% t(ac) + as %*% t(as) ac 2

V1

+ as 2

V1 ac

V1 ac

V2 ac

V1 ac

V3 ac

V1 ac

V4

A = ac

V2 ac

V1 ac 2

V2

+ as 2

V2 ac

V2 ac

V3 ac

V2 ac

V4 ac

V3 ac

V1 ac

V3 ac

V2 ac 2

V3

+ as 2

V3 ac

V3 ac

V4 ac

V4 ac

V1 ac

V4 ac

V2 ac

V4 ac

V3 ac 2

V4

+ as 2

V4

4x4

Matrix A= variance components of the common A factor plus variance components of the specific A factors ac %*% t(ac) + as %*% t(as) ac 2

V1

+ as 2

V1 ac

V1 ac

V2 ac

V1 ac

V3 ac

V1 ac

V4

A = ac

V2 ac

V1 ac 2

V2

+ as 2

V2 ac

V2 ac

V3 ac

V2 ac

V4 ac

V3 ac

V1 ac

V3 ac

V2 ac 2

V3

+ as 2

V3 ac

V3 ac

V4 ac

V4 ac

V1 ac

V4 ac

V2 ac

V4 ac

V3 ac 2

V4

+ as 2

V4

4x4

Matrix C= variance components of the common C factor plus variance components of the specific C factors cc %*% t(cc) + cs %*% t(cs) cc 2

V1

+ cs 2

V1 cc

V1 cc

V2 cc

V1 cc

V3 cc

V1 cc

V4

C = cc

V2 cc

V1 cc 2

V2

+ cs 2

V2 cc

V2 cc

V3 cc

V2 cc

V4 cc

V3 cc

V1 cc

V3 cc

V2 cc 2

V3

+ cs 2

V3 cc

V3 cc

V4 cc

V4 cc

V1 cc

V4 cc

V2 cc

V4 cc

V3 cc 2

V4

+ cs 2

V4

4x4

Matrix E= variance components of the common E factor plus variance components of the specific E factors ec %*% t(ec) + es %*% t(es) ec 2

V1

+ es 2

V1 ec

V1 ec

V2 ec

V1 ec

V3 ec

V1 ec

V4

E = ec

V2 ec

V1 ec 2

V2

+ es 2

V2 ec

V2 ec

V3 ec

V2 ec

V4 ec

V3 ec

V1 ec

V3 ec

V2 ec 2

V3

+ es 2

V3 ec

V3 ec

V4 ec

V4 ec

V1 ec

V4 ec

V2 ec

V4 ec

V3 ec 2

V4

+ es 2

V4

4x4

Script mxAlgebra(A+C+E, name="V" ), mxMatrix( type="Iden", nrow=nvar, ncol=nvar, name="I"), mxAlgebra( solve(sqrt(I*V)), name="iSD"), mxMatrix( type="Full", nrow=1, ncol=nvar, free=TRUE, values= 0, name="M" ), mxAlgebra( cbind(M,M), name="expMean"),

Matrix V =

Total variance/covariance matrix of measured variables

V = A + C + E

V[1,1] = ac 2

V1

+ as 2

V1

+ cc 2

V1

+ cs 2

V1

+ ec 2

V1

+ es 2

V1

V[2,1] = ac

V2 as

V1

+ cc

V2 cs

V1

+ ec

V2 es

V1

V[3,1] = ac

V3 as

V1

+ cc

V3 cs

V1

+ ec

V3 es

V1

...

iSD

mxMatrix( type="Iden", nrow=nvar, ncol=nvar, name="I"), mxAlgebra( solve(sqrt(I*V)), name="iSD"),

 Multiply the var/cov matrix by an identity matrix

 Yeilds a matrix with variances on the diagonals & zeros on the off diagonals

 The inverse of this yeilds a matrix with standard deviations on the diagonals & zeros on the off diagonals

I=

1 0

0 1

V= var

1 cov

12 cov

12 var

2

I*V= var

1

0

0 var

2 iSD= sd

1

0

0 sd

2

Script mxAlgebra( rbind ( cbind(A+C+E , A+C), cbind(A+C , A+C+E)), name="expCovMZ" ), mxAlgebra( rbind ( cbind(A+C+E , 0.5%x%A+C), cbind(0.5%x%A+C , A+C+E)), name="expCovDZ" )

),

Total Common variance/covariance:

A+C+E

ACE var v1

ACE cov

12

ACE cov

13

ACE cov

14

ACE cov

21

ACE var v2

ACE cov

23

ACE cov

24

ACE cov

31

ACE cov

32

ACE var v3

ACE cov

34

ACE cov

41

ACE cov

42

ACE cov

43

ACE var v4

Common covariance between MZ twins:

A+C

AC var v1

AC cov

12

AC cov

13

AC cov

14

AC cov

21

AC var v2

AC cov

23

AC cov

24

AC cov

31

AC cov

32

AC var v3

AC cov

34

AC cov

41

AC cov

42

AC cov

43

AC var v4

Common covariance between DZ twins:

.5AC

var v1

.5A+C

.5AC

cov

12

.5AC

cov

13

.5AC

cov

14

.5AC

cov

21

.5AC

var v2

.5AC

cov

23

.5AC

cov

24

.5AC

cov

31

.5AC

cov

32

.5AC

var v3

.5AC

cov

34

.5AC

cov

41

.5AC

cov

42

.5AC

cov

43

.5AC

var v4

A+C+E A+C

T1V2

A+C A+C+E

T2V3 T1V4 T2V1 T2V2 T2V3 T2V4 T1V1

T1V1

T1V2

T1V3

T1V4

T2V1

T2V2

T2V3

T2V4

ACE var

ACE cov

ACE cov

ACE cov

V1

ACE

ACE cov

ACE cov cov

ACE

ACE cov

ACE var

V2

ACE cov

ACE var

V3 cov

ACE

ACE

ACE

AC var

V1

AC cov

AC cov

AC cov

AC var

V2

AC cov

AC

AC cov

AC cov var

V3

AC

AC cov cov

AC cov

AC cov AC cov AC cov AC var

V4 cov var cov

ACE cov

V4

AC var

V1

AC cov AC cov AC cov

AC cov AC var

V2

AC cov AC cov

AC cov AC cov AC var

V3

AC cov

AC cov AC cov AC cov AC var

V4

ACE var

V1

ACE cov ACE cov ACE cov

ACE cov ACE var

V2

ACE cov ACE cov

ACE cov ACE cov ACE var

V3

ACE cov

ACE cov ACE cov ACE cov ACE var

V4

A+C+E .5A+C

T1V1 T1V2

.5A+C A+C+E

T2V3 T1V4 T2V1 T2V2 T2V3 T2V4

T1V1

T1V2

T1V3

T1V4

ACE var

V1

ACE cov ACE cov ACE cov .5

AC var

ACE

ACE cov cov

ACE var

V2

ACE cov

ACE cov

ACE var

V3

ACE cov

ACE cov

.5

AC cov

.5

AC cov

V1

.5

AC cov .5

AC cov .5

AC cov

.5

.5

AC

AC var

V2 cov

.5

AC cov .5

AC cov

.5

AC var

V3

.5

AC cov

ACE cov ACE cov ACE cov ACE var

V4

.5

AC cov .5

AC cov .5

AC cov .5

AC var

V4

T2V1

.5

AC var

V1

.5

AC cov

T2V2

.5

AC cov .5

AC var

V2

.5

AC cov

.5

AC cov

T2V3

T2V4

.5

AC cov

.5

AC cov

.5

AC cov

.5

AC cov

.5

.5

AC

AC var

V3 cov

.5

.5

AC

AC cov

.5

AC cov

.5

AC cov var

V4

ACE var

V1

ACE cov ACE cov

ACE cov

ACE cov

ACE cov

ACE var

V2

ACE cov

ACE cov

ACE cov

ACE var

V3

ACE cov

ACE cov

ACE cov

ACE cov ACE var

V4

Script mxModel("MZ", mxData( observed=mzData, type="raw" ), mxFIMLObjective( covariance="ACE.expCovMZ", means="ACE.expMean", dimnames=selVars )

),

Script mxModel (“DZ", mxData( observed=dzData, type="raw" ), mxFIMLObjective( covariance="ACE.expCovDZ", means="ACE.expMean", dimnames=selVars )

),

Mx Script for

Common pathway model

Note: Scripts are at the end of these slides in your handout

Twin 1

Common pathway model

r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

Twin 2

A C E E C A f mum

Mum f teacher

Latent factor f examiner

Teacher Examiner f child

Child f mum

Mum f teacher

Latent factor f examiner

Teacher Examiner f child

Child

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

Script

ACE_Common_Model <- mxModel("ACE_Common", mxModel("ACE", mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name="al" ), mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name="cl" ), mxMatrix( type="Lower", nrow=nf, ncol=nf, free=TRUE, values=.6, name="el" ),

A

1 a l

C

Latent factor

E r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1

E C

Latent factor

A a l

1

Matrix al=path coefficient for A parameter on common latent factor al =

A a l

Latent factor Full 1x1

1

A C c l

Latent factor

E r

MZ

= 1 r

DZ

= 0.5

r

MZ / DZ

= 1 e l

E e l c l

C

Latent factor

1

A

Matrix cl=path coefficient for C parameter on common latent factor C cl = c l

Common latent factor Full 1x1

Matrix el=path coefficient for E parameter on common latent factor E el = e l

Common latent factor Full 1x1

Script mxAlgebra( al %*% t(al) + cl %*% t(cl) + el %*% t(el), name="CovarLP" ), mxAlgebra( diag2vec(CovarLP), name="VarLP" ), mxMatrix( type="Unit", nrow=nf, ncol=1, name="Unit"), mxConstraint (VarLP == Unit),

CovarLP= variance of the latent factor

al %*% t(al) + cl %*% t(cl) + el %*% t(el)

A al =

a l

Common latent factor

Full 1x1

X*X’ = 1x1 * 1x1

A =

a 2 l

1x1

CovarLP= variance of the latent factor

al %*% t(al) + cl %*% t(cl) + el %*% t(el)

CovarLP =

a 2 l

+c 2 l

+e 2 l

1x1 mxAlgebra( diag2vec(CovarLP), name="VarLP" )

VarLP =

a 2 l

+c 2 l

+e 2 l

1x1 mxConstraint (VarLP == Unit),

VarLP =

a 2 l

+c 2 l

+e 2 l

= 1

Script mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=.4, name="as" ), mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=.4, name="cs" ), mxMatrix( type="Diag", nrow=nvar, ncol=nvar, free=TRUE, values=.5, name="es" ),

Matrix as= path coefficients genetic parameters of the specific A factors

A

V1

A

V2

A

V3

A

V4 as = as

V1

0 as

V2

0 0 as

V3

0 0 0 as

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

V1 V2 V3 as

V1

C as

V2

C

A

A E as

V3

E

A

C as

V4

E

A

V4

C

E

V1 V2 as

V1

C as

V2

C

A

A E as

V3

E

A

V3

C as

V4

E

A

V4

C

E

Cross-twin cor between A and C factors omitted

Matrix cs= path coefficients shared environment parameters of the specific C factors cs =

C

V1

C

V2

C

V3

C

V4 cs

V1

0 cs

V2

0 0 cs

V3

0 0 0 cs

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

A

V1 cs

V1

C

A

V2 cs

V2

C

E

E A

V3 cs

V3

C

E

A

V4 cs

V4

C

E

A

V1 cs

V1

C

E

A

V2 cs

V2

C

E

V3 cs

V3

C

A E

A

V4 cs

V4

C

E

Matrix es= path coefficients non-shared environment parameters of the specific E factors es =

E

V1

E

V2

E

V3

E

V4 es

V1

0 es

V2

0 0 es

V3

0 0 0 es

V4

Variable 1

Variable 2

Variable 3

Variable 4

Diag 4x4

V1 V2 V3 V4 V1 V2 V3 V4

A

C es

V1

A

C es

V2

E

C es

V3

A

C

E A E es

V4

E

A

C es

V1

E

A

C es

V2

E

C es

V3

A

C es

V4

E

A E

Script mxMatrix( type="Full", nrow=nvar, ncol=nf, free=TRUE, values=1, name="f" ),

f = Loadings that partition the proportion of variance / covariance due to the latent factor f v1 f v2 f =

Common Latent factor f v1 f v2 f v3 f v4

Variable 1

Variable 2

Variable 3

Variable 4

Latent factor f v4 f v1 f v3 f v2

Full 4x1

Latent factor f v3 f v4

V1 V2 V3 V4 V1 V2 V3 V4

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

A

C

E

Script mxAlgebra( f %&% (al %*% t(al)) + as %*% t(as), name="A" ), mxAlgebra( f %&% (cl %*% t(cl)) + cs %*% t(cs), name="C" ), mxAlgebra( f %&% (el %*% t(el)) + es %*% t(es), name="E" ),

Matrix A= variance components of the common A factor plus variance components of the specific A factors f %&% (al %*% t(al)) + as %*% t(as) f =

Common Latent factor

Full 4x1 f v1 f v2 f v3 f v4

Latent A factor al = a l

Full 1x1

= f v1 f v2 f v3 f v4

* a l * a l * f v1 f v2 f v3 f v4

Matrix A= variance components of the common A factor plus variance components of the specific A factors f %&% (al %*% t(al)) + as %*% t(as)

= f v1 f v2 f v3 f v4

* a l * a l * f v1 f v2 f v3 f v4

= f v1

2 a l

2 f v1 f v2 a l

2 f v1 f v3 a l

2 f v1 f v4 a l

2 f v2 f v1 a l

2 f v2

2 a l

2 f v2 f v3 a l

2 f v2 f v4 a l

2 f v3 f v1 a l

2 f v3 f v2 a l

2 f v4 f v1 a l

2 f v4 f v2 a l

2 f v3

2 a l

2 f v3 f v4 a l

2 f v4 f v3 a l

2 f v4

2 a l

2

f %&% (al %*% t(al)) + as %*% t(as) as =

=

A

V1

A

V2

A

V3

A

V4 as

V1

0 0 0

Variable 1

0 as

V2

0 0

0 0 as

V3

0

0 0 0 as

V4

Variable 2

Variable 3

Variable 4 as %*% t(as) = 4x4 * 4x4

Diag 4x4 as 2

V1

0 0 0 0

0 as 2

V2

0 0 0

0 0 as 2

V3

0

0 0 0 as 2

V4

4x4

Matrix A= variance components of the common A factor plus variance components of the specific A factors f %&% (al %*% t(al)) + as %*% t(as)

= f v1

2 a l

2 +as

1

2 f v1 f v2 a l

2 f v1 f v3 a l

2 f v1 f v4 a l

2 f v2 f v1 a l

2 f v2

2 a l

2 +as f v3 f v1 a l

2 f v3 f v2 a l

2

2

2 f v4 f v1 a l

2 f v4 f v2 a l

2 f f f v2 f v3 a l

2 v3

2 v4 f a l

2 +as v3 a l

2

3

2 f f v2 f v4 a l

2 f v3 f v4 a l

2 v4

2 a l

2 +as

4

2

Matrix C= variance components of the common C factor plus variance components of the specific C factors f %&% (cl %*% t(cl)) + cs %*% t(cs)

= f v1

2 c l

2 +cs

1

2 f v1 f v2 c l

2 f v1 f v3 c l

2 f v1 f v4 c l

2 f v2 f v1 c l

2 f v2

2 c l

2 +cs f v3 f v1 c l

2 f v3 f v2 c l

2

2

2 f v4 f v1 c l

2 f v4 f v2 c l

2 f f f v2 f v3 c l

2 v3

2 v4 f c l

2 +cs v3 c l

2

3

2 f f v2 f v4 c l

2 f v3 f v4 c l

2 v4

2 c l

2 +cs

4

2

Matrix E= variance components of the common E factor plus variance components of the specific E factors f %&% (el %*% t(el)) + es %*% t(es)

= f v1

2 e l

2 +es

1

2 f v1 f v2 e l

2 f v1 f v3 e l

2 f v1 f v4 e l

2 f v2 f v1 e l

2 f v2

2 e l

2 +es f v3 f v1 e l

2 f v3 f v2 e l

2

2

2 f v4 f v1 e l

2 f v4 f v2 e l

2 f f f v2 f v3 e l

2 v3

2 v4 f e l

2 +es v3 e l

2

3

2 f f v2 f v4 e l

2 f v3 f v4 e l

2 v4

2 e l

2 +es

4

2

Script mxAlgebra( A+C+E, name="V" ), mxMatrix( type="Iden", nrow=nvar, ncol=nvar, name="I"), mxAlgebra( solve(sqrt(I*V)), name="iSD"), mxMatrix( type="Full", nrow=1, ncol=nvar, free=TRUE, values= 0, name="M" ), mxAlgebra( cbind(M,M), name="expMean"),

Script mxAlgebra( rbind ( cbind(A+C+E , A+C), cbind(A+C , A+C+E)), name="expCovMZ" ), mxAlgebra( rbind ( cbind(A+C+E , 0.5%x%A+C), cbind(0.5%x%A+C , A+C+E)), name="expCovDZ" )

),

Script mxModel("MZ", mxData( observed=mzData, type="raw" ), mxFIMLObjective( covariance="ACE.expCovMZ", means="ACE.expMean", dimnames=selVars )

),

Script mxModel("DZ", mxData( observed=dzData, type="raw" ), mxFIMLObjective( covariance="ACE.expCovDZ", means="ACE.expMean", dimnames=selVars )

),

Applications of multivariate genetic modelling

Note: instructions and answer sheets for the practical session are at the end of these slides in your handout

Sample characteristics

Aims of E-risk longitudinal study project:

To study etiology of Antisocial behaviour in 5-year-old twins (Erisk longitudinal study) using 4 independent sources of information

Sample:

451 MZ twin pairs, 389 same-sex DZ twin pairs

Data:

Mothers, Teachers, Examiner-observer reports

(e.g. CBCL and DSM-IV items)

Child self-report (Berkeley Puppet Interview)

Twin 1 variables:

Twin 2 variables:

Mr1 Tr1 Er1 Sr1

Mr2 Tr2 Er2 Sr2

Research questions

Previous studies

Early childhood antisocial behaviour is a strong prognostic indicator for poor adult mental health. However, genetic ethiology is unknown

Current aims:

To examine the heritability of AB in children using multiple informants to account for bias

Current analyses:

Test 3 multivariate models to examine the factor structure common to the 4 measures of AB

Task 1: Preliminary analyses

1.

2.

3.

Within-twin cross-measure correlations

Twin correlations within-measure

Cross-twin cross-measure correlations

Task 2: Model-fitting analyses

1.

2.

3.

4.

Run the saturated model (to obtain -2LL statistics of multivariate models)

Test all three multivariate models, at the end of the common pathway model run the model comparison syntax and select the model of best-fit

(from comparison of sub-models)

Fill in the parameter estimates for each model in path diagrams

Run confidence intervals for only the selected elements (see handout)

Goodness-of-Fit measures

AIC (Akiake Information Criterion) =  2 - 2df

AIC is founded on ideas from information theory, gives a GoF measure that penalises models for increasing complexity.

AIC can be used for nonnested models.

In comparing two models  AIC = AIC

AIC value for model i, and AIC min i

– AIC min

, where AIC i model ( Burnham and Anderson, 2002 ). As a rule of thumb: is the is the AIC value of the ‘best’

∆AIC

< 2

3 − 7

> 10

Evidence suggests substantial evidence for the model i model i has considerably less support model i is very unlikely

Goodness-of-Fit measures

BIC (Bayesian Information Criterion) =  2 - [df*ln(n)]

Takes sample size into account with increasingly negative values corresponding to increasingly better fitting models.

BIC can be used to compare nonnested models.

In comparing two models the differences in BIC gives an estimate of the strength of evidence in favour of the model with the smaller BIC value ( Raftery, 1995 )

Grades of Evidence Corresponding to BIC difference between

Model 1 and Model 2:

BIC Difference

0 − 2

2 − 6

6 − 10

> 10

Evidence

Weak

Positive

Strong

Very Strong

Overall Goodness of Fit

Mx also produces a sample size adjusted BIC and Deviance

Information Criterion.

AIC, BIC and DIC are useful for testing non-nested models.

For example comparing a model with genetic dominance

(ADE) to one with shared environment effects (ACE).

Models with lower values are preferred.

Markon & Krueger carried out a simulation study that indicated that BIC was preferable to AIC (especially with large samples and complex models).

One hopes that the various fit statistics will converge to select the same best fitting model.

References

Raftery, AE. (1995). Bayesian model selection in social research. Sociological Methodology (ed. PV.

Marsden), Oxford, U.K.: Blackwells, pp. 111-196.

Burnham, KP & Anderson, DR. (2002). Model

Selection and Multimodel Inference: a practical information-theoretic approach, 2nd edition.

Springer-Verlag, New York.,

Markon, KE & Kreuger,RF. (2004). Beh Gen, 34, pg

593 – 610.

Standardized Estimates e.g. IP model

### Generate Multivariate Cholesky ACE Output ### parameterSpecifications(ACE_Cholesky_Fit) expectedMeansCovariances(ACE_Cholesky_Fit) tableFitStatistics(ACE_Cholesky_Fit)

ACEpathMatrices <c("ACE.a","ACE.c","ACE.e","ACE.iSD","ACE.iSD %*%

ACE.a","ACE.iSD %*% ACE.c","ACE.iSD %*% ACE.e")

ACEpathLabels <c("pathEst_a","pathEst_c","pathEst_e","sd","stPathEst_a","stPat hEst_c","stPathEst_e") formatOutputMatrices(ACE_Cholesky_Fit,ACEpathMatrices,ACE pathLabels,Vars,4)

References

Hewitt JK, Silberg JL, Neale MC, Eaves LJ, Erickson M. (1992).

The analysis of parental ratings of children’s behavior using

LISREL. Behavior Genetics , 22 , 293-317.

van den Oord EJCG, Boomsma DI, & Verhulst FC (2000). A study of genetic and environmental effects on the cooccurrence of problem behaviors in three-year-old twins.

Journal of Abnormal Psychology , 109 , 360-372.

Arseneault, L., Moffitt, T.E., Caspi, A., Taylor, A., Rijsdijk, F.V.,

Jaffee, S., Ablow, J.C., & Measelle, J.R. (2003). Strong genetic effects on cross-situational antisocial behavior among 5-yearold children according to mothers, teachers, examinerobservers, and twins’ self-reports. Journal of Child

Psychology and Psychiatry, 44, 832-848.

Download