检测计数数据中的异常值


21

我天真地认为这是一个相当直接的问题,涉及对许多不同数量的计数数据进行异常检测。具体来说,我想确定一系列计数数据中的一个或多个值相对于分布中其余计数是否高于或低于预期。

令人困惑的因素是,我需要对3500个分布执行此操作,其中一些分布可能适合零膨胀的过度分散的Poisson,而另一些分布可能最好拟合负二项式或ZINB,而另一些分布可能呈正态分布。因此,简单的Z分数或分布图不适用于大多数数据集。这是我要检测异常值的计数数据的示例。

counts1=[1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 0 0 1 2 1 1 2 1 1 1 1 0 0 1 0 1 1 1 1 0 
         0 0 0 0 1 2 1 1 1 1 1 1 0 1 1 2 0 0 0 1 0 1 2 1 1 0 2 1 1 1 0 0 1 0 0 0 
         2 0 1 1 0 2 1 0 1 1 0 0 2 1 0 1 1 1 1 2 0 3]
counts2=[0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
         1 1 0 0 0]
counts3=[14 13 14 14 14 14 13 14 14 14 14 14 15 14 14 14 14 14 14 15 14 13 14 14 
         15 12 13 17 13 14 14 14 14 15 14 14 13 14 13 14 14 14 14 13 14 14 14 15 
         15 14 14 14 14 14 15 14 1414 14 15 14 14 14 14 14 14 14 14 14 14 14 14 13 16]
counts4=[0 3 1.......]
and so on up to counts3500.

最初,我认为我需要用Python或R编写一个循环,该循环将对每个分布应用一组模型,并根据AIC或其他方法选择最佳拟合模型(可能是R中的fitdistrplus)。然后,我可以问一下给定分布的极端情况(计数落在尾巴上,例如,计数“ 4”在上述counts1分布中是否是异常值?)。但是,我不确定这是否是有效的策略,并且在我看来,可能存在一种简单的方法来确定我不知道的计数数据中的异常值。考虑到要查看的分布数量,我进行了广泛的搜索,发现没有发现适合我的问题的内容。

我的最终目标是使用最适合统计的方法,针对每种计数分布来检测计数的显着增加或减少。

Answers:


23

您不能使用观测值与数据的经典拟合的距离来可靠地检测离群值,因为您使用的拟合过程本身很容易被拉向离群值(这称为掩盖效果)。可靠地检测离群值的一种简单方法是使用您建议的一般概念(与拟合的距离),但用不易受离群值影响的健壮估计值代替经典估计量。下面,我对这种想法进行了概述,然后讨论了针对您特定问题的解决方案。

ñ01个

x<-c(-2.21,-1.84,-.95,-.91,-.36,-.19,-.11,-.1,.18,
.3,.31,.43,.51,.64,.67,.72,1.22,1.35,8.1,17.6)

(最后两个确实应该是0.81和1.76,但被误输入了错误的字号)。

使用基于统计信息的异常值检测规则

|X一世-aveX一世|标清X一世

标清标清

您是否使用了可靠的统计信息:

|X一世-X一世|X一世

ž标清

(在完整的利益,我应该指出,有些人,甚至在这个年龄和黑夜,喜欢攀附的4.35原始--untrimmed--估计,而不是使用基于修剪更精确的估计,但是,这是难以理解我)

对于其他发行版,情况并没有太大不同,只是您必须先对数据进行预转换。例如,在您的情况下:

X

ÿ=2X

如果,则排除观察值ÿ>ÿ+3(该规则对称和我,作为其一,非常约从根据数据的基于阈值的计数变量的左侧“尾巴”排除观测注意事项。显然,负面观察应该很安全地删除)

这是基于以下想法: X

ÿñÿ1个

对于Poisson分布的数据,当 λ

λλ=3

p

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.