主要内容

非化学和非化多维多缩放

使用非类别多维缩放使用mdscale.

非分类多维缩放

功能mdscale.执行非分类多维缩放。和人一样cmdscale., 你用mdscale.为了可视化不存在“位置”的异化数据,或者通过降低其维度来可视化高维数据。这两种功能都以不同的异化矩阵作为输入,并产生点的配置。然而,mdscale.提供不同标准的选择来构建配置,并允许缺少数据和权重。

例如,谷物数据包括关于10个变量描述早餐谷物的测量。您可以使用mdscale.以两个维度可视化这些数据。首先,加载数据。为清楚起见,此示例代码选择22个观察的子集。

LOAD CEREAL.MAT X = [卡路里蛋白脂肪钠纤维...... CARBO SALES SHELF PITASS维生素];%从单个制造商MFG1 = Strcmp('g',Cellstr(MFG))中取得一个子集;x = x(mfg1,:);尺寸(x)ans = 22 10

然后使用Pdist.将10维数据转换为异质。输出从Pdist.是一个对称的异化矩阵,作为仅包含其上三角形的(23×22/2)元件的载体存储。

奇异= pdist(zscore(x),'cityblock');尺寸(异化)ANS = 1 231

此示例代码首先标准化谷物数据,然后使用城市块距离作为不相似性。对不同的改造选择是依赖的,这里的选择仅用于简单性。在某些应用中,原始数据已经以不同的形式。

接下来,使用mdscale.执行公制MDS。不像cmdscale.,必须指定所需的维度数,以及用于构造输出配置的方法。对于此示例,请使用两个维度。度量应力标准是计算输出的常用方法;对于其他选择,请参阅mdscale.在线文档中的参考页面。第二个输出来自mdscale.是评估输出配置的该标准的值。它测量输出配置的点间距离近似原始输入异化的程度:

[y,压力] = ... mdscale(不同,2,'标准','metricstress');压力应力= 0.1856

输出的散点图mdscale.表示两个维度的原始10维数据,您可以使用GNAME.标签选择要点的功能:

plot(y(:,1),y(:,2),'o','linewidth',2);GNAME(名称(MFG1))

非更加多维缩放

度量级多维缩放创建一个点的配置,其点间距距离近似于给定的异化。这有时是太严格的要求,非公制缩放旨在放松一下。而不是尝试近似异己本身,非度量缩放近似于非线性,但单调转换。由于单调性,输出曲线的较大或更小的距离分别对应于更大或更小的异化。但是,非线性意味着mdscale.只试图保持异化的排序。因此,可能存在不同尺度的距离或距离。

你用mdscale.以与度量标准缩放的方式执行非更换MD。非微量应力标准是计算输出的常用方法;有关更多选择,请参阅mdscale.在线文档中的参考页面。与公制缩放一样,第二个输出mdscale.是评估输出配置的该标准的值。然而,对于非微量缩放,它测量输出配置的点间距近似差距的程度差异。差异在第三个输出中返回。它们是原始异化的转变价值:

[y,压力,差异] = ... mdscale(不同,2,'标准','压力');压力应力= 0.1562

检查输出配置的适合,并了解差距,它有助于制作一个谢泼德情节:

距离= pdist(y);[DUM,ORD] = Sortrows([差异(:)异化(:)]);情节(不同,距离,'bo',...异己(ORD),差异(ORD),'r.-',... [025],[025],'k-')xlabel('不同之处')ylabel('距离/差异')传奇({'距离'差异''1:1线'},...'地点','西北');

这个情节表明了mdscale.已经发现了两个维度的点的配置,其间点距离近似于差距,这反过来是原始异化的非线性变换。随着差异的函数的差异的凹形形状表明,相对于相对于相应的异化,倾向于收缩小距离。这在实践中可能是完全可以接受的。

mdscale.使用迭代算法查找输出配置,结果通常可以取决于起点。默认,mdscale.用途cmdscale.要构建初始配置,此选择通常会导致全球最佳解决方案。但是,有可能mdscale.停止以局部最少标准的配置。这种情况可以被诊断出来并经常通过运行来克服mdscale.多次,不同的起点。你可以使用这个'开始''复制'名称值对参数。以下代码运行五个MDS复制,每个MDS以不同的随机选择的初始配置开始。每个复制打印出标准值;mdscale.使用最合适的配置返回配置。

opts = statset('显示','最终');[y,压力] = ... mdscale(异己,2,'标准','压力',...'start','随机','复制',5,'选项',选择);35迭代,最终应力标准= 0.156209 31迭代,最终应力标准= 0.156209 48迭代,最终应力标准= 0.171209 33迭代,最终应力标准= 0.175341 32迭代,最终应力标准= 0.185881

注意mdscale.找到几种不同的本地解决方案,其中一些不具有低应力值作为找到的万博 尤文图斯解决方案cmdscale.初始点。