【发布时间】:2011-06-21 22:24:56
【问题描述】:
我有 2000 组数据,每组包含 1000 多个 2D 变量。我希望根据相似性将这些数据集聚类到 20-100 个聚类中。但是,我在想出一种比较数据集的可靠方法时遇到了麻烦。我尝试了一些(相当原始的)方法并进行了大量研究,但我似乎找不到任何适合我需要做的事情。
我在下面发布了一张我绘制的 3 组数据的图片。数据在 y 轴上以 0-1 为界,在 x 轴上在 ~0-0.10 范围内(实际上,理论上可能大于 0.10)。
数据的形状和相对比例可能是最重要的比较因素。然而,每个数据集的绝对位置也很重要。换句话说,每个点的相对位置与另一个数据集的单个点越接近,它们就越相似,那么就需要考虑它们的绝对位置。
绿色和红色应该被认为是非常不同的,但推到了紧要关头,它们应该比蓝色和红色更相似。
我已经尝试过:
- 根据总体超额和偏差进行比较
- 将变量分割成坐标区域(即(0-0.10, 0-0.10), (0.10-0.20, 0.10-0.20)...(0.9-1.0, 0.9-1.0))并根据共享点比较相似度区域内
- 我尝试测量数据集中到最近邻居的平均欧几里得距离
所有这些都产生了错误的结果。我在研究中能找到的最接近的答案是“Appropriate similarity metrics for multiple sets of 2D coordinates”。但是,那里给出的答案建议比较最近邻居与质心的平均距离,我认为这对我来说不适合作为方向,但对于我的目的而言,它与距离一样重要。
我可能会补充一点,这将用于为另一个程序的输入生成数据,并且只会偶尔使用(主要用于生成具有不同数量的集群的不同数据集),因此不会出现半耗时算法问题。
【问题讨论】:
-
同意 Joe Blow - 您可以尝试使用最小二乘法进行线性拟合,以获得绿、蓝、红点的 3 个线方程,并比较这三个方程的斜率和截距。
-
您也可以尝试比较集群之间的 Hausdorff 距离。
-
所有数据集的点数都相同吗?点的顺序是否重要(第 5 点是否对所有数据集都具有相似的含义?)
-
不,任何给定的点索引都没有特殊含义。 @Joe Blow 我正在探索与 LOESS 的线条拟合,并考虑比较线条作为比较的一部分,谢谢。 @belisarius,谢谢。我一定会这样做的。
标签: algorithm language-agnostic graphics cluster-analysis similarity