数据集之间的距离和指标

Distance and metrics between datasets

我有将近 30 个不同的数据集。它们每个都包含不同数量的变量,维度在 46 左右。

我正在尝试测量这些数据集之间的距离,而不是每个数据集中的项目之间的距离。我的建议是找到每个数据集的平均值,并使用欧几里德或马哈拉诺比斯距离来找到联系并构建我的结构。

我已经知道集群的数量,因为它是由数据集的数量定义的。我只需要找到我的数据集之间的距离。

我这样做的方式是否足够好,或者我是否应该找到一个比平均值更能代表每个数据集的指标?这些距离函数是否适合测量?是否有必要进行任何归一化或相异性计算?

查看数据集均值的距离是否足够好完全取决于您的数据集。一般来说,均值 对异常值 敏感。这意味着如果您的数据集有一些值与其他值截然不同,它们将对平均值产生显着影响(即它们会将平均值拉向它们)。这可能是期望的行为,但通常不是。因此,如果您取平均值的值都非常相似,则平均值是一个不错的选择。

这里有一些其他选项:

Single-link - 两个簇之间的距离是两个簇中距离最近的点之间的距离。如果您关心 "best-case" 接近度,即数据集可能有多相似,这将很有用。

Complete-link - 两个簇之间的距离是两个簇中距离最远的点之间的距离。如果您关心 "worst-case" 接近度,即数据集可能有多不同,这将很有用。

图片来自 this website.

另一个可能相关的考虑因素是,计算平均值通常可以比单一 link 或完整 link.

更快地执行

如果捕获有关数据集中变化量的信息很重要,则可以使用更复杂的距离度量。例如,您可以用标准差来衡量距离(尽管这很棘手,因为不同的数据集会有不同的标准差)。