tbates / umx

Making Structural Equation Modeling (SEM) in R quick & powerful
https://tbates.github.io/
44 stars 17 forks source link

implement intra-pair twin differences model umxDiffMZ #182

Closed tbates closed 2 years ago

tbates commented 2 years ago

implement the MZ differences causal model

e.g. De Moor, M. H., Boomsma, D. I., Stubbe, J. H., Willemsen, G., & de Geus, E. J. (2008). Testing causality in the association between regular exercise and symptoms of anxiety and depression. Archives of General Psychiatry, 65, 897-905. doi:10.1001/archpsyc.65.8.897

tbates commented 2 years ago

Rplot

tbates commented 2 years ago

e.g.:

umxDiffTwin(x = "ht", "wt",  data = twinData, sep = "")
mcneale commented 2 years ago

Two issues remain with this approach. Number 1 is that power is less than in the structural equation modeling approach, so on these grounds alone, its use should be discouraged. Number two is that there is no inbuilt test of assumptions, unlike SEM where the model can be compared to a saturated model. This means that biases that may arise from, e.g., different variances in MZ vs. DZ twins can go undetected and uncorrected. Causal inference is potentially compromised. So I strongly recommend adding a built-in test of this assumption.

To repair issue #1, it is possible to weight the analyses by the pair sums. This goes a good way towards repairing good old Haseman-Elston linkage (see first issue of BG) and does the same thing here. The reason the ML model-fitting approach does better is because a twin pair difference of 2 formed from a pair that is -1sd and +1sd on a scale has a different likelihood than a pair that has one twin at +1 and the other at +3. The simplistic regression approach doesn't include the weighting - but perhaps this bit of umx actually does it ?