盒鬚圖 是什麼?

Box Plot:盒鬚圖 的完整解釋

以五數摘要(最小值、Q1、中位數、Q3、最大值)視覺化資料分布與離群值的統計圖表。

盒鬚圖(Box Plot)是探索性資料分析(Exploratory Data Analysis,EDA)中最常使用的視覺化工具之一,能在單一圖表中同時呈現資料的集中趨勢、離散程度、分布形狀與離群值,是機器學習工作流程中資料理解階段的重要技能。

盒鬚圖的構成元素說明如下:

盒子(Box)的上下邊分別是第三四分位數(Q3,第 75 百分位數)與第一四分位數(Q1,第 25 百分位數)。盒子的高度稱為四分位距(Interquartile Range,IQR),IQR = Q3 - Q1。IQR 是衡量資料中段 50% 集中程度的指標,不受極端值影響,是比標準差更穩健的離散度量。

盒子中間的線是中位數(Median,Q2,第 50 百分位數)。中位數在盒子中的位置可以反映分布的偏態(skewness):若中位數靠近 Q1,資料右偏(正偏);若靠近 Q3,則左偏(負偏)。

鬚(Whisker)從盒子兩端延伸出去,通常延伸到資料範圍內距離四分位數 1.5 倍 IQR 的最遠資料點。即:下鬚延伸到 Q1 - 1.5×IQR 以上的最小值;上鬚延伸到 Q3 + 1.5×IQR 以下的最大值。

超出鬚範圍的資料點會以散點(dot 或 circle)單獨標示,這些點被視為離群值(outlier)。注意:這是一個統計意義上的定義,超出 1.5×IQR 的點被認為可能是離群值,但實際上是否為真正的異常需要結合業務知識判斷。

在機器學習工作流程中,盒鬚圖的典型應用場景包含以下幾個面向:

特徵分析(Feature Analysis):在訓練模型之前,對數值特徵繪製盒鬚圖,快速了解每個特徵的分布範圍、偏態程度與離群值情況。例如,若某個特徵的上鬚遠長於下鬚,表示右偏分布,可能需要對數轉換(log transformation)使分布更對稱,以改善線性模型的效能。

離群值偵測(Outlier Detection):盒鬚圖能快速視覺化哪些樣本的特徵值超出正常範圍,作為後續離群值處理(刪除、修正或保留)的參考依據。例如,信用卡消費金額的盒鬚圖可能顯示少數交易金額遠超 Q3 + 1.5×IQR,這些樣本在詐欺偵測中可能是重要信號。

模型比較(Model Comparison):在交叉驗證中,對多個模型的評估指標(如準確率、F1 分數)繪製盒鬚圖,可同時比較各模型的中位數性能與穩定性(IQR 越小表示不同 fold 間性能越穩定)。

分組比較:在含有類別特徵的資料集中,分組繪製盒鬚圖(如不同性別、不同地區的消費金額分布),能快速發現各組的分布差異,是 A/B 測試結果分析的常用工具。

與其他圖表類型的比較有助於理解盒鬚圖的適用場景。相較於直方圖(Histogram),盒鬚圖更緊湊,適合同時比較多個特徵或多個群組;直方圖則能呈現更詳細的分布形狀(如多峰分布),但難以並排比較。相較於散點圖(Scatter Plot),盒鬚圖在樣本量大時不會出現過度繪製(over-plotting)問題,但會隱藏雙峰或多峰結構(例如兩個高斯分布疊加的情況,盒鬚圖無法直接看出)。相較於小提琴圖(Violin Plot),盒鬚圖更簡潔,小提琴圖則在盒鬚圖的基礎上疊加了核密度估計(KDE),能呈現更多分布細節,但視覺較複雜。

使用盒鬚圖時常見的注意事項:樣本量過小時(如 n < 20),四分位數的估計不夠穩定,盒鬚圖的資訊量有限;遇到雙峰或多峰分布時,盒鬚圖可能呈現誤導性的「正常分布」外觀,建議搭配直方圖或核密度圖確認;離群值閾值(1.5×IQR)是統計慣例,不是絕對標準,在某些業務場景中需要調整閾值或使用領域特定的離群值定義。

在 Python 中,Matplotlib 的 plt.boxplot()、Seaborn 的 sns.boxplot() 以及 Plotly 的 px.box() 都提供了便捷的盒鬚圖繪製功能,支援分組比較、橫排顯示與互動式探索。在 iPAS AI 應用規劃師考試中,盒鬚圖是資料前置處理與 EDA 的重要考點,考生需能從盒鬚圖中判讀中位數位置、IQR 範圍與離群值分布,並說明其在特徵工程中的應用。

常見問題