# Comparing ACE and ADE models

I have a couple of questions regarding comparing ACE and ADE models.

1. Is there a quick method of comparing the fit of both of these models? As of right now I am running the scripts for each model, then comparing the two models using mxcompare:

<%

mxCompare( fitADENOTW , fitACENOTW ) %>

I know typically when we compare nested, we run something to the effect of...

<%

#Run ACE model without Twin Effect

modelACENOTW <- mxModel( fitACE, name="oneACENOTWba" )

modelACENOTW <- omxSetParameters( modelACENOTW, labels="tw11", free=FALSE, values=0 )

fitACENOTW <- mxTryHard( modelACENOTW, intervals=F )

mxCompare( fitACE, fitACENOTW ) %>

But I am unsure how to incorporate the change from the ACE model:

<%

covDZ <- mxAlgebra( expression= 0.5%x%A+ C+Tw, name="cDZ" )

covSIB <- mxAlgebra( expression= 0.5%x%A+ C, name="cSIB" ) %>

to the ADE model:

<%

covDZ <- mxAlgebra( expression= 0.5%x%A+ 0.25%x%D+Tw, name="cDZ" )

covSIB <- mxAlgebra( expression= 0.5%x%A+ 0.25%x%D, name="cSIB" )%>

in a short, correct manner that would preclude me from running two separate scrips.

2. Even when I run these models and compare their fit, I am unable to test whether differences in their fit are statistically significant. Notice the P value indicates NA. I know I can reference the AIC descriptives, with the ADE fitting better than ACE in this instance, but I also want to include the p value, if possible.

<%

< mxCompare( fitADENOTW , fitACENOTW )

base comparison ep minus2LL df AIC diffLL diffdf p

1 oneADENOTWba

2 oneADENOTWba oneACENOTWba 8 4882.399 1740 1402.399 2.735366 0 NA%>

This may have something to do with the similar degrees of freedom, since chi-square fit statistics uses df. However, I have used chi-square tests of fitness before (SEM) and, if I am not mistaken, it yielded a p value.

Any help would be greatly appreciated.

## use umxACE dzAr parameter, or umxModify

This will run ADE/ACE, AE, CE, and give you a comparison table and the relative probability of each in this set.

If you have a multivariate model, you could `umxModify` the model, and get a comparison (shown below). But it's probably more straightforward to use the dzAr parameter in `umxACE` to build the ADE model and compare the two.

FYI:

data(twinData)

twinData[, c("ht1", "ht2")] = twinData[, c("ht1", "ht2")] * 10

mzData = twinData[twinData$zygosity %in% "MZFF", ]

dzData = twinData[twinData$zygosity %in% "DZFF", ]

m1 = umxACE(selDVs = "ht", selCovs = "age", sep = "", dzData = dzData, mzData = mzData)

`# Make ADE model`

m2 = umxModify(m1, "dzCr_r1c1", value = .25, name="ADE", comp=TRUE)

ACE -2 × log(Likelihood) = 5944.845

Standardized solution

| | a1| d1| e1|

|:--|-----:|--:|----:|

|ht | 0.933| 0| 0.36|

Means: Intercept and (raw) betas from model$top$intercept and model$top$meansBetas

| | ht1| ht2|

|:---------|------:|------:|

|intercept | 16.446| 16.446|

|age | -0.005| -0.005|

|Model | EP|Δ -2LL |Δ df |p | AIC| Δ AIC|Compare with Model |

|:-----|--:|:---------|:----|:--|---------:|---------:|:------------------|

|ACE | 5| | | | -1843.155| 0.000000| |

|ADE | 5|-0.014679 |0 | | -1843.169| -0.014679|ACE |

Log in or register to post comments

In reply to use umxACE dzAr parameter, or umxModify by tbates

## This looks great!

Warning in install.packages :

package ‘umxReduce’ is not available (for R version 4.0.0)

While I wait for it to become available I will continue running two separate models then comparing them. Thank you!!

Log in or register to post comments

In reply to This looks great! by inooradd

## Nevermind.

Log in or register to post comments

In reply to use umxACE dzAr parameter, or umxModify by tbates

## This is fantastic!!

<%

m1 = umxACE(selDVs = "fem", selCovs=c("age","sex"), sep = "", mzData = mzData, dzData = dzData, sibData = sibData)

%>

and I get this message

<%

> m1 = umxACE(selDVs = "fem", selCovs=c("age","sex"), sep = "", mzData = mzData, dzData = dzData, sibData = sibData)

Error in umxACE(selDVs = "fem", selCovs = c("age", "sex"), sep = "", mzData = mzData, :

unused argument (sibData = sibData) %>

and it runs the model fitting with only two out of the three datasets.

<%

|Model | EP|Δ -2LL |Δ df |p | AIC| Δ AIC|Compare with Model |

|:-----|--:|:---------|:----|:-----|--------:|---------:|:------------------|

|ACE | 6| | | | 1059.607| 0.000000| |

|ADE | 6|1.294747 |0 | | 1060.901| 1.294747|ACE |

|CE | 5|0.3068545 |1 |0.580 | 1057.913| -1.693145|ACE |

|AE | 5|1.294747 |1 |0.255 | 1058.901| -0.705253|ACE | %>

Any idea how to fix this?

Log in or register to post comments

## umxACE only supports 2 groups and 2-siblings at present

I've not implemented 5-group or extended family support in umxACE. It's not high on the priority list currently. I consider it from time to time but it would be a major development project, as IP, CP, etc all would have to grow in capability to make it worth doing.

Log in or register to post comments

## Alrighty!

Log in or register to post comments

In reply to Alrighty! by inooradd

## ADE vs ACE

Log in or register to post comments