I read the article in Structural Equation Modeling Journal. I would like to try to replicate your findings. Would it be possible to obtain a copy of your script?
I read the article in Structural Equation Modeling Journal. I would like to try to replicate your findings. Would it be possible to obtain a copy of your script?
Sure. Which script specifically?
Related question: If I just add an mxCI() call to model with a bounded parameter, will OpenMx appropriately select the SLSQP optimizer automatically, or do I need to specify this? Secondly, if a parameter has both a lower and upper bound (e.g., an estimate of an R squared value in a standardized regression model), does any appropriate adjustment for the CI currently exist?
> If I just add an mxCI() call to model with a bounded parameter, will OpenMx appropriately select the SLSQP optimizer automatically, or do I need to specify this?
You need to specify the optimizer.
> Secondly, if a parameter has both a lower and upper bound (e.g., an estimate of an R squared value in a standardized regression model), does any appropriate adjustment for the CI currently exist?
In this case, no adjustment is implemented.
Concerning SLSQP, you do indeed need to select the optimizer yourself. The simplest way to do that is, of course, with
mxOption(NULL,"Default optimizer","SLSQP")
, which (unless you're using a custom compute plan) will cause SLSQP to be used for both the primary optimization (for the point estimates) and the secondary optimizations to find the confidence limits.Now, suppose you want to use SLSQP for confidence limits, but use a different optimizer (NPSOL, say) for the primary optimization. One way to accomplish that is:
Another way to accomplish it is by a custom compute plan:
Then, include
plan
in your MxModel object, just as you would, say, an MxAlgebra.If you're concerned about more than one parameter bound, or about implicit bounds arising from the choice of parameterization, consider using bootstrap CIs, via
mxBootstrap()
. The default behavior is to compute and report bias-corrected quantile intervals, which, like profile-likelihood intervals, are bound- and constraint-respecting, "transformation-respecting" under change-of-parameter, and not required to be asymmetric. Note that the default coverage probability of bootstrap CIs is 50%; if you want wider coverage probability, use more than the default 200 bootstrap replications (I recommend 1000 at bare minimum for 95% CIs.Thanks both of you!