submodel

Posted on
No user picture. userzht Joined: 02/19/2011

Hi, everyone. I found that when construct submodels, such as AE or CE models, the usual commands are like this:

AEModel <- mxModel(ACEFit, name="AE",
mxModel(ACEFit$ACE,
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=F, values=0, name="c" ) # drop c at 0
))

, not this:

AEModel <- mxModel(ACEModel, name="AE",
mxModel(ACEModel$ACE,
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=F, values=0, name="c" ) # drop c at 0
))

. The mxRun() results would be a little different. I want to know which one is better.

Replied on Fri, 04/01/2011 - 15:21
Picture of user. neale Joined: Jul 31, 2009

In principle, both approaches should give the same answer. In practice they may differ for reasons of numerical precision, and depending on how poor the starting values are in each. Sometimes dropping a parameter - particularly one with a substantial estimate - without adjusting the starting values of the remaining free parameters can result in very poor outcomes. This is because the predicted variance will typically shrink, and some observations may end up so many standard deviations from the mean that the likelihood is essentially zero. The same thing could happen when dropping a variance component parameter which has an arbitrary starting value like .6.

In the end, the best solution would be the one with the lowest (largest negative or smallest positive) -2lnL. Possibly, refitting that model from its solution would increase confidence that the solution is a global minimum.