An implementation to minimize explicitly normalized stress over dissimilarities to a power by majorization with ratio optimal scaling in an alternating minimization algorithm. The optimal power transformation lambda of the dissimilarities is found by an inner optimization step via the Brent-Dekker method.
opmds(
delta,
type = "ratio",
weightmat = 1 - diag(nrow(delta)),
init = NULL,
ndim = 2,
itmax = 1000,
acc = 1e-10,
verbose = FALSE,
principal = FALSE,
interval = c(0, 4)
)
a 'smacofP' object (inheriting from 'smacofB', see smacofSym
). It is a list with the components
delta: Observed, untransformed dissimilarities
tdelta: Observed explicitly transformed dissimilarities, normalized
dhat: Explicitly transformed dissimilarities (dhats), optimally scaled and normalized
confdist: Transformed fitted configuration distances
iord: optimal scaling ordering
conf: Matrix of fitted configuration
stress: Default stress (stress 1; sqrt of explicitly normalized stress)
spp: Stress per point
ndim: Number of dimensions
model: Name of smacof model
niter: Number of iterations
nobj: Number of objects
type: Type of MDS model
weightmat: weighting matrix as supplied
stress.m: Default stress (stress-1^2)
tweightmat: transformed weighting matrix (here NULL)
pars, theta: The optimal transformation parameter lambda
dist object or a symmetric, numeric data.frame or matrix of distances
what type of MDS to fit. Currently only "ratio".
a matrix of finite weights.
starting configuration
dimension of the configuration; defaults to 2
maximum number of iterations. Default is 10000.
numeric accuracy of the iteration. Default is 1e-6.
should iteration output be printed; defaults to 'FALSE'.
If 'TRUE', principal axis transformation is applied to the final configuration.
the line constraints c(upper, lower), within which to look for the optimal power transformation lambda. Defaults to c(0,4).
See stops
for a similar, more flexible idea.
dis<-smacof::kinshipdelta
res<-opmds(dis,itmax=1000)
res
summary(res)
plot(res)
Run the code above in your browser using DataLab