仅使用距离矩阵计算加权平均值

时间:2014-03-14 11:21:52

标签: algorithm math matrix coordinates

假设我们有N个样本的N×N成对距离矩阵(D_ij)。但是我们没有这些N个样本的坐标。每个样品也存在重量。我想计算这些点集之间的加权平均值。例如,在s1={1,2,3}s2={4,5,6}之间。

如果我们有坐标(x1,x2,...):

,这很容易做到
D{s1,s2} = distance(w1*x1+w2*x2+w3*x3, w4*x4+w5*x5+w6*x6)  

是否有可能在没有坐标的情况下使用成对距离和权重获得相同的结果?

我可以提出一个公式,该公式是针对单个样本和一个集合之间的距离定义的,但是我不知道如何将它扩展到两个集合之间的距离:
假设s={x1, x2}

D{x3,s} = (w1*D{x1,x3}^2+w2*D{x2,x3}^2)/(w1+w2)-(w1*w2*D{x1,x2}^2)/(w1+w2)^2

PS:我知道我们可以将距离矩阵转换为坐标(例如,使用multidimensional scaling)。我正在寻找一种方法来跳过这一步。

1 个答案:

答案 0 :(得分:0)

除了距离之外,没有其他方法可以直接计算质心。您可以尝试使用Multidimensional Scaling(MDS)为N维空间中的点生成(可能是近似的)坐标。使用这些坐标直接计算质心。

N.b。 MDS产生的坐标不是唯一的。任何旋转/反射都提供同样有效的解决方案;这是设计的。根据您的数据,可能还有其他几何对称性。