四分位距(IQR)是什麼?

四分位距(Interquartile Range, IQR)是第三四分位數(Q3)與第一四分位數(Q1)的差值,代表資料中間 50% 的分布範圍,常用於穩健的異常值偵測,不受極端值影響。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
IQR
主題標籤
統計方法、資料處理、特徵工程
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
四分位距(IQR)是什麼? 統計方法資料處理
術語快查

搜尋意圖: 如果你在找「四分位距 是什麼」或「四分位距 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 四分位距(Interquartile Range, IQR)是第三四分位數(Q3)與第一四分位數(Q1)的差值,代表資料中間 50% 的分布範圍,常用於穩健的異常值偵測,不受極端值影響。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

四分位距(Interquartile Range, IQR)是第三四分位數(Q3)與第一四分位數(Q1)的差值,代表資料中間 50% 的分布範圍,常用於穩健的異常值偵測,不受極端值影響。

核心概念

四分位距(Interquartile Range, IQR)是描述性統計中衡量資料分散程度的穩健指標。它聚焦於資料的「中間半段」,定義為:

IQR = Q3 − Q1

其中:

  • Q1(第一四分位數):25% 的資料落於此值以下
  • Q3(第三四分位數):75% 的資料落於此值以下

IQR 代表了資料集中間 50% 的寬度,又稱為「中位距」或「H-spread」。

運作原理

計算步驟:

  1. 將資料由小到大排序
  2. 找到中位數(Median, Q2)
  3. Q1 = 下半段資料的中位數
  4. Q3 = 上半段資料的中位數
  5. IQR = Q3 − Q1

IQR 異常值偵測法則(Tukey's Fences):

統計學家 John Tukey 定義了兩組邊界:

  • 內圍欄(Inner Fences):[Q1 − 1.5×IQR, Q3 + 1.5×IQR]
  • 外圍欄(Outer Fences):[Q1 − 3×IQR, Q3 + 3×IQR]

落在內圍欄之外的點標記為「疑似異常值」,落在外圍欄之外的點標記為「極端異常值」。這個方法的優點是不假設資料服從特定分布。

為何 IQR 比標準差更穩健?

標準差計算依賴每個資料點,一個極端的異常值可以大幅拉高標準差,導致後續基於「均值 ± k 個標準差」的異常偵測閾值整體偏移,讓更多正常點被錯誤標記。IQR 只使用排序位置,對極端值完全不敏感。

從崩潰點(Breakdown Point)的角度看,標準差的崩潰點為 0%(即使只有一個極端值就會失效),而 IQR 的崩潰點為 25%(需要超過 25% 的資料被汙染才會使估計失效)。

實際應用

探索性資料分析(EDA)中的箱形圖

箱形圖(Box Plot)是 IQR 最直觀的視覺化工具:

  • 箱體的上下邊界分別對應 Q3 和 Q1
  • 箱體內的橫線為中位數 Q2
  • 鬚(Whisker)延伸到內圍欄邊界
  • 超出鬚的點以單獨的點標示,即異常值

資料清洗流程

在機器學習的前處理中,可以用 IQR 法自動標記並處理異常值:

import pandas as pd

def remove_outliers_iqr(df, column, factor=1.5):
    Q1 = df[column].quantile(0.25)
    Q3 = df[column].quantile(0.75)
    IQR = Q3 - Q1
    lower = Q1 - factor * IQR
    upper = Q3 + factor * IQR
    return df[(df[column] >= lower) & (df[column] <= upper)]

穩健標準化(Robust Scaling)

Scikit-learn 的 RobustScaler 使用 IQR 進行特徵縮放:

縮放後的值 = (x − Q2) / IQR

這種縮放方式對異常值不敏感,特別適合包含離群值的資料集,常用於信用評分、醫療數據等高雜訊場景。

監控模型飄移

在 MLOps 中,可定期計算生產環境輸入特徵的 IQR,並與訓練時的 IQR 比較。若某特徵的 IQR 出現顯著變化,可能代表資料分布發生漂移(Data Drift),需要重新訓練模型。

常見誤區

誤區一:IQR 法則是萬用的異常值偵測標準 IQR 法則基於近似正態分布的假設設計(對於常態分布,約 0.7% 的資料會被標記為異常)。對於右偏嚴重(如收入、網站流量)或雙峰分布的資料,1.5×IQR 可能過於嚴格或過於寬鬆,需要根據領域知識調整係數。

誤區二:移除所有 IQR 異常值就是好的資料清洗 異常值不一定是錯誤,它們可能是真實的極端事件(詐欺交易、稀有疾病、市場崩盤),有時恰恰是分析的核心目標。移除前應先理解異常值的業務含義。

誤區三:IQR 適用於所有類型的資料 IQR 只有在資料可排序時才有意義,適用於連續型或有序類別型資料,不適用於名目類別資料(如顏色、城市名稱)。

與相關技術的比較

指標 計算基礎 對異常值的穩健性 假設分布 適用場景
IQR 分位數差 高(崩潰點 25%) 偏斜或含異常值資料
標準差(SD) 均值離差 低(崩潰點 0%) 常態 近常態分布的資料
MAD(中位數絕對偏差) 中位數離差 極高(崩潰點 50%) 高汙染率資料
Z-score 均值+SD 常態 快速識別偏差極大的點

IQR 在穩健性與計算複雜度之間取得良好平衡,是資料科學日常工作中最常用的穩健離散度指標。

常見問題

IQR 異常值偵測的 1.5 係數是怎麼來的?可以改嗎?

1.5 係數由統計學家 John Tukey 經驗性地選定:對於完全常態分布的資料,使用 1.5×IQR 作為邊界時,約 0.7% 的資料點會被標記為異常,這在實務上提供了合理的敏感度。係數完全可以根據應用場景調整:信用卡詐欺偵測可能需要更敏感的 1.0×IQR;而醫學數據或工業感測器資料可能有真實的極端值,使用 3×IQR 更為合適。調整係數前應先了解資料的分布形態與業務定義的「異常」含義。

Scikit-learn 的 RobustScaler 與 StandardScaler 該怎麼選?

若資料中存在明顯的異常值且無法提前移除,選 RobustScaler:它使用 IQR 和中位數進行縮放,異常值不會扭曲縮放參數,特徵之間的相對尺度更穩健。StandardScaler 使用均值和標準差,適合已確認接近常態分布且無顯著異常值的資料。在實務中,可先畫箱形圖觀察資料分布,若存在明顯的離群點,優先考慮 RobustScaler 或先清洗異常值再用 StandardScaler。

IQR 和標準差在 iPAS 考題中的主要考點是什麼?

iPAS 題目中,IQR 的考點集中在兩個方向:其一是理解 IQR 的計算方式(Q3-Q1)及其在箱形圖中的視覺對應;其二是掌握 IQR 作為穩健統計指標的核心優點,即不受極端值影響。常見題型為「以下哪種方法對異常值最不敏感」,答案通常是 IQR 或基於 IQR 的方法(如 RobustScaler、Tukey's fences),而標準差或均值為基礎的方法則是干擾選項。