当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R sammon Sammon 非线性映射


R语言 sammon 位于 MASS 包(package)。

说明

非度量多维标度的一种形式。

用法

sammon(d, y = cmdscale(d, k), k = 2, niter = 100, trace = TRUE,
       magic = 0.2, tol = 1e-4)

参数

d

dist 返回形式的距离结构,或完整的对称矩阵。数据假定为差异或相对距离,但必须为正值,self-distance 除外。这可能包含缺失值。

y

初始配置。如果未提供,则使用 cmdscale 提供经典解决方案。 (如果 d 中缺少值,则必须提供初始配置。)不得有重复项。

k

配置的尺寸。

niter

最大迭代次数。

trace

跟踪优化的逻辑。默认TRUE

magic

对角牛顿法中步长常数的初始值。

tol

对停止的容忍度,以压力为单位。

细节

选择二维配置来最小化应力,输入距离与配置距离之间的平方差之和,按距离加权,总和除以输入距离总和,得到应力 scale-free 。

使用迭代算法,通常会在 50 次迭代左右收敛。由于这必然是 计算,因此对于大型数据集来说速度很慢。此外,由于配置仅取决于旋转和反射(按照惯例,质心位于原点),因此不同机器的结果可能会有很大差异。在此版本中,通过添加 step-length 搜索 (magic ) 来修改算法,以确保它始终走下坡路。

两个组成部分:

points

拟合配置的两列向量。

stress

最终达到的压力。

副作用

如果trace为真,则每10次迭代打印出初始应力和当前应力。

例子

swiss.x <- as.matrix(swiss[, -1])
swiss.sam <- sammon(dist(swiss.x))
plot(swiss.sam$points, type = "n")
text(swiss.sam$points, labels = as.character(1:nrow(swiss.x)))

参考

Sammon, J. W. (1969) A non-linear mapping for data structure analysis. IEEE Trans. Comput., C-18 401-409.

Ripley, B. D. (1996) Pattern Recognition and Neural Networks. Cambridge University Press.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.

也可以看看

cmdscale , isoMDS

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sammon's Non-Linear Mapping。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。