【gloomyfish】資料分析之 – 離群值(Outliers) BoxPlot
資料分析之 – 離群值(Outliers)
一:什麼是Outliers
Outliers是統計學專業術語,是指相比一組資料中的其它資料的極限值
二:極限值意味什麼
1. 決定哪些值是Outliers是一個主觀行為,有一些基準資料來決定是否一個值是一個Outliers,這些基準是任意選擇的,比如P<=0.5就是一個任意選擇的基準
2. 一個基準是用BoxPlot來決定適度離群值(mild Outliers)和極限離群值(extreme Outliers),適度離群值是任何值1.5倍大於基於剩下所有的值的IQR,極限離群值是任何值3倍大於剩下所有的值的IQR,IQR(Interquartile Range
三:使用Box Plot來發現Outliers
一個典型的Box Plot是基於以下五個值計算而來的
a. 一組樣本的最小值
b. 一組樣本的最大值
c. 一組樣本的中值
d. 下四分位數(Lower Quartile / Q1)
e. 上四分位數(Upper Quartile / Q3)
根據這五個值構建出來基本的Box Plot,某些圖形軟體還會顯示平均值,IQR= Q3 – Q1
顯然超出上下四分位數的值可以看做為Outliers。我們通過眼睛就可以很好的觀察到這些Outliers
一個顯示適度和極限Outliers值的Box plot顯示如下:
四:示例說明及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
IQR(Q3 – 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
從圖上可以看出Series0的資料存在Outliers,一個紅色三角形已經表明
同樣Series1的資料是一組非常好的資料,沒有Outliers.
下面是Java原始碼: