我正在使用层次聚类来分析时间序列数据。我的代码是使用Mathematica函数实现的DirectAgglomerate[...]
,它在给定以下输入的情况下生成层次集群:
距离矩阵 D
用于确定集群间链接的方法的名称。
我已经使用曼哈顿距离计算了距离矩阵 D:
其中和是我的时间序列中的数据点数。
我的问题是,可以将 Ward 的集群间链接与曼哈顿距离矩阵一起使用吗?一些消息来源表明,沃德的联系只应与欧几里得距离一起使用。
请注意,DirectAgglomerate[...]
仅使用距离矩阵而不是原始观测值来计算 Ward 的链接。不幸的是,我不确定Mathematica如何修改 Ward 的原始算法,该算法(根据我的理解)通过最小化观察值平方和的误差来工作,根据聚类平均值计算。例如,对于由单变量观测向量组成的集群,Ward 将误差平方和公式化为:
(其他软件工具,如 Matlab 和 R也仅使用距离矩阵实现 Ward 的聚类,因此问题不是 Mathematica 特有的。)