How to find a quasi-distance-preserving mapping from $\mathbb{R}^3$ to $\mathbb{R}^2$

49 Views Asked by At

I have a finite set of points in $\mathbb{R}^3$ and would like to project them on a plane in such a way that distance between points is preserved as much as possible. Is there a nice way to do it? I was thinking of minimizing some sum of squares of the difference between the original distances and the projected distances between points but it looks really messy and without hope...

2

There are 2 best solutions below

3
On

Such "approximate" distance-preserving mappings always exist, and not just from $\mathbb{R}^3$ to $\mathbb{R}^2$, from arbitrary high-dimensional Euclidean space to any lower-dimensional Euclidean space. These transformations are often referred to as Johnson-Lindenstrauss mappings, and these maps can take on any number of forms, i.e., scaled random Gaussian projections, rectangular Rademacher matrices, etc. The degree of error will depend on the map, number of maps used to make an aggregated projection, dimensionality of the input points.

0
On

You may try dimension reduction techniques like principal component analysis readily available with statistical and data science packages like scikit-learn, SPSS, Stats model etc. PCA decomposes the data matrix into eigenvectors and corresponding eigenvalues to reduce 3-D to 2-D orthogonal components while retaining much of the variance.
PCA will give the % of total variance captured by each 3 component & if appropriate threshold is achieved, say 75% by 2 components, you got your transformation from 3-D to 2-D.