smacofConstraint {smacof}R Documentation

SMACOF Constraint

Description

SMACOF with constraints on the configuration

Usage

smacofConstraint(delta, constraint = "linear", external, ndim = 2, weightmat = NULL, startconf = NULL,
metric = TRUE, ties = "primary", verbose = FALSE, modulus = 1, itmax = 1000, eps = 1e-6)

Arguments

delta Either a symmetric dissimilarity matrix or an object of class "dist"
constraint Type of constraint: "linear", "unique", "diagonal", or a user-specified function (see details)
external Data frame or matrix with external covariates, or list for simplex and circumplex (see details)
ndim Number of dimensions
weightmat Optional matrix with dissimilarity weights
startconf Optional matrix with starting values for configurations (see details)
metric If FALSE non-metric MDS is performed
ties Tie specification for non-metric MDS only: "primary", "secondary", or "tertiary"
verbose If TRUE, intermediate stress is printed out
modulus Number of smacof iterations per monotone regression call
itmax Maximum number of iterations
eps Convergence criterion

Details

The user can specify a function with the following arguments: configuration matrix with starting values, matrix V (based on the weight matrix, see package vignette), external scale matrix. The function must return a matrix of resulting configurations.

A matrix with starting configurations can be specifiied. For constraint = "linear" it has to be of dimension (n x p). For constraint = "unique" it is typically of the form X = (Y|D) with D as (n x n) diagonal matrix and Y (n x p) configuration matrix. Hence X is of dimension (n x (n + p)). For constraint = "diagonal" it is typically of dimension (n x q) where q is the number of columns of the external scale matrix (and thus number of dimensions). If constraint is user-specified the specification of startconf is mandatory.

The argument external allows for the specification of a covariate data frame (or matrix) of dimension (n x q). Alternatively, for simplex fitting the user can specify a list of the following structure: external = list("simplex", dim2) with dim2 denoting the dimension of the simplex with dim2 < n. For a circumplex the list has to be of the following form: external = list("circumplex", dim2, k1, k2) with 1 <= k1 <= k2 <= n (see also examples section). k1 and k2 denote the circumplex width.

Value

obsdiss Observed dissimilarities, normalized
confdiss Configuration dissimilarities
conf Matrix of final configurations
stress.m stress value for metric MDS
stress.nm stress value for non-metric MDS (if computed)
ndim Number of dimensions
model Type of smacof model
niter Number of iterations
nobj Number of objects

Author(s)

Jan de Leeuw and Patrick Mair

References

de Leeuw, J. & Mair, P. (2008). Multidimensional scaling using majorization: The R package smacof.

de Leeuw, J., & Heiser, W. (1980). Multidimensional scaling with restrictions on the configurations. In P. R. Krishnaiah (eds.), Multivariate Analysis V, pp. 501-522. North-Holland.

See Also

smacofSym, smacofRect, smacofIndDiff, smacofSphere.primal, smacofSphere.dual

Examples


## SMACOF with linear configuration constraints
data(kinshipdelta)
data(kinshipscales)
res.lin1 <- smacofConstraint(kinshipdelta, constraint = "linear", external = kinshipscales)

## SMACOF with unique constraints
res.unique <- smacofConstraint(kinshipdelta, constraint = "unique", external = kinshipscales)

## SMACOF with diagonal constraints
res.diag <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = kinshipscales)

## Fitting a simplex with q = 14 (i.e., n-1), diagonal constraints
res.simp <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = list("simplex", 14))

## Fitting a circumplex with q = 10, k1 = 2, k2 = 8, diagonal constraints
res.circ <- smacofConstraint(kinshipdelta, constraint = "diagonal", external = list("circumplex", 10, 2, 8))


[Package smacof version 0.9-5 Index]