I'm trying to determine how many random initializations (restarts) I should use when performing an nMDS ordination. I understand I want to choose the solution that minimizes the stress, but how many random restarts are necessary to make sure I've actually found the lowest stress configuration for the ordination? How many random restarts will deliver an appropriate number of configurations from which to pick the one with the lowest stress?

(Note: there was a confusion in my original formulation of this question. The number of iterations (vs. random starts) for each initialization cannot really be determined without actually performing the iterations and examining when convergence in stress minimization actually occurs).

I would like to ensure I'm not simply finding a 'local solution', and I would assume that the increased number of restarts would often (though not always) increase my chances of avoiding that issue (though this is almost an entirely different issue that has likely been addressed elsewhere).

Should the number of restarts be influenced by: number of samples, number of variables per sample, number of dimensions, etc? OR should I simply just pick a large number of starts and run with it? Is there a rule?

Let's assume I have a powerful enough computer (e.g., a powerful PC but not a super computing cluster) that allows for processing time and power to not be the limiting factors.

My data (if interested):

  • A Bray-Curtis distance matrix with 130816 values that was calculated from data with 512 different rows (samples) and 49 different columns (variables).
  • I want a 2D ordination.
  • I'm using the nmds function in the ecodist package in R.
  • $\begingroup$ I'm asking this question for 2 reasons: First, just to know if there is in fact a general rule for determining the number of iterations to use. Second, I have previously used 50 iterations for my data on 3 separate occasions, but the resulting ordinations were all surprisingly different (more so than I'd expect anyway!). I'm hoping that more iterations will eliminate (or at least reduce) this issue, but I'm not sure how many iterations are enough. $\endgroup$ – theforestecologist Jan 11 '16 at 20:04
  • $\begingroup$ @Momo, I'm talking about the number of random starts to find a possibly global solution of different mds on the same data. (I'm not even immediately sure when the latter scenario would be useful). $\endgroup$ – theforestecologist Jan 11 '16 at 20:40
  • 2
    $\begingroup$ @Momo, Ah. I see what you're saying. Yes, your comment is exactly right. I had initially confused maxits and nits in the function. Though, this being the case, my (modified) question still stands: how many random starts should I use and is there a rule to determine this? The maxits (max iterations) form of my question seems to be unanswerable without actually running the ordination and observing how many iterations is necessary to cause the stress minimization of the configuration to converge. $\endgroup$ – theforestecologist Jan 11 '16 at 21:28

Not truly an answer to the question, but perhaps the best possible response:

According to this page, no matter how many random starts you use you may still not find the global minimum:

NMDS is somewhat sensitive to the initial positions, and in fact sometimes settles into a local optimum that is not the best solution...There are several approaches to minimize the problem. One approach is to try multiple random starts, and to keep the best result (lowest stress). You are never guaranteed that you have found the best solution, but if the majority of your results achieve similar low levels of stress, then you can be reasonably certain that you have at least found a GOOD solution, if not the theoretical best.


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.