主要内容

非经典和非度量多维尺度

执行非经典多维缩放使用mdscale

非经典多维尺度

这个函数mdscale执行非经典多维缩放。与cmdscale,你用mdscale既可以可视化不存在“位置”的不同数据,也可以通过降低高维数据的维度来可视化高维数据。这两个函数都以不同的矩阵作为输入,并产生点的配置。然而,mdscale提供不同的标准来构建配置,并允许丢失数据和权重。

例如,谷物数据包括对描述早餐谷物的10个变量的测量。你可以使用mdscale将这些数据在二维空间中可视化。首先,加载数据。为了清晰起见,这个示例代码选择了22个观察值的子集。

负载麦片。卡路里,蛋白质,脂肪,钠,纤维…碳糖货架钾维生素];%从单个制造商取子集mfg1 = strcmp('G',cellstr(Mfg));X = X(mfg1,:);尺寸(X) ans = 22

然后使用pdist将10维数据转换为异数。的输出pdist是一个对称的不相似矩阵,存储为仅包含其上三角形(23*22/2)元素的向量。

dissimilarity = pdist(zscore(X),'cityblock');大小(不同)ans = 1 231

这个示例代码首先对谷物数据进行标准化,然后使用城市街区距离作为不同之处。到不同类型的转换的选择取决于应用程序,这里的选择只是为了简单起见。在一些应用中,原始数据已经以异同的形式存在。

下一步,使用mdscale执行度量MDS。不像cmdscale,则必须指定所需的维数,以及用于构造输出配置的方法。对于本例,使用二维。度量应力准则是计算输出的常用方法;有关其他选择,请参见mdscale在线文档中的参考页。的第二个输出mdscale为输出配置计算的该标准的值。它测量输出配置的点间距离与原始输入差异的近似程度:

(Y,压力)=…差异mdscale(2 '标准',' metricstress ');应力应力= 0.1856

输出的散点图mdscale以二维形式表示原始10维数据,并且可以使用gname标记选定点的函数:

情节(Y (: 1), Y(:, 2),“o”,“线宽”,2);gname(名称(mfg1))

非度量多维尺度

度量多维缩放创建了一个点的配置,其点间距离近似于给定的不相似点。有时这是一个过于严格的要求,而非度量缩放的设计可以稍微放松一点。而不是试图近似的不同之处本身,非度量尺度近似的非线性,但单调的转换,他们。由于单调性,输出图上较大或较小的距离将分别对应较大或较小的不相似点。然而,非线性意味着mdscale只是试图保持不同的秩序。因此,在不同的尺度上,距离可能会缩小或扩大。

你使用mdscale执行非度量MDS的方式与度量伸缩的方式大致相同。非度量应力准则是计算输出的常用方法;有关更多选择,请参见mdscale在线文档中的参考页。与度量尺度缩放一样,从的第二个输出mdscale为输出配置计算的该标准的值。然而,对于非度量尺度,它测量输出配置的点间距离近似视差的程度。差异在第三个输出中返回。它们是原始差异的转换值:

[Y,压力,差异]=…mdscale(, 2,“标准”,“压力”);应力应力= 0.1562

为了检查输出配置是否适合不同之处,并理解差异,可以使用谢泼德的阴谋:

距离= pdist(Y);[dum,ord] = sortrows([差异(:)不同(:)]);情节(不同的距离,“bo”,…(奥德)的异同,差距(奥德),r。——“,……[0 25],[0 25],'k-') xlabel(' dissimilarity ') ylabel(' distance / differences ') legend({' distance ' ' differences ' '1:1 Line'},…“位置”、“西北”);

这张图显示mdscale在二维空间中,发现了一种点间距离近似于视差的构型,而视差又是原始不相似点的非线性变换。差异的凹形状作为一个函数的不相似点表明,拟合倾向于收缩小距离相对于相应的不相似点。这在实践中是完全可以接受的。

mdscale使用迭代算法来查找输出配置,结果通常取决于起始点。默认情况下,mdscale使用cmdscale构造初始配置,这种选择通常会导致全局最佳解决方案。然而,这是可能的mdscale停在条件的局部最小值的配置上。这种情况可以通过跑步来诊断和克服mdscale从不同的起点反复多次。可以使用“开始”而且“复制”名称-值对参数。下面的代码运行MDS的五个副本,每个副本都从随机选择的不同初始配置开始。为每次复制打印出标准值;mdscale返回最合适的配置。

opts = statset('Display','final');(Y,压力)=…mdscale(, 2,‘标准’,‘压力’,……“开始”,“随机”,“复制”,5,“选项”,选择);35次迭代,最终应力准则= 0.156209 31次迭代,最终应力准则= 0.156209 48次迭代,最终应力准则= 0.171209 33次迭代,最终应力准则= 0.175341 32次迭代,最终应力准则= 0.185881

请注意,mdscale找到几个不同的局部解,其中一些不具有低的应力值的解决方案与金宝搏官方网站cmdscale起点。