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)
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
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
Specific variance
Common variance
Why do these phenotypes covary?
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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].
(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
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
Summary statistics = variance-covariances + means
Summary statistics = 72 + 16=
Parameter estimates and DF
Model
Cholesky
Number of estimated parameters
??
Observed
Summary statistics
88
Theoretical degrees of freedom
Independent pathway
Common pathway
88
88
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
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
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
Correlated
Factors
Independent pathway
Common pathway
Fewest parameters
Most restricted
Most parsimonious
Note: Scripts are at the end of these slides in your handout
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"),
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
...
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" )
),
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
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
.5AC
var v1
.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
T1V2
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
T1V1 T1V2
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 )
),
Note: Scripts are at the end of these slides in your handout
Twin 1
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),
al %*% t(al) + cl %*% t(cl) + el %*% t(el)
a l
Full 1x1
X*X’ = 1x1 * 1x1
a 2 l
1x1
al %*% t(al) + cl %*% t(cl) + el %*% t(el)
a 2 l
+c 2 l
+e 2 l
1x1 mxAlgebra( diag2vec(CovarLP), name="VarLP" )
a 2 l
+c 2 l
+e 2 l
1x1 mxConstraint (VarLP == Unit),
a 2 l
+c 2 l
+e 2 l
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
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
Early childhood antisocial behaviour is a strong prognostic indicator for poor adult mental health. However, genetic ethiology is unknown
To examine the heritability of AB in children using multiple informants to account for bias
Test 3 multivariate models to examine the factor structure common to the 4 measures of AB
1.
2.
3.
Within-twin cross-measure correlations
Twin correlations within-measure
Cross-twin cross-measure correlations
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)
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
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
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.
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)
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.