I want to plot high dimensional data on x y plane. For that I know three methods: Principal component analysis (PCA), multidimensional scaling (MDS) and a method from spectral graph theory (using the second and third eigenvectors of the laplacian of the graph or w/e).

What are the different aspects of each technique and which one would be better if I want to minimize distance between the original vectors and distance between their 2d representations? Are there other (better) techniques?

(Preferably something with ready-made python code)

  • $\begingroup$ As far as I can tell, these methods reduce the number of dimensions and then (at least potentially) plot those. Is that what you want, or do you want to plot all the dimensions? If so, how many subjects and how many dimensions? $\endgroup$ – Peter Flom Apr 25 '13 at 18:51
  • $\begingroup$ Is this a supervised or an unsupervised problem? Do you have a well defined outcome and what is it's distribution (continuous/binary)? $\endgroup$ – AdamO Apr 25 '13 at 18:54
  • $\begingroup$ @PeterFlom: I want to reduce dimensions so that the distances between my vectors before and after the reductions stay similar. $\endgroup$ – Uri Apr 25 '13 at 19:22
  • $\begingroup$ @AdamO: I have ~10,000 vectors, with continuous values (-1 to 1) in ~80 dimensions. The outcome should be a 2d plot of the vectors/points after the reduction, so a human being can look at it. $\endgroup$ – Uri Apr 25 '13 at 19:22

MDS attempts to do exactly what you want. Specifically, MDS constructs a 2-d representation of the data that minimizes the distortions in the distances between points. See http://en.wikipedia.org/wiki/Multidimensional_scaling#Details.

If your original data is very curved and you want to preserve local structure, you may also want to take a look at local MDS. http://www.stat.yale.edu/~lc436/papers/lmds-paper1.pdf

  • $\begingroup$ So what are the other methods used for? $\endgroup$ – Uri Apr 27 '13 at 11:48
  • $\begingroup$ PCA minimizes the reconstruction error: If you want to project data onto a low-dimensional space while disturbing the data as little as possible, then PCA is what you want. $\endgroup$ – Stefan Wager Apr 28 '13 at 23:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.