Dear all,
I get an error message at proc calis that I don't understand.
Error message is:
ERROR: zmarset, depth = 2 is not 1.
This happens after I try to analyse a CFA. Command line for CFA is:
proc calis data=s1 method=FIML maxit=8000;
The job was working on the job for more than 11 hours.
I just aborted it.
Who can give me a tip or hints what this error message means?
Thank you very much in advance.
Roy Stewart
Please do not separate error messages from submitted code.
Any time you get an error you should copy the text from LOG including the submitted code and all notes, warnings or errors generated. Then on the forum open a text box using the </> icon that appears above the message box and paste the copied text. Copying from the log is important because amazingly enough frequently the code people post in a question is not what actually was submitted due to typos or attempts to simplify leaving out options.
The text box will preserve formatting that the main message windows will remove to maintain legibility. It also separates the text in question from the general discussion making things clearer.
You should also be prepared to discuss your data set as far as number of observations and number of levels of values for the variables used in the procedure.
If your concern is run time I would suggest reducing the MAXIT, maybe to 100, and see how that behaves. If the model doesn't converge you might get diagnostics that are telling you why.
Please do not separate error messages from submitted code.
Any time you get an error you should copy the text from LOG including the submitted code and all notes, warnings or errors generated. Then on the forum open a text box using the </> icon that appears above the message box and paste the copied text. Copying from the log is important because amazingly enough frequently the code people post in a question is not what actually was submitted due to typos or attempts to simplify leaving out options.
The text box will preserve formatting that the main message windows will remove to maintain legibility. It also separates the text in question from the general discussion making things clearer.
You should also be prepared to discuss your data set as far as number of observations and number of levels of values for the variables used in the procedure.
If your concern is run time I would suggest reducing the MAXIT, maybe to 100, and see how that behaves. If the model doesn't converge you might get diagnostics that are telling you why.
Thank you for your advice.
I have reduced the run time to 100 and still get the same error message.
I have now copied the text from the LOG and added it. I shortened the file of LOG a little (see attachment)
Even after another 10 hours, there was no solution and I had to abort the job again.
I hope you can help me.
Thanks in advance
What release of SAS are you using? Please submit the following code and send me the Log --
%put Site: &syssite Release: &sysvlong System: &sysscp &sysscpl;
Can you send in the data? If not here in the forum, you might open a case with SAS Technical Support and I will be happy to provide further assistance --
SAS Technical Support | SAS Support
Thanks,
Jill
Dear Jill,
Herewith the information you requested. (see attachment)
Thank you very much for your help.
Best,
Roy
Can you send in the data?
Thanks,
Jill
Dear Jill,
Thanks again for your help.
In the attachment you will find the file.
thank you in advance,
Roy
Thanks you for sending me the data.
The program has been running since last night.... I will update you as soon as I have more information.
Thanks,
Jill
I wrote that error message. It is part of an internal system and should not ever be surfaced to users. Please contact SAS technical Support and provide enough information to reproduce the problem.
Dear Warren,
I don't know how much contact you have with Jill (see email correspondence), but I will send the data to Jill first and hope that a solution can be found. Or would you still advise me to contact SAS Technical Support.
Thanks in advance for your responses.
Roy
Jill is in tech support and will be able to help you. Tell her Warren says "hi."
The program seems to take forever. If you interrupt it, then the reported Error message might appear. This was produced because the execution was in the middle and some matrices have not been cleared. If you terminate the program like this, then the error is kind of “normal” and there is nothing to do about it.
I let it run over days and nights, and got the following messages in the Log --
NOTE: Saturated mean structures in models are analyzed with the FIML method.
NOTE: Sample statistics such as correlation matrix or mean vector are based on the complete
observations only.
ERROR: QUANEW Optimization cannot be completed.
NOTE: QUANEW needs more than 100 iterations or 1000 function calls.
NOTE: The FIML estimation of the saturated model converged (function value = 818.4849, df = 0).
NOTE: The FIML estimation of the baseline model converged (function value = 893.9941, df =
5995).
NOTE: Due to optimization failure, statistics in the Fit Summary table might not be
appropriate.
NOTE: Due to optimization failure, fit statistics in path diagrams might not be appropriate.
NOTE: Due to optimization failure, standard error estimates are not computed.
NOTE: Because standard error estimates are not available, flagging for significant estimates
is not done in path diagrams.
NOTE: PROCEDURE CALIS used (Total process time):
real time 65:55:43.65
cpu time 65:53:28.92
The program did not converge, unfortunately.
You might increase the maxiter= value and maxfunc value. For example, add maxiter=1000 maxfunc=5000 options in the PROC CALIS statement. But by increasing the number of iterations, you might or might not be able to find a converged solution. For a model this large, there is really no guarantee for this. You might want to try other optimization techniques or estimation methods, for example, method=ML, or other method= option as described in the documentation --
Hope this helps,
Jill
Dear Jill,
Thank you very much for figuring it out. Since I did not have the patience you have (real time 65:55:43.65) to run the programme, I had aborted it. So logically this error message. But even with the instructions (maxiter=1000 maxfunc=5000), there is still no guarantee of a solution.
Also, I must give you, greetings from Warren Kuhfeld.
Best,
Roy
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.