lbound for variances

1 reply [Last post]
sbremer's picture
Offline
Joined: 11/08/2011

Hello again :)

I need some assistance:
When running my model (factor analysis with four indicators) with mxRun() I get a negative residual variance. So I used lbound = 0 for the estimate of this variance. The output gives me 0 for the estimate. I wonder whether OpenMx really estimates there or does it try to estimate in the direction of the old, negative estimate and stop at the lower bound of 0.

If this is not detailed enough I could provide my script and full output.

Thanks in advance!
Sophia

Ryne's picture
Offline
Joined: 07/31/2009
OpenMx first evaluates your

OpenMx first evaluates your model at the starting values you provide, then picks new values based on the first and second derivatives of the likelihood space to try and find a minimum -2LL (or maximum log likelihood). It will always respect box constraints (i.e., lbounds and ubounds), but mxConstraints are only respected at the end of optimization. It's possible that the best fit given your lbound is very very close to the lbound. For variances, I usually pick a very small positive number for the constraint (.001 or .00001, for instance).