I receive the warning 'iteration limit reached without convergence' when using PROC PLS in SAS. What does this warning mean?

I have 1,540 observations, 900 dependent variables and 600 independent variables. I am trying to generate 15 components. Is this just too many variables? I also received the same warning with approximately 100 independent and dependent variables and the same sample size and component number.


The algorithms behind many of these model fitting procedures (PLS, Genmod, LME, etc) is an iterative one, meaning that there's no closed form solution and that we must run iterations from a reasonable starting point until some convergence criteria is reached. If you're receiving that warning, it means that the iteration limit has been reached without the model converging, and that the resulting estimates can't really be trusted.

In general, models might not converge if your data is too sparse in certain categories, if you're trying to fit too many explanatory variables, or if there are anomalies in your data like a miscoded observation. Try doing some exploratory analysis to see if this might be the case. Why are you sure you need 15 components? Have you done a PCA to see how many components is really necessary?

One final thing you can try is to manually increase the iteration limit in SAS - this might do the trick. In PLS, you can specify the maxiter = option; the default is 200 iterations, try increasing it to 500 or something. You can find more details from the SAS Guide for PLS Statements.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.