2013-07-18 90 views
36

我對boxplots在matplotlib一些問題:箱線圖中matplotlib:標記和異常

問題上。我在下面用Q1,Q2Q3代表什麼?我相信Q1是最大和Q3是異常值,但什麼是Q2

                                            enter image description here

問題B如何matplotlib識別Ø utliers? (即它是如何知道它們不是真實的maxmin值?)

回答

63

甲圖片勝過千字。請注意,異常值(圖中的+標記)只是以外的以下的寬範圍[(Q1-1.5 IQR), (Q3+1.5 IQR)]

    enter image description here

然而,圖片僅供一個正態分佈的數據集的例子。重要的是要明白,matplotlib 不是首先估計正態分佈,並從估計的分佈參數計算四分位數,如上所示。

相反,中位數和四分位數直接根據數據計算。因此,根據您的數據分佈和樣本大小,您的箱型圖可能會有所不同,例如,不對稱和更多或更少的異常值。

+2

所以'99.3%'你的數據被包含在** [(Q1-1.5 IQR),(Q3 + 1.5 IQR)]'上面的裕度(也稱爲晶須)的寬**內。因此,除此之外的所有報價只代表您的數據的0.7%。 – zelusp

+1

'IQR'表示[Interquartile Range](http://www.physics.csbsju.edu/stats/box2.html) – zelusp

23

該框表示第一和第三四分位數,紅線表示中位數(第二四分位數)。所述documentation給出了默認的晶須1.5 IQR:

boxplot(x, notch=False, sym='+', vert=True, whis=1.5, 
     positions=None, widths=None, patch_artist=False, 
     bootstrap=None, usermedians=None, conf_intervals=None) 

WHIS:[默認1.5]

定義晶須的長度爲所述內四分位範圍的函數。它們擴展到(whis *(75%-25%))數據範圍內最極端的數據點。

如果您對不同的盒子圖表示感到困惑,請嘗試閱讀the description in wikipedia

12

除了塞特答案(因爲文檔中有關這不是非常精確的): Q1(在須晶)放置在最大值低於75%+ 1.5 IQR

(25%最小值 - 1.5 IQR)

這是計算晶須位置的代碼:

 # get high extreme 
     iq = q3 - q1 
     hi_val = q3 + whis * iq 
     wisk_hi = np.compress(d <= hi_val, d) 
     if len(wisk_hi) == 0 or np.max(wisk_hi) < q3: 
      wisk_hi = q3 
     else: 
      wisk_hi = max(wisk_hi) 

     # get low extreme 
     lo_val = q1 - whis * iq 
     wisk_lo = np.compress(d >= lo_val, d) 
     if len(wisk_lo) == 0 or np.min(wisk_lo) > q1: 
      wisk_lo = q1 
     else: 
      wisk_lo = min(wisk_lo) 
+0

感謝澄清這一點 - 我發現在我的陰謀的差異(相比,* Q3 + 1.5 * IQR *的文檔值),並很高興看到你的澄清。 TBH,但我有點困惑於'或'表達:'else'部分是有意義的,但'或'似乎是不可能的。對於Q3部分,'len(wisk_hi)== 0'的意思是「如果我們在'hi_val'下找不到任何元素」 - 這怎麼會發生? Q3是通過將中間數據分開並取上半部分的中間值而得到的......根據定義,會有比hi_val更低的值 - 「or」的第二部分是什麼意思?任何建議最受歡迎。 – ttsiodras

+0

我只能認同你,@ttsiodras,'q3'應該是'd'數組的一部分,並且滿足'np.compress'的條件,所以它也應該在數組中取最大值。也許代碼只是「保存」,或者讓讀者更明白wist_hi不能小於q3。 –

2

以防萬一,這可能有利於其他人,我需要把一個傳奇在我的箱線圖的一個圖表,讓我在Inkscape中做這個小巴紐我想我會分享。

enter image description here