09-30-2014 02:39 PM
I am running this code and none of the optimization methods seem to work. any one has any idea why?the erro i get for example for levmar op method is:
ERROR: LEVMAR Optimization cannot be completed.
NOTE: LEVMAR needs more than 50 iterations or 500 function calls.
proc calis data=survey method=ml;
f1= t1 f11 + t2 f6 + d1,
f2= t11 f6 + t12 f1 + d2,
f3= t4 f1 + d3,
f4= t5 f1 + d4,
f7= t6 f1 + d7,
f8= t3 f1 + d8,
f10=t9 f11 + d10,
f12=t7 f1+ t10 f9+ d12;
03-27-2015 08:01 PM
have you tried estimating the model by subsets? E,g. everything that predicts F1 as one subset, and everything that F1 predicts as another?
Partitioning big SEMs like that can help identify the source of the problem, and help sharpen you focus on solutions. In my experience it has often been an overlooked relationship not suggested by my literature search. Remember to look at the modification index for clues.
04-29-2015 10:27 AM
Depending on your iteration history, different optimization methods can be tried out. If you are getting really close to a final solution, use MAXITER=100 or larger numbers might help. If the optimization method itself is not good enough for the problem, try other optimization method such as OMETHOD=NRR. If you have bad starting values, you might try using other estimation method in the first run, save it and input it in the next ML run. For example,
PROC CALIS METHOD=GLS OUTEST=outset;
PROC CALIS METHOD=ML INEST=outset;
There are certainly many other reasons for non-convergence. I am just giving you some suggestions on overcoming technical difficulties in optimization. Other issues like identification, wrong model, strange data are not covered here.