【发布时间】:2010-02-26 18:11:29
【问题描述】:
我有几个问题:
1.isoMDS和cmdscale有什么区别?
2. 我可以使用非对称矩阵吗?
3. 有什么方法可以确定最优的维度数(在结果中)?
【问题讨论】:
-
您可能需要考虑将这些问题分解为 2-3 个不同的问题。
标签: r multi-dimensional-scaling
我有几个问题:
1.isoMDS和cmdscale有什么区别?
2. 我可以使用非对称矩阵吗?
3. 有什么方法可以确定最优的维度数(在结果中)?
【问题讨论】:
标签: r multi-dimensional-scaling
其中一种MDS方法是distance scaling,它分为公制和非公制。另一个是classical scaling(也被生物信息学界称为distance geometry)。经典缩放可以在 R 中使用命令cmdscale 进行。 Kruskal 的非度量距离缩放方法(使用应力函数和等渗回归)可以通过使用库 MASS 中的命令 isoMDS 来执行。
classical scaling 的标准处理会产生一个特征分解问题,因此如果目标是降维,则与 PCA 相同。另一方面,distance scaling 方法使用迭代过程来获得解决方案。
如果你提到距离结构,我猜你应该传递一个类dist的结构,它是一个带有距离信息的对象。或距离的(对称)矩阵,或可以使用 as.matrix() 强制转换为此类矩阵的对象。 (正如我在帮助中看到的,只使用了矩阵的下三角形,其余的被忽略了)。
(对于经典缩放方法):确定结果配置维度的一种方法是查看doubly centered 对称矩阵 B (= HAH) 的特征值。通常的策略是根据维度绘制有序特征值(或它们的某些函数),然后确定特征值变得“稳定”的维度(即,不感知变化)。在那个维度上,我们可能会观察到一个“肘部”,它显示了稳定性发生的位置(对于 n 维空间的点,绘图中的稳定性应该出现在维度 n+1)。为了更容易地对经典缩放解决方案进行图形解释,我们通常选择较小的 n,大约为 2 或 3。
【讨论】: