當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。