Hi,

I am doing an MDS with a distance matrix coming from geodesic distances between points X on a 3d mesh (ie., not euclidean distances), and try to find points Y in euclidean space which best approximate these distances.

I thus use matlab's cmdscale, which I think does the same as when the distance matrix is euclidean (I get the same result as whem I do a PCA). Matlab's help states that the distance matrix needs not be euclidean, so it should be working fine.

I now measure the goodness of fit optimized by the MDS, which is a sum of squared errors, and should thus be :
sumerr2 = norm(DistMatrix-pdist(Y(:,1:NDim)))

This value decreases when going from 1 to 3 dimensions, but then monotonically increases after 4 dimensions! Why would it be so ? If the fourth dimension increases this number, the MDS should have set it to 0, isn't it ? Or did I miss something.... ?

Also, are there some variants of MDS which assume the distance matrix is geodesic instead of euclidean, and which thus don't just perform a PCA ?

Thanks!

Euclidean embeddingsonly (where the distance corresponds to $\|x-y\|$---and a different optimization problem needs to be solved if we are not seeking Euclidean embeddings. – Suvrit Jun 27 '11 at 17:32