如何检测二维数组中的异常值检测?
问题描述:
鉴于像数组:如何检测二维数组中的异常值检测?
[
{ final_amount: 20.0, shipping_amount: 5 },
{ final_amount: 30.0, shipping_amount: 5.5 },
{ final_amount: 25.0, shipping_amount: 105.5 },
{ final_amount: 325.0, shipping_amount: 125.5 }
]
我怎么能检测到
{ final_amount: 25.0, shipping_amount: 105.5 }
是一个局外人?
较大的final_amount意味着较大的shipping_amount,但是我们在数据集中存在一些错误的条目。
如果我仅考虑shipping_amount(中位数和标准差),它将删除一些有效的条目,因为它没有考虑final_amount。
答
解决这类问题的正确方法是建立“正常”数据模型和一个或多个“异常”数据模型。这些中的每一个都是某个类别的p(数据|类别)。应用贝叶斯规则来计算p(类别|数据)并在这些类别中进行一些选择。选择最大的p(类别|数据)类别。这是一个相当开阔的领域,祝你好运,玩得开心。你也可能在stats.stackexchange.com上获得更多的兴趣。
感谢罗伯特,不知道stats.sx.com。如果你将它添加为答案,我会接受它。 –