数据集中的组检测

Sam*_*ami 7 algorithm statistics probability feature-detection

假设一组数据点,例如此处绘制的数据点(此图不是特定于我的问题,而只是用作一个合适的例子):

可视化地检查散点图,很明显数据点形成两个"组",其中一些随机点显然不属于任何一个.

我正在寻找一种算法,这将允许我:

  • 从两个或多个维度的数据集开始.
  • 从数据集中检测此类组,而无需事先知道可能存在多少(或者如果有)
  • 一旦检测到组,如果新的样本点似乎适合任何组,则"询问"组的模型

Tri*_*tan 5

有很多选择,但如果您对新数据点属于特定混合物的概率感兴趣,我会使用概率方法,例如通过最大似然估计或贝叶斯估计的高斯混合建模.

混合模型的最大似然估计在Matlab中实现.

您对组件数量未知的要求会使您的模型更加复杂.主导概率方法是在混合分布之前放置Dirichlet过程并通过一些贝叶斯方法估计.例如,请参阅本文关于无限高斯混合模型.DP混合模型将为您提供有关组件数量和每个元素所属组件的推断,这正是您想要的.或者,您可以对组件数量进行模型选择,但这通常不太优雅.

DP混合模型模型有很多实现,但它们可能不那么方便.例如,这是一个Matlab实现.

您的图表表明您是R用户.在这种情况下,如果您正在寻找预先打包的解决方案,那么您的问题的答案就在于此任务视图以进行聚类分析.