Hello everybody,
I'm new at the forum and a newbee with OpenMx and SEM modelling, so my excuses if there may be some stupid questions I gonna ask :-)
Here comes my Problem: I try to write a script that automatically searches the best free parameter and fits it until all significant parameters are fittet. Just like the OU AM option of LISREL. However, it takes quite a while over it, and with more complex models its probably going to take days...
What I'm currently doing is in words and pseudo-code
1. compute the log-likelihood of a null-model:
LLnull = mxEval(objective, mxRun(nullModel))
-
compute the log-likelihood of all possible alternative models. That are those models, that have exactly one extra parameter freed compared to the null-model. The positions of allowed to-be-freed parameters come in an extra matrix.
for (all positions that are allowed to be freed) {
altModel@matrices$A@free[position] = TRUE
LLalt[position] = mxEval(objective, mxRun(altModel)) } -
compare LL's of null- and alternative- model, chose the parameter that gives the greatest change in LL and make this the next null-model
-
start from beginning (until no significant changes left)
As you can imagine this takes a while. However, it must be possible to fasten it up by not having openMx computing the whole model, but just the one extra parameter! Does anybody know if there is an option to do this? Of course other ideas are welcome as well!!
Thanks a lot!