将曼哈顿距离与Ward的集群间链接一起使用可以进行分层集群吗?


15

我正在使用层次聚类分析时间序列数据。我的代码是使用Mathematica实现的函数DirectAgglomerate[...],该函数根据以下输入生成层次聚类:

  • 距离矩阵D

  • 用于确定集群间链接的方法的名称。

我已经使用曼哈顿距离计算了距离矩阵D:

d(x,y)=i|xiyi|

其中Ñ 150是数据点在我的时间序列数。i=1,,nn150

我的问题是,可以将Ward的集群间链接与曼哈顿距离矩阵一起使用吗?一些资料表明,沃德的连接只能与欧几里得距离一起使用。

请注意,DirectAgglomerate[...]仅使用距离矩阵而不是原始观测值来计算Ward的链接。不幸的是,我不确定Mathematica是如何修改Ward的原始算法的(根据我的理解),该算法通过最小化相对于聚类均值计算的观测值平方误差之和而起作用。例如,对于由单变量观测值向量组成的聚类,Ward将平方的误差平方和表示为:c

(j||cjmean(c)||2)2

(其他软件工具(例如Matlab和R)仅使用距离矩阵来实现Ward的聚类,因此问题并非特定于Mathematica。)


我最近使用Ward方法分析了相当大的一组数据。在我的特定情况下,马纳森距离与欧几里得距离基本上具有相同的聚类。我不能给您任何数学证明来支持任何方法的组合,但是-至少在我的情况下-聚类不受距离方法的影响
nico

所有R函数都不必等待距离矩阵。请参阅群集程序包agnes中的在线帮助。
chl

实际上,可以使用任何距离。检查vlado.fmf.uni-lj.si/pub/preprint/ward.pdf唯一要注意的是,我们所说的均值不再是算术均值,而是弗雷谢特均值。
兰迪·莱

但是我们可以使用曼哈顿距离进行完全链接吗?
Payel Banerjee

Answers:


8

Ward聚类算法是一种分层聚类方法,可在每个步骤将“惯性”标准降至最低。该惯性量化了减少信号和初始信号之间的平方残差之和:它是对l2(欧几里德)感中误差方差的度量。实际上,您甚至在问题中提到了它。我相信这就是为什么将其应用于不是l2欧几里德距离的距离矩阵没有意义。

另一方面,平均链接或单个链接层次聚类将完全适合其他距离。


2
谢谢你的评论; 我认为你是对的。但是,实际上,沃德联动似乎经常用于非欧几里得距离。我仍然不确定这可能意味着什么。
雷切尔

它可能来自使用Ward的人,仅仅是因为它是众所周知的。我要说的是,与这种情况下的平均链接相比,沃德没有任何收获。但是,这在计算上更加昂贵(您需要为每个合并计算前两个时刻,或者对其进行预先计算)。因此,从务实的角度来看,我只是简单地寻求平均联系。
Gael Varoquaux

1
实际上,惯性将使用平方距离的总和来定义(不一定是欧几里得),请参见 vlado.fmf.uni-lj.si/pub/preprint/ward.pdf
Randy Lai

5

我想不出为什么Ward应该支持任何指标。Ward的方法只是决定在团聚过程中接下来要融合的集群的另一种选择。这是通过找到两个聚类来实现的,这些聚类的融合将最大程度地降低某些误差(公式的示例来源)。

因此,它依赖于两个概念:

  1. 向量的平均值(对于数值向量)通常是通过分别平均每个维度来计算的。
  2. 距离度量本身,即由该度量表达的相似性概念。

因此:只要所选度量的属性(例如旋转,平移或缩放不变性)满足您的需求(并且该度量符合聚类均值的计算方式),我认为没有理由不使用它。

我怀疑大多数人建议使用欧几里德度量,因为他们

  • 想要增加聚类均值和单个观察向量之间差异的权重(通过平方完成)
  • 或因为它是基于他们的验证中的最佳指标数据进行
  • 或因为通常使用它。

感谢您的答复。我已经澄清了我的问题,以强调“ DirectAgglomerate [...]”算法仅采用距离矩阵。鉴于此,Ward链接的修改后的实现是否将基于距离矩阵为欧几里得的假设?例如,Matlab对Ward链接的实现注意到,它仅适用于欧几里得距离(mathworks.com/help/toolbox/stats/linkage.html)。
雷切尔

1
@Rachel:啊,我明白了。任何病房实施都必须计算群集成员与质心之间的距离。从直观上看,很显然,用于此的度量应等于用于计算观测值之间距离的度量...因此,matlab需要使用欧式矩阵。但是现在出现了一个问题,为什么实现不要求函数而不是距离矩阵?当两个任务使用不同的度量标准时,会造成多少损失?我承认,我不知道是不是知道。
steffen 2011年

您好示例已删除。还有其他网站吗?
MonsterMMORPG'3

2

对此的另一种思考方式,可能会使其适应 1个均值的选择来自这样一个事实,即均值是使平方的欧几里得距离之和最小的点。如果您正在使用1个 要测量时间序列之间的距离,那么您应该使用最小化平方和的中心 1个 距离。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.