按连续性对加扰的一维数据集进行排序

数据挖掘 聚类 数据集 插值
2021-10-03 19:30:17

这是一个可爱的小聚类问题,可能已经解决了一百万次,但我找不到很好的参考。

我有 20 个 1D 数据集,每个数据集有 400 个条目。在图片中,它们用不同的颜色表示。 在此处输入图像描述

正如你所看到的,它们也是相当连续的。然而,对于每个索引 i,数据集已按大小重新排序,即颜色现在在每两个数据集的每个交点处跳跃,而不是漂亮的连续线。

有没有办法将数据集恢复到原来的顺序?即将数据聚类成 20 条连续线?这可以很容易地通过肉眼完成。

非常感谢你!

奥弗里

PS这是我到目前为止所尝试的。对于每个索引 i,我假设数据集已经排序到 i-1。我现在通过将有序数据集从第 i-1 个索引外推到第 i 个索引来准备 20 个 bin。现在我有 20 个值可以放入 20 个箱中,每个箱中只有一个值。我可以试试20!组合并找到错误最小的组合,但必须有更聪明/有效的方法。

2个回答

我最终通过将数据集切割成段然后将它们粘合在一起来解决这个问题。以下是一些解开的数据集:

在此处输入图像描述

首先,我通过识别不连续性将所有数据集切割成连续的片段(我查看了二阶导数的峰值)。然后,我根据哪个段最接近相邻段的二阶插值,将这些段播种在一起。

我必须处理一些特殊情况 - 例如信号中的实际分歧。我通过识别不能连续播种到任何其他段中的段来处理这些问题(这些段是通往 +-infinity 的段)并将它们粘合到从 +-infinity 返回的其他段上。

奥弗里

你不能按到前一点的距离排序吗?

手动识别线段的第一个点。然后总是找到与前一个最近的点,将其添加到结果中并从候选者中删除。当没有候选人时,添加下一个文件。

不需要聚类。