我有将近30个不同的数据集。每个数据集包含的变量数量不同,维度大约为46。
我试图测量这些数据集之间的距离,而不是每个数据集内部项目之间的距离。我的提议是计算每个数据集的均值,然后使用欧几里得距离或马哈拉诺比斯距离来找到联系并构建我的结构。
我已经知道聚类的数量,因为它是由数据集的数量定义的。我只需要找到我的数据集之间的距离。
我这样做是否足够好,或者我应该找到一个比平均值更能代表每个数据集的其他度量?这些距离函数是否适合这种测量?是否需要进行任何归一化或异质性计算?
回答:
是否通过查看数据集均值的距离来判断是否足够好,完全取决于你的数据集。一般来说,均值对异常值敏感。这意味着,如果你的数据集中有几个值与其他值大不相同,它们将对均值产生显著影响(即,它们会将均值拉向自己)。这种行为可能是你想要的,但通常不是。所以,如果你所取均值的值都相当相似,均值是一个不错的选择。
这里还有一些其他选项:
单链接 – 两个聚类之间的距离是两个聚类中最接近的点之间的距离。如果你关心“最佳情况”的接近度,即数据集可能有多相似,这很有用。
完全链接 – 两个聚类之间的距离是两个聚类中最远的点之间的距离。如果你关心“最坏情况”的接近度,即数据集可能有多不相似,这很有用。
图片来自这个网站。
另一个可能相关的考虑是,计算均值通常比单链接或完全链接更快。
如果你需要捕捉数据集内变异量的信息,可以使用更复杂的距离度量。例如,你可以用标准差来测量距离(尽管这会变得棘手,因为不同的数据集会有不同的标准差)。