Is there a data decomposition method similar to eigenvalue that estimates projection matrix to reduce dimensionality but does not project similar vectors too far away in euclidian distance terms from each other if original data from the same class varies a little in scale, shift and rotation (2D case).
y = E*x;
e.g. a ECG classification problem example. Cardio cycles have different duration. In addition scale and shift depends on the accuracy on the beat detection. Thus cardio cycles belonging to the same class might be projected to far away due to that variation.