第2章提到过异常值。异常值诊断方法有多种,且对单变量和多变量数据的异常值诊断方法也不同。本节简要介绍四种单变量数据异常值诊断方法(Wilcox,2017b,pp.101-102)。前三种方法利用传统的箱图诊断方法及其改进方法。最后一种方法利用中位数绝对离差。当然,第2章讨论的Q-Q图也可以用来诊断异常值。
R内置函数boxplot常用于诊断异常值。关于箱图的原理,可参看上一章有关内容和本章3.2.4节。对传统的箱图原则(boxplot rule)的一个批评是,如果数据分布右偏,可能会有过多的大值被诊断为异常值(Wilcox,2017b,p.102)。
第二种方法是标准的箱图原则,使用理想四分数诊断异常值。关于理想四分数,见3.2.4节。如果 X i 满足以下条件,则通常被判定为异常值:
其中, k 是常数,通常设定为1.5。R采用这一方法判断异常值的函数是数据包Rallfun-v37中的outbox(x),其中x是数值向量。
对公式3.16的一个批评是,当样本量小的时候,利用该公式诊断出的异常值偏多。Carling(2000)建议采用调整的箱图原则,即如果 X i 满足以下条件,则它被判定为异常值:
其中, Mdn 是样本中位数, q 2 和 q 1 是理想四分数。 k 是样本量 n 的一个函数,即:
R采用这一方法判断异常值的函数是数据包Rallfun-v37中的outbox(x,mbox=TRUE),其中x是数值向量,mbox=TRUE表示采用Carling(2000)建议的调整的箱图原则。
最后一种异常值诊断方法是中位数绝对离差与中位数原则(MAD-Median rule),通常情况下比箱图原则及其改进方法要好。如果 X i 满足以下条件,则它被判定为异常值:
其中, k 是自由度为1的卡方分布中概率0.975对应的分位数的平方根(约为2.24)。中位数绝对离差与中位数原则的优点是能够诊断数量较多的异常值。R采用这一方法判断异常值的函数是数据包Rallfun-v37中的out(x),其中x是数值向量。
假如有变量 X 的一组数据( n =40):25,30,40,41,45,45,46,46,48,48,49,49,50,50,50,51,51,51,52,52,52,53,53,54,54,54,56,56,57,58,58,58,68,70,72,80,85,89,92,95。图3.2是利用函数boxplot(x)绘制的传统箱图。
图3.2 函数boxplot(x)绘制的箱图
图3.2中的7个空心圆圈是boxplot(x)发现的7个异常值,即:25,30,80,85,89,92,95,其中包括2 个极小值和 5 个极大值。函数outbox(x)和outbox(x,mbox=TRUE)的诊断结果与boxplot(x)的诊断结果相同。但是,out(x)发现另外3个异常值(68,70,72),如图3.2中的菱形符号所示。