如何检测二维数组中的异常值检测?

时间:2016-01-24 00:41:16

标签: statistics

给出如下数组:

[ 
  { 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。

1 个答案:

答案 0 :(得分:1)

解决这类问题的正确方法是建立一个正常的模型"数据和一个或多个"异常"数据。这些中的每一个都是某个类别的p(数据|类别)。申请贝叶斯'规则来计算p(类别|数据)并在类别中做出一些选择,例如:选择具有最大p(类别|数据)的类别。这是一个相当开阔的领域,祝你好运,玩得开心。您也可以对stats.stackexchange.com感兴趣。