数据分析之 离群值(Outliers

 

一:什么是Outliers

Outliers是统计学专业术语,是指相比一组数据中的其它数据的极限值

 

二:极限值意味什么

 1. 决定哪些值是Outliers是一个主观行为,有一些基准数据来决定是否一个值是一个Outliers,这些基准是任意选择的,比如P<=0.5就是一个任意选择的基准

2. 一个基准是用BoxPlot来决定适度离群值(mild Outliers)和极限离群值(extreme Outliers),适度离群值是任何值1.5倍大于基于剩下所有的值的IQR,极限离群值是任何值3倍大于剩下所有的值的IQRIQRInterquartile Range)代表四分位数间距,是这些值中的50%中间值,分别是Q1-25%, Median-50%,Q3-75%, IQR=Q3-Q1

 

三:使用Box Plot来发现Outliers

一个典型的Box Plot是基于以下五个值计算而来的

a. 一组样本的最小值

b. 一组样本的最大值

c. 一组样本的中值

d. 下四分位数(Lower Quartile / Q1

e. 上四分位数(Upper Quartile / Q3

根据这五个值构建出来基本的Box Plot,某些图形软件还会显示平均值,IQR= Q3 – Q1

显然超出上下四分位数的值可以看做为Outliers。我们通过眼睛就可以很好的观察到这些Outliers值的点。

box plot 001

 

一个显示适度和极限Outliers值的Box plot显示如下:

box plot 002

四:示例说明及JfreeChart的实现

假设一组数据为:2,4,6,8,12,14,16,18,20,25,45

中值 Median = 14

Q1-下四分位数(11 * 0.25 = 3 = 7

Q3-上四分位数(11 * 0.75 = 9 =19

IQRQ3 – Q1 = 12

1.5 * IQR = 18

最小值(6 – 1.5 * IQR= 2

最大值(20 + 1.5 * IQR= 25

很显然值45是一个适度Outliers

对比的一组数据为:2,4,6,8,12,14,16,18,20,25,26

 

boxplot 003

 

从图上可以看出Series0的数据存在Outliers,一个红色三角形已经表明

同样Series1的数据是一组非常好的数据,没有Outliers.

 

下面是Java源代码:

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐