天天看點

箱線圖(boxplot)簡介與舉例

簡述:

  盒圖是在1977年由美國的統計學家約翰·圖基(John Tukey)發明的。它由五個數值點組成:最小值(min),下四分位數(Q1),中位數(median),上四分位數(Q3),最大值(max)。也可以往盒圖裡面加入平均值(mean)。如上圖。下四分位數、中位數、上四分位數組成一個“帶有隔間的盒子”。上四分位數到最大值之間建立一條延伸線,這個延伸線成為“胡須(whisker)”。

  由于現實資料中總是存在各式各樣地“髒資料”,也成為“離群點”,于是為了不因這些少數的離群資料導緻整體特征的偏移,将這些離群點單獨彙出,而盒圖中的胡須的兩級修改成最小觀測值與最大觀測值。這裡有個經驗,就是最大(最小)觀測值設定為與四分位數值間距離為1.5個IQR(中間四分位數極差)。即:

箱線圖(boxplot)簡介與舉例

IQR = Q3-Q1,即上四分位數與下四分位數之間的差,也就是盒子的長度。

  • 最小觀測值為min = Q1 - 1.5*IQR,如果存在離群點小于最小觀測值,則胡須下限為最小觀測值,離群點單獨以點彙出。如果沒有比最小觀測值小的數,則胡須下限為最小值。
  • 最大觀測值為max = Q3 -1.5*IQR,如果存在離群點大于最大觀測值,則胡須上限為最大觀測值,離群點單獨以點彙出。如果沒有比最大觀測值大的數,則胡須上限為最大值。

通過盒圖,在分析資料的時候,盒圖能夠有效地幫助我們識别資料的特征:

  1.  直覺地識别資料集中的異常值(檢視離群點)。
  2.  判斷資料集的資料離散程度和偏向(觀察盒子的長度,上下隔間的形狀,以及胡須的長度)。

執行個體:

12位商學院畢業生月起薪的樣本在這裡按升序重複如下。

  2710 2755 2850 | 2880 2880 2890 | 2920 2940 2950 | 3050 3130 3325

  Q1 = 2865 Q2 = 2905(中位數) Q3 = 3000

  中位數是2 905,第一個四分位數Q1 = 2865,第三個四分位數Q3 = 3000。檢查這些資料,最小值為2710,最大值為3325。是以,薪水資料的五數概括資料為2710、2865、2905、3000、3325。大約1/4或25%的觀察值在五數概括的相鄰兩個數字之間。

  箱線圖是在五數概括的基礎上對資料進行描述的圖形方法。繪制箱線圖的關鍵是計算中位數、四分位數Q1和Q3。也可以使用四分位數全距IQR = Q3 − Q1。圖1是月起薪資料的箱線圖。

  繪制箱線圖的步驟如下:

  1.畫一隻箱子,箱子兩端分别位于第一個和第三個四分位數上。對于薪水資料來說,Q1 = 2865以及Q3 = 3000。這個箱子包括中間50%的資料。

  2.在箱子中位數(薪水資料是2905)的位置畫一條垂直線。

  3.用四分位數全距IQR = Q3 − Q1,确定限制線的位置。箱線圖的上、下限制線分别在比Q1低1.5(IQR)和比Q3高1.5(IQR)的位置上。對于薪水資料來說,IQR = Q3 − Q1 = 3000 − 2865 = 135。是以,限制線的位置在2865 − 1.5(135) = 2662.5和3000 + 1.5(135) = 3202.5處。兩條限制線以外的資料可以認為是異常值。

  4.圖1中的虛線稱為觸須線。觸須線從箱子兩端開始繪制,直至第3步中計算的限制線内的最小值和最大值。是以,薪水資料的觸須線分别在2 710和3 130處結束。

  5.最後,每個異常值的位置都用星号“*”表示出來。在圖1中,我們可以看到一個異常值,即3325。

  

  在圖1中,我們畫出了表示上下界限位置的直線。畫這些線是為了說明如何計算薪水資料的限制線并标出其位置。雖然限制線通常要計算出來,但是在箱線圖中一般并不标示出來。圖2顯示了薪水資料的常見箱線圖的形狀。

  

seaborn(sns)調用舉例:

箱線圖(boxplot)簡介與舉例
import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
# 繪制箱線圖
ax = sns.boxplot(x=tips["total_bill"])
# 豎着放的箱線圖,也就是将x換成y
ax = sns.boxplot(y=tips["total_bill"])      
箱線圖(boxplot)簡介與舉例