Tuesday, April 21, 2009

Metric MDS and software

(disparities) = b * (proximities in terms of dissimilarities; short for 'prox' below)

interval MDS:

(disparities) = a + b * (prox)

logarithmic MDS:

(disparities) = log(prox)

(disparities) = b * log(prox)

(disparities) = a + b * log(prox)

exponential MDS

(disparities) = exp(prox)

(disparities) = b * exp(prox)

(disparities) = a + b * exp(prox)

power MDS (which includes square root with q = 0.5):

(disparities) = (prox)^q

(disparities) = b * (prox)^q

(disparities) = a + b * (prox)^q

polynomial MDS (i.e., spline MDS without interior knots)

(disparities) = a + b * (prox) + c * (prox)^2

(disparities) = a + b * (prox) + c * (prox)^2 + d * (prox)^3

However, softwares are not always clear about the kinds of metric MDS they are performing. Based on my own testing as of 04/21/09, here is a table of comparison:

Software Package

Program, version, date

Metric MDS supported

MATLAB 7.8.0.347 (R2009a)

mdscale() 1.1.6.9, 12/01/08Criterion = 'metricstress'

Ratio only

smacof in R 0.9-0 (05/24/08)

smacofSym(), metric = TRUE

Ratio only

SPSS 17.0.0 (08/23/08)

Proxscal version 1.0

Ratio, Interval, Spline

SYSTAT 12.02.00

Multidimensional ScalingShape = Square (similarities model)

Interval (Linear), Log, Power

To date, no program in any of these software packages provide combinations of two or more than two transformations, but these could be very helpful. For example, log + polynomial may be of interest, because log may be used to normalize residuals, while polynomial may be able to pick up the trend of the data. That is,