Download presentation

Presentation is loading. Please wait.

1
**Univariate Model Fitting**

Sarah Medland QIMR – openMx workshop Brisbane 16/08/10

2
**Univariate Twin Models**

= using the twin design to assess the aetiology of one trait (univariate) Path Diagrams Basic ACE R Script

3
**1. Path Diagrams for Univariate Models**

4
Basic Twin Model - MZ Twin 1 Trait A C E c e a Twin 2 Trait 1.0 1

5
Basic Twin Model - DZ Twin 1 Trait A C E c e a Twin 2 Trait 0.5 1 1.0

6
**Basic Twin Model Twin 1 Trait A C E c e a Twin 2 Trait 1 rDZ = 0.5**

rMZ = 1.0; rDZ = 1.0 rDZ = 0.5 1

7
The Variance Since the variance of a variable is the covariance of the variable with itself, the expected variance will be the sum of all paths from the variable to itself, which follow Wright’s rules

8
Variance for Twin 1 - A 1 1 a*1*a = a2 1 A C E c a e Twin 1 Trait

9
**a*1*a = a2 c*1*c = c2 Variance for Twin 1 - C c a e 1 1 1 A C E**

Twin 1 Trait

10
**a*1*a = a2 c*1*c = c2 e*1*e = e2 Variance for Twin 1 - E c a e 1 1 1 A**

Twin 1 Trait

11
**Total Variance for Twin 1**

a*1*a = a2 c*1*c = c2 e*1*e = e2 Twin 1 Trait A C E c e a 1 Total Variance = a2 + c2 + e2

12
**a2 + c2 Covariance - MZ 1.0 1.0 1 1 1 1 1 1 A C E E C A c e c a e a**

Twin 1 Trait Twin 2 Trait

13
**0.5a2 + c2 Covariance - DZ 0.5 1.0 1 1 1 1 1 1 A C E E C A c e c a e a**

Twin 1 Trait Twin 2 Trait

14
**Variance-Covariance Matrices**

MZ Twin 1 Twin 2 a2 + c2 + e2 a2 + c2

15
**Variance-Covariance Matrices**

DZ Twin 1 Twin 2 a2 + c2 + e2 0.5a2 + c2

16
**Variance-Covariance Matrices**

MZ Twin 1 Twin 2 a2 + c2 + e2 a2 + c2 DZ 0.5a2 + c2

17
**Why isn’t e2 included in the covariance?**

Because, e2 refers to environmental influences UNIQUE to each twin. Therefore, this cannot explain why there is similarity between twins. Why is a2 only .5 for DZs but not MZs? Because DZ twins share on average half of their genes, whereas MZs share all of their genes.

18
**2. Basic openMx ACE Script**

19
Overview OpenMx script Running the script Describing the output

20
**Do some algebra to get the variances**

ACE model Specify the matrices you need To build the model # Fit ACE Model with RawData and Matrices Input # univACEModel <- mxModel("univACE", mxModel("ACE", # Matrices a, c, and e to store a, c, and e path coefficients mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=10, label="a11", name="a" ), mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=10, label="c11", name="c" ), mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=10, label="e11", name="e" ), # Matrices A, C, and E compute variance components mxAlgebra( expression=a %*% t(a), name="A" ), mxAlgebra( expression=c %*% t(c), name="C" ), mxAlgebra( expression=e %*% t(e), name="E" ), # Algebra to compute total variances and standard deviations (diagonal only) mxAlgebra( expression=A+C+E, name="V" ), Twin 1 Trait A C E c e a 1 Do some algebra to get the variances

21
Start values? a2 = additive genetic variance (A) c2 = Shared E variance (C) e2 = Non-shared E variance (E) Sum is modelled to be expected Total Variance Start Values for a, c, e: (Total Variance / 3) Twin 1 Trait A C E c e a 1

22
**Standardize parameter estimates**

# Algebra to compute total variances and standard deviations (diagonal only) mxAlgebra( expression=A+C+E, name="V" ), mxMatrix( type="Iden", nrow=nv, ncol=nv, name="I"), mxAlgebra( expression=solve(sqrt(I*V)), name="iSD"), # Algebra to compute standardized path estimares and variance components mxAlgebra( expression=a%*%iSD, name="sta"), mxAlgebra( expression=c%*%iSD, name="stc"), mxAlgebra( expression=e%*%iSD, name="ste"), mxAlgebra( expression=A/V, name="h2"), mxAlgebra( expression=C/V, name="c2"), mxAlgebra( expression=E/V, name="e2"), a * 1/SD = a/SD Twin 1 Trait A a 1 The regression coefficient a is standardized by: (a * SD(A)) / SD(Trait) where SD(Trait) is the standard deviation of the dependent variable, and SD(A) is the standard deviation of the predictor, the latent factor ‘A’ (=1) V 1 * = V SD inv = 1/SD

23
**Standardize parameter estimates**

# Algebra to compute total variances and standard deviations (diagonal only) mxAlgebra( expression=A+C+E, name="V" ), mxMatrix( type="Iden", nrow=nv, ncol=nv, name="I"), mxAlgebra( expression=solve(sqrt(I*V)), name="iSD"), # Algebra to compute standardized path estimares and variance components mxAlgebra( expression=a%*%iSD, name="sta"), mxAlgebra( expression=c%*%iSD, name="stc"), mxAlgebra( expression=e%*%iSD, name="ste"), mxAlgebra( expression=A/V, name="h2"), mxAlgebra( expression=C/V, name="c2"), mxAlgebra( expression=E/V, name="e2"), Twin 1 Trait A sta 1 The heritability ‘h2’ is the proportion of the total variance due to A (additive genetic effects; = A / V. Note: this will be “sta” squared. The standardized variance components for C and E are: C / V; E / V N “sta” 2 V A / = “h2”

24
Standardising data V = A + C + E A/V = 73/233 = .31 V = [73] + [90] + [70] C/V = 90/233 = .39 V = [233] E/V = 70/233 = .30 a = 8.55 c = 9.49 e = 8.35 SD = sqrt(V) = sta = 8.55 / = 0.56 squared = .31 stc = 9.49 / = 0.62 squared = .39 ste = 8.35 / = 0.55 squared = .30

25
**# Algebra for expected variance/covariance matrix in MZ **

mxAlgebra( expression= rbind ( cbind(A+C+E , A+C), cbind(A+C , A+C+E)), name="expCovMZ" ), # Algebra for expected variance/covariance matrix in DZ mxAlgebra( expression= rbind ( cbind(A+C+E , 0.5%x%A+C), cbind(0.5%x%A+C , A+C+E)), name="expCovDZ" ) MZ Twin 1 Twin 2 a2 + c2 + e2 a2 + c2 DZ 0.5a2 + c2 Twin 1 Trait A C E c e a Twin 2 Trait 1/ 0.5 1 1.0

26
**mxModel("MZ", mxData( observed=mzData, type="raw" ),**

mxFIMLObjective( covariance="ACE.expCovMZ", means="ACE.expMean", dimnames=selVars ) ), mxModel("DZ", mxData( observed=dzData, type="raw" ), mxFIMLObjective( covariance="ACE.expCovDZ", means="ACE.expMean", dimnames=selVars ) mxAlgebra( expression=MZ.objective + DZ.objective, name="m2ACEsumll" ), mxAlgebraObjective("m2ACEsumll"), mxCI(c('ACE.A', 'ACE.C', 'ACE.E')) ) univACEFit <- mxRun(univACEModel, intervals=T) univACESumm <- summary(univACEFit) univACESumm

27
**You can fit sub-models to test the significance of your parameters**

# Fit AE model # univAEModel <- mxModel(univACEFit, name="univAE", mxModel(univACEFit$ACE, mxMatrix( type="Lower", nrow=1, ncol=1, free=FALSE, values=0, label="c11", name="c" ) ) ) univAEFit <- mxRun(univAEModel) univAESumm <- summary(univAEFit) univAESumm Twin 1 Trait A E Twin 2 Trait You can fit sub-models to test the significance of your parameters -you simply drop the parameter and see if the model fit is significantly worse than full model

28
**Sub-models The E parameter can never not be dropped**

# Fit CE model # univCEModel <- mxModel(univACEFit, name="univCE", mxModel(univACEFit$ACE, mxMatrix( type="Lower", nrow=1, ncol=1, free=FALSE, values=0, label="a11", name="a" ) ) ) univCEFit <- mxRun(univCEModel) univCESumm <- summary(univCEFit) univCESumm Twin 1 Trait C E Twin 2 Trait Twin 1 Trait E Twin 2 Trait # Fit E model # univEModel <- mxModel(univAEFit, name="univE", mxModel(univAEFit$ACE, mxMatrix( type="Lower", nrow=1, ncol=1, free=FALSE, values=0, label="a11", name="a" ) ) ) univEFit <- mxRun(univEModel) univESumm <- summary(univEFit) univESumm The E parameter can never not be dropped because it includes measurement error

29
OpenMx Output

30
**univACESumm free parameters: name matrix row col Estimate**

1 a11 ACE.a 2 c11 ACE.c 3 e11 ACE.e 4 mean ACE.Mean observed statistics: 2198 estimated parameters: 4 degrees of freedom: 2194 -2 log likelihood: saturated -2 log likelihood: NA number of observations: 1110 chi-square: NA p: NA AIC (Mx): BIC (Mx): adjusted BIC: RMSEA: NA

31
**tableFitStatistics models compared to saturated model**

Name ep -2LL df AIC diffLL diffdf p M1 : univTwinSat M2 : univACE M3 : univAE M4 : univCE M5 : univE Smaller -2LL means better fit. -2LL of sub-model is always higher (worse fit). The question is: is it significantly worse. Chi-sq test: dif in -2LL is chi-square distributed. Evaluate sig of chi-sq test. A non-sig p-value means that the model is consistent with the data.

32
**Nested.fit models compared to ACE model**

Name ep -2LL df diffLL diffdf p univACE NA NA NA univAE univCE univE Smaller -2LL means better fit. -2LL of sub-model is always higher (worse fit). The question is: is it significantly worse. Chi-sq test: dif in -2LL is chi-square distributed. Evaluate sig of chi-sq test. Critical Chi-sq value for 1 DF = 3.84 A non-sig p-value means that the dropped parameter(s) are non-significant.

33
Estimates ACE model > univACEFit$ACE.h2 [,1] [1,] > univACEFit$ACE.c2 [1,] > univACEFit$ACE.e2 [1,]

Similar presentations

OK

Raw data analysis S. Purcell & M. C. Neale Twin Workshop, IBG Colorado, March 2002.

Raw data analysis S. Purcell & M. C. Neale Twin Workshop, IBG Colorado, March 2002.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on acid-base titration indicator Ppt on cross-sectional study strengths and weaknesses Ppt on samsung galaxy note 2 Ppt on sedimentation decantation and filtration Ppt on chapter 3 drainage Ppt on ms powerpoint tutorial Ppt on economic growth and development in india Free download ppt on exponents and powers Ppt on regular expression generator Ppt on english language in india