nag_mv_ordinal_multidimscale (g03fcc) performs non-metric (ordinal) multidimensional scaling.
For a set of
objects, a distance or dissimilarity matrix
can be calculated such that
is a measure of how ‘far apart’ objects
and
are. If
variables
have been recorded for each observation this measure may be based on Euclidean distance,
, or some other calculation such as the number of variables for which
. Alternatively, the distances may be the result of a subjective assessment. For a given distance matrix, multidimensional scaling produces a configuration of
points in a chosen number of dimensions,
, such that the distance between the points in some way best matches the distance matrix. For some distance measures, such as Euclidean distance, the size of distance is meaningful, for other measures of distance all that can be said is that one distance is greater or smaller than another. For the former, metric scaling can be used, see
nag_mv_prin_coord_analysis (g03fac), for the latter, a non-metric scaling is more appropriate.
For non-metric multidimensional scaling, the criterion used to measure the closeness of the fitted distance matrix to the observed distance matrix is known as
.
is given by,
where
is the Euclidean squared distance between points
and
and
is the fitted distance obtained when
is monotonically regressed on
, that is,
is monotonic relative to
and is obtained from
with the smallest number of changes. So
is a measure of by how much the set of points preserve the order of the distances in the original distance matrix. Non-metric multidimensional scaling seeks to find the set of points that minimize the
.
An alternate measure is squared
,
,
in which the distances in
are replaced by squared distances.
In order to perform a non-metric scaling, an initial configuration of points is required. This can be obtained from principal coordinate analysis, see
nag_mv_prin_coord_analysis (g03fac). Given an initial configuration, nag_mv_ordinal_multidimscale (g03fcc) uses the optimization function
nag_opt_conj_grad (e04dgc) to find the configuration of points that minimizes
or
. The function
nag_opt_conj_grad (e04dgc) uses a conjugate gradient algorithm. nag_mv_ordinal_multidimscale (g03fcc) will find an optimum that may only be a local optimum, to be more sure of finding a global optimum several different initial configurations should be used; these can be obtained by randomly perturbing the original initial configuration using functions from the
g05 Chapter Introduction.
nag_mv_ordinal_multidimscale (g03fcc) is not threaded in any implementation.
Missing values in the input distance matrix can be specified by a negative value and providing there are not more than about two thirds of the values missing, the algorithm may still work. However, the function
nag_mv_prin_coord_analysis (g03fac) does not allow for missing values so an alternative method of obtaining an initial set of coordinates is required. It may be possible to estimate the missing values with some form of average and then use
nag_mv_prin_coord_analysis (g03fac) to give an initial set of coordinates.
The data, given by
Krzanowski (1990), are dissimilarities between water vole populations in Europe. Initial estimates are provided by the first two principal coordinates computed.