---
title: "ROC 曲線（接收者操作特性曲線）（ROC Curve）"
slug: roc-curve
language: zh-TW
source: https://aiterms.tw/learning/what-is-roc-curve
updated_at: 2026-06-22
tags: [模型評估, AUC, 分類模型, 混淆矩陣, 閾值選擇, 信用評分]
ipas_term: false
type: deep-dive
---

# ROC 曲線（接收者操作特性曲線） 是什麼？

> 透過改變分類閾值，以真陽性率（召回率）為縱軸、假陽性率為橫軸繪製的曲線，用於評估二元分類模型在各閾值下的辨別能力。

## ROC 曲線的起源

ROC 曲線起源於二戰時期的雷達信號偵測理論（故名「接收者操作特性」），用於分析雷達操作員在不同敏感度設定下的信號偵測能力。1970 年代被引入醫療診斷領域，後來在機器學習模型評估中廣泛使用。ROC 曲線的優勢在於它對類別不平衡問題不敏感，且能在不依賴特定閾值的情況下評估模型的整體辨別能力。

## ROC 曲線的構成

### 兩個關鍵指標
- 真陽性率（TPR / Sensitivity / Recall） = TP / (TP + FN)：縱軸，越高越好，代表正類被識別出的比例
- 假陽性率（FPR） = FP / (FP + TN)：橫軸，越低越好，代表負類被誤判為正類的比例（等於 1 - Specificity）

### 繪製過程
1. 對測試集的每個樣本，模型輸出一個預測概率分數
2. 從高到低掃描所有可能的決策閾值（或直接按分數排序）
3. 在每個閾值下計算對應的 TPR 和 FPR，記為座標點
4. 將所有點連接成曲線

### 典型形態
- 對角線（y = x）：代表隨機猜測的基準線，AUC = 0.5
- 左上角附近的曲線：代表高性能模型（TPR 高、FPR 低）
- 曲線下凸（向左上突起）：模型辨別能力優於隨機

## AUC（曲線下面積）

AUC（Area Under the ROC Curve）是 ROC 曲線最常用的彙總指標，計算整個曲線下方的面積，範圍在 0 到 1 之間：
- AUC = 1.0：完美分類器，不存在任何錯誤
- AUC = 0.9-1.0：優秀
- AUC = 0.8-0.9：良好
- AUC = 0.7-0.8：尚可接受
- AUC = 0.5-0.6：接近隨機
- AUC < 0.5：比隨機更差（模型方向顛倒）

AUC 的概率解釋：AUC 等於隨機抽取一個正類樣本和一個負類樣本，模型給正類樣本打出更高分數的機率，這使得 AUC 具有直觀的統計意義。

## ROC 曲線的應用場景

1. 模型篩選：比較多個模型的 AUC，快速判斷哪個模型的整體辨別能力更強
2. 閾值選擇：根據業務需求（如最大化 TPR 同時限制 FPR 在某閾值以下）從曲線上選取合適的操作點
3. 醫療診斷：評估新型診斷工具相對於現有標準的改進程度
4. 信用評分：評估評分模型對好壞客戶的區分能力（通常以 Gini 係數 = 2 × AUC - 1 表達）

## 選擇最佳閾值的方法

不同業務目標對應不同的閾值選擇策略：
- Youden Index（J）：選擇 TPR - FPR 最大的點，即曲線到對角線垂直距離最大處
- 最近左上角點：選擇距離 (0, 1) 點最近的點，盡量同時提高 TPR 和降低 FPR
- 固定 FPR 上限：如醫療篩檢要求 FPR ≤ 5%，在此限制下找最高 TPR 的點
- 業務代價函數：將 FP 和 FN 的代價加入計算，選取期望代價最小的閾值

## ROC 曲線 vs. PR 曲線（精確率-召回率曲線）

在類別嚴重不平衡的情況下，PR 曲線（Precision-Recall Curve）往往比 ROC 曲線更具判別性：
- ROC 曲線包含 FPR，而 FPR 的分母是 TN + FP（負類總數），當負類數量遠大於正類時，即使有大量 FP，FPR 也可能很低，讓 ROC 看起來很好但實際 Precision 很差
- PR 曲線聚焦於正類（Precision 和 Recall 的分母都涉及 TP），對不平衡資料更敏感
- 一般原則：資料平衡時用 ROC/AUC；正類稀少（如詐欺偵測、罕見疾病篩查）時用 PR 曲線

## 局限性

- AUC 是一個彙總指標，可能掩蓋曲線在特定 FPR 範圍的局部差異（如兩條曲線 AUC 相同但形狀不同，在特定業務操作點的表現可能差異很大）
- ROC 曲線假設決策閾值可以自由調整，但實際業務場景中閾值可能有業務約束
- 對多類別問題需要擴展為 macro/micro 平均 AUC，解釋更複雜

## 常見問題

### AUC 0.85 的模型和 AUC 0.90 的模型，實際上差別大嗎？

AUC 差 0.05 在統計上是否顯著，取決於樣本量和具體的業務情境。在統計意義上，通常需要用 DeLong 方法或 bootstrap 計算兩個 AUC 的信賴區間和顯著性差異。在實際業務中，即使 AUC 差距不大，在特定操作閾值下的 TPR 或 FPR 差距可能相當明顯。建議同時比較兩個模型在業務關注的 FPR 範圍內的 TPR 差異，而不是單純比較 AUC 數字。

### ROC 曲線和 KS 曲線有什麼關係？

KS（Kolmogorov-Smirnov）統計量在模型評估中定義為：在所有閾值下，TPR 與 FPR 之差的最大值（KS = max(TPR - FPR)）。KS 曲線通常呈現累積分佈函數的形式，分別畫出正類和負類的累積分佈，KS 值為兩條曲線的最大垂直距離。KS 值越高（一般要求 ≥ 0.2 才有一定辨別力），代表模型對正負類的分離能力越強。KS 和 AUC 密切相關，均衡量同一模型的辨別力，但 KS 強調最佳操作點，AUC 強調整體辨別能力。

### 在類別不平衡的情況下，為什麼 ROC 曲線可能有誤導性？

在極端類別不平衡場景（如詐欺偵測，正類佔 0.1%），FPR = FP / (FP + TN) 的分母非常大，即使有大量的 FP（誤報），FPR 的絕對值仍然很低，使得 ROC 曲線看起來很優秀（AUC 高）。但實際上模型的 Precision 可能極低，意思是模型每次發出警報時，大多數都是誤報。這種情況下，PR 曲線（Precision-Recall Curve）更能反映模型在正類上的真實表現，因為它直接關注 TP 相對於全部正類樣本和全部正類預測的比例。

---

深度解說頁：https://aiterms.tw/learning/what-is-roc-curve
快查頁：https://aiterms.tw/terms/roc-curve
最後更新：2026/06/22