1
$\begingroup$

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)

$\endgroup$
4
  • $\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, 2013 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, 2013 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, 2013 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, 2013 at 19:22

1 Answer 1

4
$\begingroup$

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

$\endgroup$
3
  • $\begingroup$ So what are the other methods used for? $\endgroup$
    – Uri
    Apr 27, 2013 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$ Apr 28, 2013 at 23:04
  • $\begingroup$ Can this be used with high dimensional data containing 60 dimensions for example please? $\endgroup$
    – Avv
    Jul 25, 2021 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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