pivot_mds {bigmds} | R Documentation |
Pivot MDS
Description
Pivot MDS, introduced in the literature of graph layout algorithms, is similar to
Landmark MDS (landmark_mds()
) but it uses the distance information between landmark and non-landmark
points to improve the initial low dimensional configuration,
as more relations than just those between landmark points are taken into account.
Usage
pivot_mds(x, num_pivots, r)
Arguments
x |
A matrix with |
num_pivots |
Number of pivot points to obtain an initial MDS configuration. It is
equivalent to |
r |
Number of principal coordinates to be extracted. |
Value
Returns a list containing the following elements:
- points
A matrix that consists of
n
individuals (rows) andr
variables (columns) corresponding to the principal coordinates. Since we are performing a dimensionality reduction,r
<<k
- eigen
The first
r
largest eigenvalues:\lambda_i, i \in \{1, \dots, r\}
, where each\lambda_i
is obtained from applying classical MDS to the first data subset.
References
Delicado P. and C. Pachón-García (2021). Multidimensional Scaling for Big Data. https://arxiv.org/abs/2007.11919.
Brandes U. and C. Pich (2007). Eigensolver Methods for Progressive Multidimensional Scaling of Large Data. Graph Drawing.
Borg, I. and P. Groenen (2005). Modern Multidimensional Scaling: Theory and Applications. Springer.
Gower JC. (1968). Adding a point to vector diagrams in multivariate analysis. Biometrika.
Examples
set.seed(42)
x <- matrix(data = rnorm(4 * 10000), nrow = 10000) %*% diag(c(9, 4, 1, 1))
mds <- pivot_mds(x = x, num_pivots = 200, r = 2)
head(mds$points)
mds$eigen