数据分析中,识别异常值至关重要,其检测手段的精确度和适用性备受关注,同时也是一大难题。众多检测手段各有特点,例如三倍标准差法、四分位数间距法和基于MAD的方法,这些方法的选择值得深入研究和讨论。
three-sigma法则的基础
set.seed(2501)
# 生成一组10个符合正态分布的随机数,µ = 100,σ = 10
random_numbers_1 <- round(rnorm(10, mean = 100, sd = 10))
# 99 104 103 91 106 100 96 90 110 99
# 再添加几个值,分别为68,220
data_1 <- c(random_numbers_1, 68, 220)
# 99 104 103 91 106 100 96 90 110 99 68 220
最初的三西格玛法则以正态分布为依据,若数据点与平均值之差的绝对值超过三倍标准差,即$abs(x-µ)>3*std$,则该数据点被视为异常。换句话说,当$abs(z)>3$时,数据点同样被视为异常。以$N(100,10^2)$分布的数据为例,数值220因为其$z$值为3.04,即超过3的标准差,被认定为异常值。实际上,这个数值落在区间外的概率极低,仅为$9.7^{-26}$,表明区间设置较为宽泛。在现实应用中,比如进行市场调研,收集居民月消费数据,若这些数据符合正态分布,三西格玛法则便可以用来初步筛选出异常情况。
mu_1 = mean(data_1)
# 107.17
sigma_1 = sd(data_1)
# 37.13
然而,应用three-sigma法则需先求出平均数和方差,这两个数值很容易受到极端值的影响。若将220调整为200,其取值范围将变为(10.54,200.45),此时200虽接近边界线,却不会被认定为异常值。在金融风险管理领域,对数据精确度要求较高的情况下,这种情况可能会造成误导。
IQR方法的原理
IQR方法又称作箱线图法。它通过计算数据的分位数来识别异常值。此方法优点在于,剔除异常值后,剩余数据的中位数和IQR变化不大。以先前提到的数据为例,1.5倍IQR的范围较窄,因此新增的68和220都会被视为异常值。若应用于企业员工绩效评分的统计,IQR方法能有效检测出异常的高分或低分。
abs(round(scale(data_1)[,1],2))
# 0.22 0.09 0.11 0.44 0.03 0.19 0.30 0.46 0.08 0.22 1.05 3.04
IQR方法在发现异常数据方面更为便捷,但也存在将实际正常数据误判为异常的风险。以稳定生产的产品质量检测为例,若质量数据变化不大,而IQR方法中倍数设定不当,便有可能将正常产品错误地标记为异常。因此,在选择IQR区间倍数时必须格外小心。
MAD的特点
MAD是用来评估数据波动大小的,它和Z-score变换中使用标准差来计算平均值的过程相似。要将MAD转换为与标准偏差σ相当的估计值,需要进行一些基于标准正态分布的计算,比如使用分位数函数$Phi^{-1}$。在计算中,选择0.5这个值,是因为对于均值是零的对称分布,总体MAD就是分布的第75百分位数,而在标准正态分布中,总体MAD等于$Phi^{-1}(3/4)$。这就像在科研实验中,当我们需要测量一些微小的物理量时,如果MAD得到恰当的应用,可能有助于我们更准确地判断数据的可靠性。
尽管MAD具备独特的计算特性,然而在实践中的应用却不如前两种方法那么普遍。众多刚加入数据分析行业的新手可能对其不太了解,这一因素也使得MAD在异常值检测领域的应用受到了限制。
three-sigma与IQR对比
Q25 = 25th_percentile
Q75 = 75th_percentile
IQR = Q75 - Q25 // inter-quartile range
IF (x < Q25 - 1.5*IQR) OR (Q75 + 1.5*IQR < x) THEN x is a mild outlier
IF (x < Q25 - 3.0*IQR) OR (Q75 + 3.0*IQR < x) THEN x is an extreme outlier
three-sigma法则对异常值较为敏感,而IQR法则则相对稳定,对分位数中的异常值不敏感。在市场销售数据波动较大,且存在极端值的情况下,IQR法则可能更适合。理论上,three-sigma法则基于正态分布的假设较为严格,若数据不符合这一假设,其准确性就可能面临挑战。
在实际的数据处理过程中,比如在医院里统计患者的各种健康指标,由于人的健康状况较为复杂,数据的分布并不总是呈现标准的正态分布,因此使用IQR方法可能更有效地识别出异常的健康指标。
MAD与前两者对比
quantile(data_1, probs = c(0.25,0.75))
# Q25 = 94.75
# Q75 = 104.50
# IQR = 9.75
MAD与three-sigma和IQR存在差异。three-sigma依赖标准差,IQR则根据分位数,而MAD有它自己的变异幅度评估方法。在某些特定情况下,比如物理实验中数据分布不完全是正态分布且存在复杂相关性时,MAD可能比其他两种方法更有效。
MAD的计算原理较为复杂,一般的数据工作者不易迅速学会。因此,它在实际应用中的普及程度远不及three-sigma和IQR这两种方法。
方法选择的考虑因素
选择这三种异常值检测方法,首先需关注数据的分布特点。若数据呈现正态分布,three-sigma法则或许适用,但需留意异常值对参数可能产生的影响。若数据中异常值较多,分布又不易确定,IQR方法可能更为适宜。至于特殊分布的数据,MAD法则或许值得深入探讨。比如在社会调查统计居民消费观念时,这三种方法都需要谨慎比较和权衡。
在执行效率方面,three-sigma法则的数学运算较为简便,而IQR方法在计算分位数时需耗费更多计算资源,MAD则需进行更为复杂的函数运算。在大数据环境下,这些差异也会对方法的适用性产生影响。
在实际工作中或是学习数据分析时,你更偏爱哪一种异常值检测手段?欢迎留言交流,同时别忘了点赞并转发这篇文章。