Non-metric multidimensional scaling

The main idea...

Non-metric multidimensional scaling (NMDS) is an indirect gradient analysis approach which produces an ordination based on a distance or dissimilarity matrix. Unlike methods which attempt to maximise the variance or correspondence between objects in an ordination, NMDS attempts to represent, as closely as possible, the pairwise dissimilarity between objects in a low-dimensional space. Any dissimilarity coefficient or distance measure may be used to build the distance matrix used as input.
NMDS is a rank-based approach. This means that the original distance data is substituted with ranks. Thus, rather than object A being 2.1 units distant from object B and 4.4 units distant from object C, object C is the "first" most distant from object A while object C is the "second" most distant. While information about the magnitude of distances is lost, rank-based methods are generally more robust to data which do not have an identifiable distribution.

NMDS is a robust technique. It can:
  • tolerate missing pairwise distances
  • be applied to a (dis)similarity matrix built with any (dis)similarity measure and
  • use quantitative, semi-quantitative, qualitative, or mixed variables

Figure 1: Schematic of a non-metric multidimensional scaling plot. Points represent objects. Objects that are more similar to one another are ordinated closer together. The axes are arbitrary as is the orientation of the plot. Stress values should always accompany an NMDS ordination.


Technical considerations

As NMDS is an iterative algorithm, it can quickly become computationally demanding for large data sets. Further, multiple runs of the NMDS algorithm are needed to ensure a stable solution has been reached. If you do not have access to a platform that can effectively run NMDS, consider using principal coordinates analysis.

How many axes are appropriate?

Choosing the appropriate number of dimensions is an interactive process. After an initial ordination, examine the stress values generated by the algorithm. As a rule of thumb, an NMDS ordination with a stress value around or above 0.2 is deemed suspect and a stress value approaching 0.3 indicates that the ordination is arbitrary. Stress values equal to or below 0.1 are considered fair, while values equal to or below 0.05 indicate good fit. Allowing the algorithm to ordinate in more dimensions can reduce the stress; however, allowing more than 3 dimensions quickly makes interpretation more challenging.

Plotting the observed stress values against the number of dimensions used in a series of NMDS runs can guide your selection of an appropriate number of dimensions. The plot in Figure 2 shows a hypothetical scenario where a distance matrix was subject to several runs of an NMDS algorithm allowing for different numbers of axes (dimensions). In the illustrated case, attempting an ordination with one NMDS axis yields unacceptably high stress whereas two or three dimensions seem  adequate. As adding more dimensions doesn't seem to lead to marked drops in the stress value, an NMDS using two or three axes seems a good choice.



Figure 2: Evaluating ordination stress. a) a scree plot showing the decrease in ordination stress with an increase in the number of ordination dimensions allowed. Finding the "breakpoint" can instruct selection of a minimum number of dimensions. If there is no breakpint and adding more dimensions leads to a small, linear decrease in stress, the data set may not be suited to low-dimensional ordination. b) a Shepard stress plot showing the relationship between the actual dissimilarities between objects (from the original dissimilarity matrix) and the ordination distances (i.e. the distances on the final plot). If these are well correlated, the ordination stress will be low and the visualisation trustworthy. If there is a large amount of scatter (i.e. a poor linear relationship), then the ordination is not representative of the original distances. Occasionally, specific objects may be ordinated poorly (blue arrow), despite the overall solution being acceptable. 

How should objects be initially placed?

Random placement

NMDS routines often begin by random placement of data objects in ordination space. The algorithm then begins to refine this placement by an iterative process, attempting to find an ordination in which ordinated object distances more closely match the order of object dissimilarities in the original distance matrix. Running the NMDS algorithm multiple times to ensure that the ordination is stable is necessary, as any one run may get "trapped" in local optima which are not representative of true distances. During this process, evaluate the algorithm's results based on how it affects your ecological interpretation of the gradients revealed.

There are several other approaches to initially place objects using either the results of another analysis or a priori knowledge about those objects. Some approaches suggested by Legendre & Legendre (1998) are described below.

Placement according to a principal coordinates analysis result

Principal coordinates analysis (PCoA), sometimes called metric multidimensional scaling, offers a less computationally demanding approach to ordinate objects based on a (dis)similarity matrix. The coordinates of objects along principal coordinate axes (the number of which will correspond to the number of dimensions of the NMDS solution) can offer an initial placement of objects for the NMDS algorithm to (potentially) refine.

Placement according to geographic distances

If the objects (rows) in your data set represent "sites", "samples", "observations" or similar entities which are geographically separated, the geographic distances between these objects can be used to initially place objects in an NMDS analysis. As many (if not most) ecological systems and processes are spatially structured, placement according to geographic distances may help the NMDS algorithm achieve good results. As always, consider whether this approach is meaningful to your data.

Placement by moving from high to low dimensionality

As noted above, allowing the NMDS algorithm to ordinate objects in more dimensions generally allows better representation of the distances in the original distance matrix (i.e. less ordination stress). This property may be used to arrive at a meaningful initial placement of objects in a low dimensional space. The coordinates and distances of objects in a higher-dimensional ordination may be extracted and used as the approximate starting positions for a lower-dimensional NMDS run. Remember, the number of dimensions used by the NMDS algorithm is specified by the user.


Rotating the NMDS for easier interpretation

As noted above, the standard NMDS procedure focuses on accurately representing the distances in a distance matrix in an ordination. It does not attempt to create a visualisation which, for example, maximises the separation between points. Minimising overlap between points in an ordination is helpful in interpretation, thus a principal components analysis  may be applied to NMDS axis scores. This effectively rotates an NMDS solution to ensure the first NMDS axis lies along the direction of maximum scatter. Several implementations of the NMDS routine do this automatically, however, performing this manually is not difficult and can be of great help.

Comparing ordinations and groups of objects

At times, it is desirable to compare two or more NMDS ordinations. To do so, consider Procrustes analysis.  To test if groups of objects have significantly different mean dissimilarities, consider the analysis of similarity (ANOSIM) test.

Reading an NMDS plot

Reading NMDS plots is quite straightforward: objects that are ordinated closer to one another are likely to be more similar than those further apart. However, the scale of the axes is arbitrary as is the orientation of the plot. Solutions with higher stress values (usually above 0.20) should be interpreted with caution and those with stress above 0.30 are highly suspect.

Tight clusters of points that are well-separated from other clusters may indicate sub-populations in the data. Be aware that if a cluster of points is very dissimilar from other points or clusters, the arrangement of points in that cluster may not be very meaningful. The stress of the solution would be minimally affected by rearranging points in a tight cluster. Re-running an NMDS with only those objects in a given cluster may reveal more informative patterns.

NMDS is suited to indirect gradient analysis. If the patterns in an ordination corroborate existing knowledge or a hypothesis, there may be grounds for a direct gradient analysis, a hypothesis test, or the design of a new sampling campaign targeting that variation. Do not fall into the trap of data dredging, however.


  • Do not treat the results of distance-matrix-based analyses as 'raw data' in further procedures or interpretation. As pairwise dissimilarities have been calculated, there is now interdependence in the data. See Legendre et al. (2005) for further discussion.
  • Avoid relating environmental variables (or other explanatory variables) to the distances in an NMDS ordination. As an NMDS ordination is typically only an approximate representation of a distance matrix, consider using the distance matrix itself. Consider distance-based redundancy analysis or the Mantel test.

Walkthroughs featuring non-metric multidimensional scaling


  • R
    • metaMDS() in the package vegan. This function performs multiple NMDS runs and retains the best solution. It also wraps several procedures such as dissimilarity matrix calculation, data standardisation, and PCA rotation for convenience.  Function stressplot() may be used to visualise the Shepard stress plot. Functions ordiplot(), ordisurf()and envfit() are useful in plotting the NMDS solution and overlaying additional information such as environmental variables. Such information is largely to provide perspective and not to be treated as a substitute for direct gradient analysis.