主要内容

经典多维尺度在非空间距离中的应用

属性来执行经典的多维缩放cmdscale统计和机器学习工具箱™功能。经典的多维缩放,也称为主坐标分析,采用点间距离的矩阵,并创建点的配置。理想情况下,这些点可以在二维或三维空间中构造,它们之间的欧氏距离近似地再现了原始的距离矩阵。因此,这些点的散点图提供了原始距离的可视化表示。

这个例子说明了多维尺度在不同度量上的应用,而不是空间距离,并展示了如何构造点的配置来可视化这些不同。

这个例子描述了经典的多维缩放。的mdscale函数执行非经典MDS,有时比经典方法更灵活。非经典MDS在非经典多维尺度的例子。

从非空间距离重构空间位置

假设你已经测量了一种动物的许多地方亚种群之间的遗传“距离”或差异。你还知道他们的地理位置,并想知道他们的基因和空间距离有多接近。如果他们这样做了,这就证明了亚种群之间的杂交受其地理位置的影响。

下面是亚群体的空间位置,和遗传距离矩阵的上三角形,以相同的矢量格式由pdist

X = [39.1 18.7;40.7 - 21.2;41.5 - 21.5;39.2 - 21.8;38.7 - 20.6;41.7 - 20.1;40.1 - 22.1;39.2 - 21.6);D = [4.69 6.79 3.50 3.11 4.46 5.57 3.00 ....2.10 2.27 2.65 2.36 1.99 1.74...3.78 4.53 2.83 2.44 3.79...1.98 4.35 2.07 0.53...3.80 3.31 1.47...4.35 - 3.82...2.57);

虽然这个向量格式D是否节省空间,如果将距离重新格式化为方阵,通常更容易看到距离关系。

squareform (D)
ans =8×80 4.6900 6.7900 3.5000 3.1100 4.4600 5.5700 3.0000 4.6900 0 2.1000 2.2700 2.6500 2.3600 1.9900 6.7900 2.1000 0 3.7800 4.5300 2.8300 2.4400 3.7900 3.5000 2.2700 3.7800 0 1.9800 4.3500 2.0700 2.1100 2.6500 4.5300 1.9800 3.8000 3.3100 1.4700 4.4600 2.3600 2.8300 4.3500 3.8000 0 4.3500 3.8200 3.5700 1.9900 2.4400 3.4700 3.8200 2.5700 0

cmdscale识别两种格式中的任何一种。

[Y,eigvals] = cmdscale(D);

cmdscale的第一个输出,Y,是一个点的矩阵,创建的点间距离再现中的距离D.与八种,点(行Y)可以有多达8个维度(列为Y).遗传距离的可视化依赖于仅在二维或三维空间中使用点。幸运的是,cmdscale的第二个输出,eigvals,是一组已排序的特征值,其相对大小表明您可以安全地使用多少维度。如果只有前两个或三个特征值大,那么只有这些点的坐标Y都需要精确复制吗D.如果有三个以上的特征值很大,那么就不可能找到一个好的低维点配置,并且不容易可视化距离。

[eigvals eigvals / max (abs (eigvals)))
ans =8×229.0371 1.0000 13.5746 0.4675 2.0987 0.0723 0.7418 0.0255 0.3403 0.0117 0.0000 0.0000 -0.4542 -0.0156 -3.1755 -0.1094

注意只有两个大的正特征值,所以点的构型是由cmdscale可以在二维空间中绘制。这两个负特征值表明遗传距离不是欧几里得的,即没有点的构型可以复制D完全正确。幸运的是,负特征值相对于最大的正特征值较小,并且约简到的前两列Y应该相当准确。你可以通过观察二维构型和原始距离之间的误差来验证这一点。

maxrelerr = max (abs (D - pdist (Y (: 1:2)))) / max (D)
Maxrelerr = 0.1335

现在你可以比较由cmdscale到实际的地理位置。因为返回的配置cmdscale仅在平移、旋转和反射时是唯一的,遗传位置可能与地理位置不匹配。他们也会有错误的规模。但是你可以用普罗克汝斯忒斯命令在最小二乘意义上使两组点最匹配。

[D,Z] = procrustes(X,Y(:,1:2));情节(X (: 1) X (:, 2),“波”Z(: 1)、Z (:, 2),“路”);标签= num2str((1:8)');文本(X(: 1) + 0。,X(:, 2),标签,“颜色”“b”);文本(Z(: 1) + 0。,Z(:, 2),标签,“颜色”“r”);包含(“参考点以东距离(公里)”);ylabel (“参考点以北的距离(公里)”);传奇({的空间位置“构建的基因位置”},“位置”“本身”);

图中包含一个轴对象。axis对象包含18个类型为line, text的对象。这些对象表示空间位置,构造遗传位置。

该图显示了与实际空间位置在同一坐标中的重建点的最佳匹配。显然,遗传距离确实与亚种群之间的空间距离有密切的联系。

使用多维尺度可视化相关矩阵

假设您已经为一组10个变量计算了以下相关矩阵。很明显,这些变量都是正相关的,而且存在一些非常强的两两相关性。但有这么多变量,要想对这10个变量之间的关系有个好印象并不容易。

ρ=...[1 0.3906 0.3746 0.3318 0.4141 0.4279 0.4216 0.4703 0.4362 0.2066;0.3906 1 0.3200 0.3629 0.2211 0.9520 0.9811 0.9052 0.4567 0;0.3746 0.3200 1 0.8993 0.7999 0.3589 0.3460 0.3333 0.8639 0.6527;0.3318 0.3629 0.8993 1 0.7125 0.3959 0.3663 0.3394 0.8719 0.5726;0.4141 0.2211 0.7999 0.7125 1 0.2374 0.2079 0.2335 0.7050 0.7469;0.4279 0.9520 0.3589 0.3959 0.2374 1 0.9657 0.9363 0.4791 0.0254;0.4216 0.9811 0.3460 0.3663 0.2079 0.9657 1 0.9123 0.4554 0.0011;0.4703 0.9052 0.3333 0.3394 0.2335 0.9363 0.9123 1 0.4418 0.0099;0.4362 0.4567 0.8639 0.8719 0.7050 0.4791 0.4554 0.4418 1 0.5272;0.2066 0 0.6527 0.5726 0.7469 0.0254 0.0011 0.0099 0.5272 1];

多维尺度通常被认为是一种仅使用成对距离来(重新)构造点的方法。但它也可以用于比距离更一般的不相似度测量,以在空间上可视化不是通常意义上的“空间点”的事物。Rho描述的变量是一个例子,您可以使用cmdscale绘制出它们相互依赖关系的图形。

相关性实际上衡量的是相似度,但很容易将其转化为不相似度。因为这里所有的相关系数都是正的,你可以简单地用

D = 1 -;

尽管其他选择可能也有意义。如果ρ如果包含负相关,则必须决定相关性-1是否比相关性0表示更多或更少的不同,并相应地选择转换。

重要的是要决定是否可以将相关矩阵中的信息可视化,也就是说,是否可以将维数从10减少到2到3。返回的特征值cmdscale给你一个决定的方法。在这种情况下,这些特征值的屏幕图表明两个维度足以表示变量。(请注意,下图中的一些特征值是负的,但相对于前两个特征值较小。)

[Y,eigvals] = cmdscale(D);阴谋(1:长度(eigvals) eigvals,“bo - - - - - -”);线([1,长度(eigvals)], [0 0),“线型”“:”“XLimInclude”“关闭”...“颜色”,(。7 . 7.7])轴([1,长度(eigvals),最小(eigvals),最大(eigvals)*1.1]);包含(的特征值数量);ylabel (“特征值”);

图中包含一个轴对象。axis对象包含2个line类型的对象。

在一个更独立的变量集合中,可能需要更多的维度。如果需要三个以上的变量,可视化就没什么用了。

返回的配置的二维图cmdscale表示有两个变量子集彼此之间最密切相关,加上一个或多或少独立的变量。其中一团是紧的,而另一团是相对宽松的。

标签= {' 1 '' 2 '“3”“4”“5”“6”“7”“8”“9”“十”};情节(Y (: 1), Y (:, 2),“软”);axis(max(max(abs(Y))) * [-1.1,1.1,-1.1,1.1]);轴(“广场”);文本(Y (: 1), Y(:, 2),标签,“HorizontalAlignment”“左”);线([1],[0 0),“XLimInclude”“关闭”“颜色”,(。7 .7 .7]) line([0 0],[-1,1],“YLimInclude”“关闭”“颜色”,(。7 .7 .7])

图中包含一个轴对象。axis对象包含13个类型为line, text的对象。

另一方面,结果从cmdscale因为下面的相关矩阵表明了一个非常不同的结构:变量之间没有真正的组。相反,存在一种“循环”依赖关系,其中每个变量都有一对“最近的邻居”,但与其余变量的相关性较差。

ρ=...[1 0.7946 0.1760 0.2560 0.7818 0.4496 0.2732 0.3995 0.5305 0.2827;0.7946 1 0.1626 0.4227 0.5674 0.6183 0.4004 0.2283 0.3495 0.2777;0.1760 0.1626 1 0.2644 0.1864 0.1859 0.4330 0.4656 0.3947 0.8057;0.2560 0.4227 0.2644 1 0.1017 0.7426 0.8340 0 0.0499 0.4853;0.7818 0.5674 0.1864 0.1017 1 0.2733 0.1484 0.4890 0.6138 0.2025;0.4496 0.6183 0.1859 0.7426 0.2733 1 0.6303 0.0648 0.1035 0.3242;0.2732 0.4004 0.4330 0.8340 0.1484 0.6303 1 0.1444 0.1357 0.6291;0.3995 0.2283 0.4656 0 0.4890 0.0648 0.1444 1 0.8599 0.3948;0.5305 0.3495 0.3947 0.0499 0.6138 0.1035 0.1357 0.8599 1 0.3100;0.2827 0.2777 0.8057 0.4853 0.2025 0.3242 0.6291 0.3948 0.3100 1]; [Y,eigvals] = cmdscale(1-Rho); [eigvals eigvals./max(abs(eigvals))]
ans =10×21.1416 1.0000 0.7742 0.6782 0.0335 0.0294 0.0280 0.0245 0.0239 0.0210 0.0075 0.0066 0.0046 0.0040 -0.0000 -0.0000 -0.0151 -0.0132 -0.0472 -0.0413
情节(Y (: 1), Y (:, 2),“软”);axis(max(max(abs(Y))) * [-1.1,1.1,-1.1,1.1]);轴(“广场”);文本(Y (: 1), Y(:, 2),标签,“HorizontalAlignment”“左”);线([0 0],[1],“XLimInclude”“关闭”“颜色”,(。7 .7 .7]) line([-1,1],[0 0],“YLimInclude”“关闭”“颜色”,(。7 .7 .7])

图中包含一个轴对象。axis对象包含13个类型为line, text的对象。

主成分分析与经典多维标度的比较

多维缩放最常用于只有距离或差异可用的数据可视化。然而,当原始数据可用时,多维缩放也可以用作降维方法,通过将数据降为距离矩阵,使用创建点的新配置cmdscale,并只保留这些点的前几个维度。多维尺度的应用很像主成分分析,事实上,当你调用cmdscale使用点之间的欧几里得距离,结果与PCA相同,只是符号发生了变化。

N = 10;M = 5;X = randn(n,m);D = pdist(X,“欧几里得”);[Y,eigvals] = cmdscale(D);[PC,Score,latent] = pca(X);Y
Y =10×5-1.4505 1.6602 0.8106 0.5834 0.5952 2.6140 -1.0513 -1.1962 0.7221 -0.2299 -2.2399 -1.6699 -0.7881 -0.6659 0.0398 -0.4956 -0.5702 0.1004 -2.3659 1.2672 0.4837 -0.2888 -2.5996 1.0635 -0.8532 0.1392 -0.1216 -1.5565 0.4215 -0.0931 0.2863 0.299 0.4656 -0.6250 -0.7608 -0.3233 0.2786 2.3961 2.6933 -0.2020 -0.2572 -0.4374 2.7660 -0.3529 0.5474 -0.4560 0.7044
分数
分数=10×5-1.4505 1.6602 -0.8106 -0.5834 -0.5952 2.6140 -1.0513 1.1962 -0.7221 0.2299 -2.2399 -1.6699 0.7881 0.6659 -0.0398 -0.4956 0.2265 - 0.2682 0.123 0.5702 0.1004 -2.3659 -1.2672 -0.4837 0.2888 -2.5996 1.0635 0.8532 -0.1392 0.1216 -1.5565 0.4215 0.0931 -0.2863 -0.0299 0.4656 -0.6250 0.608 0.3233 -0.2786 2.3961 2.6933 0.2020 -0.3529 -0.5474 0.4560 -0.7044

即使非零特征值在一个比例因子范围内也是相同的。

[eigvals (1: m) (n - 1) *潜伏]
ans =5×236.9993 36.9993 21.3766 21.3766 7.5792 7.5792 2.2815 2.2815 1.5981 1.5981