BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Edmu
Fluorite | Level 6

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

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

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.

View solution in original post

13 REPLIES 13
ballardw
Super User

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.

Edmu
Fluorite | Level 6

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

jiltao
SAS Super FREQ

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

 

 

Edmu
Fluorite | Level 6

Dear Jill,

 

Herewith the information you requested. (see attachment)

 

Thank you very much for your help.

 

Best,

Roy

 

jiltao
SAS Super FREQ

Can you send in the data?

Thanks,

Jill

Edmu
Fluorite | Level 6

Dear Jill,

 

Thanks again for your help.
In the attachment you will find the file.

 


thank you in advance,
Roy

jiltao
SAS Super FREQ

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

WarrenKuhfeld
Ammonite | Level 13

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.

Edmu
Fluorite | Level 6

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

WarrenKuhfeld
Ammonite | Level 13

Jill is in tech support and will be able to help you. Tell her Warren says "hi."

Edmu
Fluorite | Level 6
I'm definitely going to do that and thank you for pointing this out.
jiltao
SAS Super FREQ

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 --

https://go.documentation.sas.com/doc/en/pgmsascdc/v_049/statug/statug_calis_syntax13.htm#statug.cali...

 

Hope this helps,

Jill

Edmu
Fluorite | Level 6

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

 

SAS Innovate 2025: Register Now

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!

What is ANOVA?

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.

Discussion stats
  • 13 replies
  • 3105 views
  • 4 likes
  • 4 in conversation