我有一个数据集,这是单变量的。我想发现可以被认为是异常值的数据点. 我用 和根据 95% 置信区间计算上限和下限。是平均值和是标准差。我知道它假设正态分布。我想知道从统计分析的角度来看,这种方法是否存在漏洞。此外,是否有任何其他更好的统计方法来给出这种阈值。
给定数据集的 95% 置信区间
几点评论:
您的标题“给定数据集的 95% 置信区间”具有误导性。为计算值(如均值)计算置信区间。对数据集有置信区间并不意味着什么。
您提出的方法将适用于大量数据集,但对于小型数据集将失败。为什么?因为异常值本身会增加 SD(假设您是根据实际值计算 SD)。对于小型数据集(例如 n=4),任何离群值都不可能超过平均值 2 SD。试试看!一个值可以来自平均值的最大 SD 是 (n-1)/sqrt(n),其中 n 是样本大小。
假设其他值是从高斯分布中采样的,则有确定异常值的既定方法。查找 Grubbs 测试,这是使用最广泛的测试之一。
异常值是一个令人惊讶的值。
因此,您的方法是有缺陷的。
如果数据集很大,那么,如果它是正态分布的,那么您期望一些值超出平均值 2 sd。如果数据集很小且呈正态分布,那么您甚至不会期望值与平均值相差 1 sd。例如,在美国有一些 7 英尺高的人并不奇怪。
此外,您已经计算了数据中可能存在异常值的平均值和标准差。如果异常值确实不是数据的一部分(例如,它们是数据输入错误;它们被错误地选作样本),那么您不应该这样做。
我会说对于异常值没有真正好的统计测试,即使是单变量。充其量,有一些方法可以识别可能值得关注的点。比您建议的更好的方法是绘制数据图表。如果你认为它是正常的,你可以做一个正常的分位数图。即使你不认为这是正常的,你也可以做一个密度图。
此外,您应该始终考虑价值观的实质性质。可能吗?例如,在成年人中,500 磅的重量是可能的(尽管非常大)。5000磅的重量不是。
您可能会考虑的另一种方法是 Tukey 的离群值过滤器。它也很健壮,因为它基于分位数。
背后的想法是将位于以下位置的异常数据点分类为:
- 高于第 3 个四分位数 + 1.5 倍四分位数间距(IQR,第 1 个和第 3 个四分位数之间的距离),以及
- 低于第一个四分位数 - IQR 的 1.5 倍。
1.5 范围是任意的,是根据经验建议的。您可能会使用 3 来更严格。注意不对称数据,这需要对分类标准进行调整。
箱线图是一个很好的图,可以通过此过滤器评估可能被视为异常值的点。请参阅下面适用于 user603 发布的数据的 R 示例:
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)
boxplot(x, range=3)
阅读建议:
- SEO,松原。“单变量数据集中异常值检测方法的回顾和比较”(http://d-scholarship.pitt.edu/7948/1/Seo.pdf)
- MASSART,欲望 Luc 等人。“通过箱线图直观呈现数据”。(http://www.lcgceurope.com/lcgceurope/data/articlestandard/lcgceurope/132005/152912/article.pdf)