「Multidimensional Scaling (MDS)」 是一种用于分析高维数据并将其可视化为低维空间的统计方法。它主要用于在保留点之间距离关系的前提下,减少数据的维度,从而方便直观地进行数据探索和模式识别。
MDS 的主要优势是能够从复杂的高维数据中提取出易于理解的低维空间表示,使得数据分析和模式发现更加直观。广泛应用于市场研究、社会网络分析、基因表达分析、心理学与认知科学、文本分析、城市与交通规划以及推荐系统等领域。通过将高维数据映射到低维空间,MDS 帮助分析数据点之间的相似性和差异性,使得复杂数据模式更易于理解和可视化,支持各类决策和模式发现。以下是 MDS 的一些典型应用场景:
通过分析消费者对不同产品或品牌的偏好,将它们投射到二维空间中,观察产品或品牌之间的相似性。比如,研究不同品牌在消费者心目中的定位,帮助企业进行产品定价、市场细分等决策。
在社会网络中,MDS 可以用于可视化不同个体或群体之间的关系,显示社交群体之间的相似性或差异性。在社交媒体上,通过分析用户之间的互动关系,展示用户群体的分布和聚集情况。
在生物信息学中,MDS 用于基因表达数据的降维,帮助研究人员发现不同基因样本之间的相似性。
心理学家使用 MDS 研究人们对刺激(如颜色、声音、味道等)的感知差异,并将感知结果进行可视化。
MDS 的目的是通过将高维数据映射到二维或三维空间,使得映射后点之间的距离尽可能接近它们在原始高维空间中的距离。换句话说,MDS 试图找到一种低维表示,使得数据点的几何结构(或相似性/距离)得到最大程度的保留。
MDS 算法可以分为度量 MDS (Metric MDS) 和非度量 MDS (Non-metric MDS)两类:
AntV 实现的 MDS 布局算法采用了 Floyd-Warshall 算法来计算两点距离,对距离矩阵进行平方处理并乘以 -0.5,然后通过双重中心化消除偏移。接着对中心化矩阵执行奇异值分解(SVD),提取特征值和特征向量。最后,将左奇异向量与特征值相乘,得到每个数据点在二维空间中的坐标,实现降维。具体实现如下:
function MDS(distances: Matrix[]) {
const dimension = 2;
// 计算负半平方距离矩阵
const M = mul(pow(distances, 2), -0.5);
// 对矩阵进行双重中心化
const rowMeans = M.mean('row');
const colMeans = M.mean('column');
const totalMean = M.mean();
M.add(totalMean).subRowVector(rowMeans).subColumnVector(colMeans);
// 使用奇异值分解(SVD)获取特征值和特征向量
const svd = new SingularValueDecomposition(M);
const eigenValues = sqrt(svd.diagonalMatrix).diagonal();
// 将数据点映射到二维空间
return svd.leftSingularVectors.toJSON().map((row: number[]) => {
return mul([row], [eigenValues])
.toJSON()[0]
.splice(0, dimension);
});
}
[1] Chapman, Alan & Laskowski, Andrew. (2019). Detrital zircon U-Pb data reveal a Mississippian sediment dispersal network originating in the Appalachian orogen, traversing North America along its southern shelf, and reaching as far as the southwest United States. Lithosphere. 11. 10.1130/L1068.1.
[2] Floyd R W. Algorithm 97: shortest path[J]. Communications of the ACM, 1962, 5(6): 345-345
[3] American Journal of Political Science Vol. 19, No. 2 (May, 1975), pp. 343-390 (48 pages) Published By: Midwest Political Science Association
[4] Cooper, L. G. (1983). A Review of Multidimensional Scaling in Marketing Research. Applied Psychological Measurement, 7(4), 427–450. doi:10.1177/014662168300700404
[5] Tzeng, J., Lu, H.HS. & Li, WH. Multidimensional scaling for large genomic data sets.BMC Bioinformatics 「9」, 179 (2008). https://doi.org/10.1186/1471-2105-9-179
[6] Lee, Hanjun & Suh, Yongmoo. (2014). Social media comparative analysis based on multidimensional scaling. Journal of the Korean Data and Information Science Society. 25. 665-676. 10.7465/jkdi.2014.25.3.665.