主要内容GydF4y2Ba

cmdscaleGydF4y2Ba

经典多维标度GydF4y2Ba

语法GydF4y2Ba

Y=cmdscale(D)GydF4y2Ba
[Y,e]=cmdscale(D)GydF4y2Ba
[Y,e]=cmdscale(D,p)GydF4y2Ba

描述GydF4y2Ba

Y=cmdscale(D)GydF4y2Ba需要GydF4y2BaNGydF4y2Ba-借-GydF4y2BaNGydF4y2Ba距离矩阵GydF4y2BaDGydF4y2Ba,并返回GydF4y2BaNGydF4y2Ba-借-GydF4y2BaPGydF4y2Ba配置矩阵GydF4y2BaYGydF4y2Ba.一排GydF4y2BaYGydF4y2Ba是的坐标GydF4y2BaNGydF4y2Ba指向GydF4y2BaPGydF4y2Ba-某些空间的维空间GydF4y2Bap. 什么时候GydF4y2BaDGydF4y2Ba是欧几里德距离矩阵,这些点之间的距离由GydF4y2BaDGydF4y2Ba.GydF4y2BaPGydF4y2Ba是该对象所在的最小空间的尺寸GydF4y2BaNGydF4y2Ba点间距离由以下公式给出的点GydF4y2BaDGydF4y2Ba可以嵌入。GydF4y2Ba

[Y,e]=cmdscale(D)GydF4y2Ba还返回GydF4y2BaY*Y'GydF4y2Ba. 什么时候GydF4y2BaDGydF4y2Ba欧几里德是第一个吗GydF4y2BaPGydF4y2Ba元素GydF4y2BaEGydF4y2Ba是正的,其余的为零。如果第一个GydF4y2BaKGydF4y2Ba元素GydF4y2BaEGydF4y2Ba比剩下的要大得多GydF4y2Ba(n-k)GydF4y2Ba,则可以使用第一个GydF4y2BaKGydF4y2Ba一栏GydF4y2BaYGydF4y2Ba像GydF4y2BaKGydF4y2Ba-点间距离近似的标注点GydF4y2BaDGydF4y2Ba。这可以为可视化提供有用的尺寸缩减,例如GydF4y2Bak=2GydF4y2Ba.GydF4y2Ba

DGydF4y2Ba不必是欧几里德距离矩阵。如果是非欧几里德矩阵或更一般的相异矩阵,则GydF4y2BaEGydF4y2Ba是否定的,并且GydF4y2BacmdscaleGydF4y2Ba选择GydF4y2BaPGydF4y2Ba作为正特征值的个数。在这种情况下,减少到GydF4y2BaPGydF4y2Ba或更小的尺寸提供了一个合理的近似值GydF4y2BaDGydF4y2Ba只有当GydF4y2BaEGydF4y2Ba它们的规模很小。GydF4y2Ba

[Y,e]=cmdscale(D,p)GydF4y2Ba也接受一个正整数GydF4y2BaPGydF4y2Ba介于1和GydF4y2BaNGydF4y2Ba.GydF4y2BaPGydF4y2Ba指定所需嵌入的维度GydF4y2BaYGydF4y2Ba.如果GydF4y2BaPGydF4y2Ba那么,维度嵌入是可能的GydF4y2BaYGydF4y2Ba将是一个大小GydF4y2BaNGydF4y2Ba-借-GydF4y2BaPGydF4y2Ba和GydF4y2BaEGydF4y2Ba将是一个大小GydF4y2BaPGydF4y2Ba-如果只有一个GydF4y2BaQGydF4y2Ba三维嵌入GydF4y2Baq那么,这是可能的GydF4y2BaYGydF4y2Ba将是一个大小GydF4y2BaNGydF4y2Ba-借-GydF4y2BaQGydF4y2Ba和GydF4y2BaEGydF4y2Ba将是一个大小GydF4y2BaPGydF4y2Ba-by-1.指定GydF4y2BaPGydF4y2Ba可在以下情况下减少计算负担:GydF4y2BaNGydF4y2Ba它很大。GydF4y2Ba

您可以指定GydF4y2BaDGydF4y2Ba作为完全相异矩阵,或以上三角形向量形式,如GydF4y2BapdistGydF4y2Ba. 一个完全不同的矩阵必须是实的和对称的,并且在对角线上有零,在其他地方有正元素。上三角形形式的相异矩阵必须有实的正项。您还可以指定GydF4y2BaDGydF4y2Ba作为一个完全相似矩阵,沿对角线的元素和所有其他元素小于1。GydF4y2BacmdscaleGydF4y2Ba将相似性矩阵转换为相异性矩阵,使点之间的距离以GydF4y2BaYGydF4y2Ba相等或近似GydF4y2Basqrt(1-D)GydF4y2Ba。若要使用不同的转换,您必须在调用之前转换相似性GydF4y2BacmdscaleGydF4y2Ba.GydF4y2Ba

例子GydF4y2Ba

全部崩溃GydF4y2Ba

此示例显示了如何基于10个美国城市之间的距离,使用GydF4y2BacmdscaleGydF4y2Ba.GydF4y2Ba

首先,创建距离矩阵并将其传递给GydF4y2BacmdscaleGydF4y2Ba.在本例中,GydF4y2BaDGydF4y2Ba是一个全距离矩阵:它是正方形和对称的,对角线上有正项,对角线上有零。GydF4y2Ba

城市=GydF4y2Ba...GydF4y2Ba{GydF4y2Ba“Atl”GydF4y2Ba,GydF4y2Ba“池”GydF4y2Ba,GydF4y2Ba“书房”GydF4y2Ba,GydF4y2Ba“侯”GydF4y2Ba,GydF4y2Ba“洛杉矶”GydF4y2Ba,GydF4y2Ba“米娅”GydF4y2Ba,GydF4y2Ba“纽约”GydF4y2Ba,GydF4y2Ba“SF”GydF4y2Ba,GydF4y2Ba“海”GydF4y2Ba,GydF4y2Ba“WDC”GydF4y2Ba};D=[ 0 587 1212 701 1936 604 748 2139 2182 543; 587 0 920 940 1745 1188 713 1858 1737 597; 1212 920 0 879 831 1726 1631 949 1021 1494; 701 940 879 0 1374 968 1420 1645 1891 1220; 1936 1745 831 1374 0 2339 2451 347 959 2300; 604 1188 1726 968 2339 0 1092 2594 2734 923; 748 713 1631 1420 2451 1092 0 2571 2408 205; 2139 1858 949 1645 347 2594 2571 0 6782442;2182 1737 1021 1891 959 2734 2408 678 0 2329;543 597 1494 1220 2300 923 205 2442 2329];[Y,eigvals]=cmdscale(D);GydF4y2Ba

接下来,看看GydF4y2BacmdscaleGydF4y2Ba. 其中一些是负数,表明原始距离不是欧几里得距离。这是因为地球的曲率。GydF4y2Ba

总体安排GydF4y2Ba短的GydF4y2BaGGydF4y2Ba[eigvals eigvals/max(abs(eigvals))]GydF4y2Ba
ans=GydF4y2Ba10×2GydF4y2Ba9.5821 0.0000 1.6868 0.0000 0.0082 0.0000 0.0014 0.0000 0.0005 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0009 -0.0000 -0.0055 -0.0000 -0.0355 -0.0000GydF4y2Ba

然而,在这种情况下,两个最大的正特征值的大小远远大于其余的特征值。因此,尽管有负特征值,但GydF4y2BaYGydF4y2Ba足以合理复制GydF4y2BaDGydF4y2Ba.GydF4y2Ba

Dtriu=D(find(tril(one(10),-1)));maxlererr=max(abs(Dtriu pdist(Y(:,1:2)))./max(Dtriu)GydF4y2Ba
maxrelerr=0.0075371GydF4y2Ba

这是重建后的城市位置图。重建的方向是任意的。GydF4y2Ba

图(Y(:,1),Y(:,2),GydF4y2Ba'.'GydF4y2Ba)文本(Y(:,1)+25,Y(:,2),城市)xlabel(GydF4y2Ba“迈尔斯”GydF4y2Ba)伊拉贝尔(GydF4y2Ba“迈尔斯”GydF4y2Ba)GydF4y2Ba

图中包含一个轴对象。Axis对象包含11个类型为line、text的对象。GydF4y2Ba

确定使用不同度量将点减少到距离时重建质量如何变化。GydF4y2Ba

在四维空间中生成十个接近三维空间的点。对这些点进行线性变换,使其变换值接近与坐标轴不对齐的三维子空间。GydF4y2Ba

rngGydF4y2Ba违约GydF4y2Ba%设定种子的重复性GydF4y2BaA=[normrnd(0,1,10,3)normrnd(0,0.1,10,1)];B=randn(4,4);X=A*B;GydF4y2Ba

减少中的点数GydF4y2BaXGydF4y2Ba通过使用欧几里得度量来计算距离。查找配置GydF4y2BaYGydF4y2Ba使用点间距离。GydF4y2Ba

D=pdist(X,GydF4y2Ba“欧几里得”GydF4y2Ba); Y=CMD量表(D);GydF4y2Ba

比较使用2、3或4维时重建的质量。小GydF4y2Ba最大错误3GydF4y2Ba值表示前3个维度提供了良好的重建。GydF4y2Ba

maxer2=max(abs(pList(X)-pList(Y(:,1:2)))GydF4y2Ba
maxerr2=0.1631GydF4y2Ba
maxer3=max(abs(pdist(X)-pdist(Y(:,1:3)))GydF4y2Ba
最大误差3=0.0187GydF4y2Ba
maxer4=max(abs(pList(X)-pList(Y)))GydF4y2Ba
maxer4=9.6589e-15GydF4y2Ba

减少中的点数GydF4y2BaXGydF4y2Ba通过使用GydF4y2Ba“城市街区”GydF4y2Ba度量。查找配置GydF4y2BaYGydF4y2Ba使用点间距离。GydF4y2Ba

D=pdist(X,GydF4y2Ba“城市街区”GydF4y2Ba)[Y,e]=cmdscale(D);GydF4y2Ba

评估重建的质量。GydF4y2BaEGydF4y2Ba至少包含一个较大的负元素,这可能是重建质量差的原因。GydF4y2Ba

maxerr=max(abs(pdist(X)-pdist(Y)))GydF4y2Ba
maxerr=9.0488GydF4y2Ba
min(e)GydF4y2Ba
ans=-5.6586GydF4y2Ba

工具书类GydF4y2Ba

[1] 塞伯,G.A.F。GydF4y2Ba多变量观测GydF4y2Ba. 新泽西州霍博肯:约翰·威利父子公司,1984年。GydF4y2Ba

另见GydF4y2Ba

|GydF4y2Ba|GydF4y2Ba

在R2006a之前引入GydF4y2Ba