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 ?