Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

umGxE Add extended version (allow T1mod != T2mod) #125

Closed
2 tasks done
tbates opened this issue May 2, 2020 · 1 comment
Closed
2 tasks done

umGxE Add extended version (allow T1mod != T2mod) #125

tbates opened this issue May 2, 2020 · 1 comment

Comments

@tbates
Copy link
Owner

tbates commented May 2, 2020

umxGxE currently assumes twins share the moderator (e.g all(T1mod == T2mod)==TRUE

Under the assumption that the latent causes of the moderator do not exert a moderated influence on the DV, it is legitimate to allow non-shared moderators, as long as both twins have their co-twin's moderator regressed out of their DV score (in addition to regressing out their own score on the moderator from their DV).

i.e. the moderated univariate model is run on residuals(DV ~ T1mod + T2mod)

TODO

  • In the interim, add a check and alert user when moderator is not shared.
  • Add support for "both-twins" residualization.

notes

umxGxE used to support regressing mod and mod^2 out of the DV. Now it will support only mod, not mod^2 when in non-shared moderator mode. This is not a great loss as most people don't regress powers of the moderator, and can be added if needed, perhaps as part of a highly flexible formula-based moderator approach, like #116

@tbates tbates added this to TODO in incremental features via automation May 2, 2020
@tbates tbates added this to To do in new models via automation May 2, 2020
@tbates
Copy link
Owner Author

tbates commented May 2, 2020

Test example, just adding noise to Twin 2 moderator ...

tmp = twinData
tmp$age1 = twinData$age
tmp$age2 = tmp$age1 +rnorm(n=length(tmp$age1))
selDVs  = "bmi"; selDefs = "age"
mzData = subset(tmp, zygosity == "MZFF"); dzData = subset(tmp, zygosity == "DZFF")
m1 = umxGxE(selDVs= "bmi", selDefs= "age", sep= "", dzData= dzData, mzData= mzData, tryHard= "yes")
name Estimate Std.Error
a_r1c1 0.700 0.041
c_r1c1 0.000 0.342
e_r1c1 0.293 0.030
am_r1c1 0.002 0.001
cm_r1c1 0.000 0.008
em_r1c1 0.006 0.001
mean 20.896 0.050
betaSelf_r1c1 0.013 0.009
betaCoTwin_r1c1 0.008 0.009

@tbates tbates closed this as completed May 2, 2020
incremental features automation moved this from TODO to Done May 2, 2020
new models automation moved this from To do to Done May 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
new models
  
Done
Development

No branches or pull requests

2 participants