如何用dtw计算聚类质量?

时间:2014-04-25 08:14:11

标签: r time-series cluster-analysis distance

我的目标是在26周内聚集126个时间序列(因此每个时间序列有26个观察值)。我使用pam{cluster} =围绕medoids进行分区来聚类这些时间序列。

在聚类之前,我想比较哪种距离测量最合适:欧几里德,曼哈顿或动态时间扭曲。我使用每个距离进行聚类并通过轮廓图进行比较。有什么方法可以比较不同的距离测量吗?

例如,我知道用于验证集群结果的过程clValid {clValid},但我无法实现dtw来计算索引。

那么我如何比较不同的距离指标(不仅仅是通过轮廓)?

其他问题:GAP统计数据是否足以决定选择多少个群集?或者我应该用不同的方法评估聚类的数量,还是比较两种或三种方法呢?

我会很感激任何建议。

2 个答案:

答案 0 :(得分:0)

我刚读过这本书"聚类分析,第五版"作者:Brian S. Everitt等。目前,我采用以下策略来选择计算距离矩阵,聚类和验证的方法:

表示距离:使用cmdscale{stats}函数计算多维标度,并使用密度信息绘制两个缩放维度的散点图。正如预期的那样,如果存在不同的聚类或嵌套聚类,则散点图将给出一些提示。

用于聚类:对于每种聚类方法,计算聚类结果与距离之间的共生相关性,这可以使用cophenetic{stats}函数计算。最好的聚类方法将提供更高的相关性。但是,这仅适用于分层聚类。我对其他群集方法一无所知,例如pamkmeans

用于分区评估:包{clusterSim}提供了几个函数来计算索引以评估聚类质量。另一个包{NbClust}也计算了多达30个索引来评估"距离",#34;聚类"的组合。和"簇数"。但是,此程序包使用{cutree}对分层树进行分区,这不适用于嵌套的群集结构。 {dynamicTreeCut}提供的另一种方法给出了合理的结果。

用于群集编号确定:稍后将添加。

答案 1 :(得分:0)

您拥有类标签的群集数据,并使用RAND索引来衡量群集质量。

50个此类数据集位于UCR时间序列存档

本文做了类似的事情 http://www.cs.ucr.edu/~eamonn/ClusteringTimeSeriesUsingUnsupervised-Shapelets.pdf