我有2000组数据,每组数据包含1000多个2D变量。我期望根据相似性将这些数据集群集中到20-100个群集中的任何位置。但是,我无法提出比较数据集的可靠方法。我尝试了一些(相当原始的)方法并完成了大量的研究,但我似乎找不到适合我需要的任何东西。比较2D数据/散点图组
我已经发布了一张图片,下面是我绘制的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”。然而,这里给出的答案建议比较最近邻居之间距离质心的平均距离,我认为这对我而言并不适合作为方向,这与我的目的距离同样重要。
我可能会补充说,这将用于生成另一个程序的输入数据,并且只会偶尔使用(主要用于生成具有不同数量簇的不同数据集),因此,耗时的算法不适用没有问题。
同意乔布洛 - 你可以尝试用最小二乘法做线性拟合,得到绿色,蓝色,红色点的3线方程,并比较这三个方程的斜率和截距。 – 2011-02-05 17:32:37
你也可以尝试比较簇之间的Hausdorff距离。 – 2011-02-05 17:40:37