Question

I'm trying to use multidimensional scaling in Matlab. The goal is to convert a similarity matrix to scatter plot (in order to use k-means).

I've got the following test set:

London  Stockholm   Lisboa  Madrid  Paris   Amsterdam   Berlin  Prague  Rome    Dublin
0       569         667     530     141     140         357     396     570     190
569     0           1212    1043    617     446         325     423     787     648
667     1212        0       201     596     768         923     882     714     714
530     1043        201     0       431     608         740     690     516     622
141     617         596     431     0       177         340     337     436     320
140     446         768     608     177     0           218     272     519     302
357     325         923     740     340     218         0       114     472     514
396     423         882     690     337     272         114     0       364     573
569     787         714     516     436     519         472     364     0       755
190     648         714     622     320     302         514     573     755     0

I got this dataset from the book Modern Multidimensional Scaling (Borg & Groenen, 2005). Tested it in SPSS using the PROXSCAL MDS method and I get the same result as stated in the book.

But I need to use MDS in Matlab in order to speed up the process. The tutorial on the site: http://www.mathworks.nl/help/stats/multidimensional-scaling.html#briu08r-4 looks the same as what I'm using above. When I change the data set as what is displayed above and run the code I get the following error: "Not a valid dissimilarity or distance matrix.".

I'm not sure what I'm doing wrong, and if classical MDS is the right choice. I also miss the possibility to say that I want the result in three dimensions (this will be needed in a later stage).

Was it helpful?

Solution

Your matrix is not symetric, check the indices (9,1) and (1,9). To quickly find asymetric indices use [x,y]=find(~(D'==D))

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top