Violation of equality of means in bivariate cholesky model
Posted on
YiTan
Joined: 10/08/2014
Forums
Hi,
I ran the saturated bivariate submodels to check whether the assumptions of equality of means and variance were met, and I noticed something quite interesting: although the submodels were significantly different from the saturated full model when I constrained the means across twins and zygosity, the submodel which constrained means and variances across twins and zygosity was not significantly different from the saturated full model. Are there any possible explanations for this? And can I still go ahead and run the bivariate cholesky models even though the equal means assumption is violated?
Thanks and best regards,
Yi
Clarify
I want to make sure I understand the question. Say you have these three models
Are you saying you found Sat and SatM were different, but Sat and SatMV were not different?
Log in or register to post comments
In reply to Clarify by AdminHunter
Yes, that's right
Yes, that's right. Here's the output I got:
> # ------------------------------------------------------------------------------
> # RUN SATURATED SUBMODELS
>
> # Constrain expected Means to be equal across twin order
> eqMeansTwinModel <- mxModel( twinSatModel, name="eqMeTwins" )
> for (i in 1:nv) {
+ eqMeansTwinModel <- omxSetParameters( eqMeansTwinModel, label=c(laMeMZ[nv+i],laMeMZ[i]), free=TRUE, values=svMe[i], newlabels=laMeMZ[i] )
+ eqMeansTwinModel <- omxSetParameters( eqMeansTwinModel, label=c(laMeDZ[nv+i],laMeDZ[i]), free=TRUE, values=svMe[i], newlabels=laMeDZ[i] ) }
> eqMeansTwinFit <- mxRun( eqMeansTwinModel, intervals=T )
Running eqMeTwins
> # Constrain expected Means to be equal across twin order and zygosity
> eqMeansZygModel <- mxModel( eqMeansTwinModel, name="eqMeZyg" )
> for (i in 1:nv) {
+ eqMeansZygModel <- omxSetParameters( eqMeansZygModel, label=c(laMeMZ[i],laMeDZ[i]), free=TRUE, values=svMe[i], newlabels=laMeMZ[i] ) }
> eqMeansZygFit <- mxRun( eqMeansZygModel, intervals=T )
Running eqMeZyg
> # Print Comparative Fit Statistics
> SatNested <- list(eqMeansTwinFit, eqMeansZygFit)
> tableFitStatistics(twinSatFit, SatNested)
Name ep -2LL df AIC diffLL diffdf p
Model 1 : twinSat 28 1104.54 275 554.54 - - -
Model 2 : eqMeTwins 24 1114.98 279 556.98 10.44 4 0.03
Model 3 : eqMeZyg 22 1122.33 281 560.33 17.78 6 0.01
> # Constrain expected Variances to be equal across twin order (and all the means as well..)
> eqVarsTwinModel <- mxModel( eqMeansZygModel, name="eqThTwins" )
> for (i in 1:nv) {
+ #making cov[1,1]=cov[3,3];cov[2,2]=cov[4,4]
+ eqVarsTwinModel <- omxSetParameters( eqVarsTwinModel, label=c(paste("covMZ_",nv+i,"_",nv+i,sep=""),paste("covMZ_",i,"_",i,sep="")),
+ free=TRUE, values=svVa[i], newlabels=paste("covMZ_",i,"_",i,sep="") )
+ eqVarsTwinModel <- omxSetParameters( eqVarsTwinModel, label=c(paste("covDZ_",nv+i,"_",nv+i,sep=""),paste("covDZ_",i,"_",i,sep="")),
+ free=TRUE, values=svVa[i], newlabels=paste("covDZ_",i,"_",i,sep="") ) }
> eqVarsTwinFit <- mxRun( eqVarsTwinModel, intervals=T )
Running eqThTwins
> eqVarsTwinSumm <- summary( eqVarsTwinFit )
> tableFitStatistics(twinSatFit, eqVarsTwinFit)
Name ep -2LL df AIC diffLL diffdf p
Model 1 : twinSat 28 1104.54 275 554.54 - - -
Model 2 : eqThTwins 18 1122.49 285 552.49 17.94 10 0.06
Log in or register to post comments
In reply to Yes, that's right by YiTan
Nested vs base comparison
Name ep -2LL df AIC diffLL diffdf p
Model 1 : twinSat 28 1104.54 275 554.54 - - -
Model 2 : eqMeTwins 24 1114.98 279 556.98 10.44 4 0.03
Model 3 : eqMeZyg 22 1122.33 281 560.33 7.35 2 0.025
Model 4 : eqThTwins 18 1122.49 285 552.49 0.16 4 0.99
This would suggest you lose important information going from twinSat to eqMeTwins; and going from eqMeTwins to eqMeZyg; but don't lose important information going from eqMeZyg to eqThTwins.
Log in or register to post comments
In reply to Nested vs base comparison by mhunter
Thank you Michael for your
Log in or register to post comments
Did you get an answer?
I'm relatively new to this area and your last question to Michael caught my eye. What answer did you find this? I imagine that the bivariate ACE models would not be appropriate to run in this scenario, but wonder what strategies you found when trying to deal with this?
Cheers
Pradeep
Log in or register to post comments