Jos*_*vin 13 algorithm black-box machine-learning prediction
这是问题所在:
数字是整数,时间段是一年.
什么算法会识别数字中的模式?
模式可能很简单,如总是上升或总是下降,或者数字可能在一个狭窄的范围内,等等.
我有一些想法,但不确定最佳方法,或已存在的解决方案:
集中数据.
如果您不知道数据将具有多少模式,请使用高斯混合模型(GMM)和评分函数(例如,贝叶斯信息准则(BIC)),以便您可以自动检测可能的数量.你的数据.如果你不知道k可能是什么价值,我推荐这个而不是k-means .一旦为过去一年的数据构建了GMM,给定一个新的数据点x,就可以计算出任何一个聚类生成它的概率(由GMM中的高斯模型建模).如果您的新数据点由任何一个群集生成的概率很低,则很可能是一个真正的异常值.
如果这听起来有点过分,您会很高兴知道在R的优秀 MCLUST包中已经为您实现了自动群集识别的整个GMM + BIC程序.我已经多次使用它来取得这些问题的巨大成功.
它不仅允许您识别异常值,而且如果您在某个时刻需要此功能(或想要它),您将能够将p值设置为异常点.