孙向东,刘拥军,陈雯雯,贾智宁,黄保续
(中国动物卫生与流行病学中心,山东青岛 266032)
异常值对于数据统计分析结果的准确性具有不良影响,重视异常值的检测,分析其产生的原因,为发现问题、改进方法提供了契机。箱线图法是检验数据中异常值的最常用方法。与格拉布斯法(Grubbs)、3σ 法、z分数法等不同的是,箱线图法既可以用作服从正态分布数据异常值的判断,也可以用作不服从正态分布数据异常值的判断,从而拓展了这种方法的适用范围。
箱线图(Boxplot)也称箱须图(Box-whisker Plot),是美国著名统计学家John W.Tukey于1977年发明的[1]。箱线图法利用数据中的五个统计量:最小值、下四分位数(Q1)、中位数(Q2)、上四分位数(Q3)与最大值来描述数据[2-4]。箱线图可用于:(1)鉴别数据中的异常值,包括离群值和极端值;(2)判断数据的偏态和尾重;(3)比较几组数据的形状。本文仅讨论其在异常值鉴别中的应用。
箱线图根据实际数据绘制,既不需要事先假定数据服从特定的概率分布,也没有对数据作任何限制性要求,能够真实、直观地表现数据形状的本来面貌。箱线图判断异常值的标准以四分位数和四分位距为基础,较多数据的变化对四分位数影响不大,所以箱线图判断异常值的标准具有较强的鲁棒性(Robust),检测结果比较客观。箱线图法采用中位数代替平均数检测异常值是统计检测方法上的一大改进。箱线图法能够有效克服数据中存在异常值时,不能测出异常值的这种掩盖效应(masking effect)[5]。
箱线图由参照系(坐标轴)、标志物(箱体、上下四分位线、中位线、异常值截断点)、检测数据(箱体两端的延伸线、异常值)三种成分构成,具体见图1。其中箱体的两端分别对应下四分位数Q1和上四分位数Q3,Q1和Q3之间称作四分位距(Inter Quartile Range,IQR)。上四分位点右边1.5倍IQR和下四分位点左边1.5倍IQR位置对应的点是异常值截断点,异常值截断点之间是内限。上四分位点右边3倍IQR和下四分位点左边3倍IQR位置对应的点是极端值截断点,极端值截断点之间是外限。异常值截断点以外的数据称作异常值,其中在内限与外限之间的异常值为温和异常值或离群值(Outlier,mild outliers),在外限以外的为极端异常值或极端值(Extreme,extreme outliers)。
箱线图的结构与标准正态分布函数 N(0,1)之间的比较见图 2。其中Q3与Q1之间包含了50%的数据点,异常值截断点之间包含了99.3%的数据点,非异常值误判为异常值的概率不大于0.7%。
第一步,计算相关值。计算下四分位数Q1、中位数Q2、上四分位数Q3的值,并计算四分位距Q3-Q1,以及 Q3+1.5×IQR、Q1-1.5×IQR、Q3+3×IQR、Q1-3×IQR 等值。
第二步,绘制标志物。绘制数轴,度量单位和数据的单位一致,起点比最小值稍小,长度比该数据全距稍长;绘制箱体,在Q1和Q3对应的位置绘制箱体左右两个边,Q2对应的位置绘制中位线,详见图3(A);绘制截断线,在Q3+1.5×IQR和Q1-1.5×IQR对应的位置绘制异常值截断线,在Q3+3×IQR和 Q1-3×IQR对应的位置绘制极端值截断线,详见图 3(B)。
第三步,描线、点。确定数据中不是异常值的最小值和最大值点,分别用直线连结这两个点与矩形两端,用“ 。”标出离群值,用“*”标出极端值,详见图 3(C)。
以仔猪价格数据为例,演示运用SPSS绘制箱线图的方法检测来自148个调查点的仔猪市场价格数据中是否有异常数据(见表1)。
?
(1)启动SPSS 打开SPSS软件,激活数据管理窗口。
(2)数据准备 把数据输入SPSS软件的数据编辑窗口。定义变量名:采样点的变量名定义为Spot;输入原始数据,仔猪价格变量名定义为Price。
(3)操作步骤 点击Analyze菜单、Descriptive Statistics...过程中的Explore,弹出Explore对话框,如图4。
点击“Plots”,打开绘图对话框,选中“Histogram”选项,如图 5。
点击“Continue”按钮。返回“Explore”对话框,点击“OK”键,完成计算。图6是检验结果。
结果显示第144~147号地点采样数据 60、70、72 和 80 为离群值,第148号地点采样数据100为极端值。
SPSS软件自动生成的箱线图中,没有绘制异常值截断线和极端值截断线。
处理异常值的方式包括:(1)保留;(2)剔除;(3)替换,即用非异常值替换异常值;(4)修正,在找到实际原因时修正异常值。
对检出的异常值,应根据实际问题的性质进行判断:(1)若无充分理由,则不得剔除或修正异常值;(2)如果有充分理由,表现统计上高度异常的,可以剔除或进行修正;(3)被检出的异常值,被剔除或修正的观测值及其理由应予记录以备查询。
对于本例各个检出的异常值进行电话核实,60、70、72 和 80 四个离群值为当地实际仔猪价格,100这个极端值为录入员误报,实际值为44元/千克。经过修正,这些值全部用于动物卫生状况评估分析中。
[1]Tukey John W.Exploratory Data Analysis[M].Reading,MA:Addison-Wesley,1977:23-24.
[2]Michael Frigge,David C.Hoaglin and Boris Iglewicz.Some Implementationsof the Boxplot[J].The American Statistician,1989,43:50-54.
[3]Yoav B.Opening the Box of a Boxplot[J].The American Statistician,1988,42:257-262.
[4]Rousseeuw PJ,Ida Ruts,Tukey J W.The Bagplot:A Bivariate Boxplot[J].The American Statistician,1999,53:382-387.
[5]Bendre S M,Kale B K.Masking Effect on Tests for Outliers in Exponential Models[J].Journal of the American Statistical Association,1985,80:1020-1025.