ROC曲線 (G検定)

ROC曲線

1. 定義と概要

ROC曲線とは、二値分類モデルにおいて、陽性と判定する基準となる閾値(しきい値。この値以上のスコアを陽性とみなす境界線)を少しずつ動かしたときに得られる点を結んだ曲線です。縦軸には真陽性率(TPR。実際に陽性のものを正しく陽性と判定できた割合)、横軸には偽陽性率(FPR。実際は陰性のものを誤って陽性と判定してしまった割合)をとります。

閾値を1つ決めるごとに曲線上の1点が定まり、0から1まで連続的に動かすと点の軌跡が曲線として現れる仕組みです。病気の検査スコアで「0.3以上を陽性とする」場合と「0.7以上を陽性とする」場合とでは、真陽性率と偽陽性率の組み合わせがそれぞれ異なり、曲線上の別々の点として現れます。

従来、分類モデル(データを「陽性」「陰性」のようなクラスに振り分けるモデル)の性能は、1つの閾値を固定した混同行列(予測と実際の結果の組み合わせを4つに分けて集計した表)だけで語られる場合が少なくありませんでした。しかし閾値の取り方によって真陽性率と偽陽性率の結果は大きく変わり、1点だけの評価ではモデルの実力を見誤ることがあります。

そこで、閾値を動かした全体の挙動を1本の曲線として可視化するROC曲線が、特定の閾値に依存しない形でモデルの識別力を捉える手段として整理されています。1点の成績表ではなく、基準を動かしたときの振る舞い全体を見るための道具にあたります。

2. 試験対策ポイント

まず整理したいのは、軸の対応関係です。縦軸の真陽性率は、再現率(実際に陽性だったものの中で正しく陽性と予測できた割合)と同じ式で求まります。2つの軸と計算式の対応は、次のように並べられます。

軸 指標 計算式 意味
縦軸 真陽性率 TP÷(TP+FN) 実際に陽性のものを正しく陽性と判定できた件数の割合
横軸 偽陽性率 FP÷(FP+TN) 実際は陰性のものを誤って陽性と判定してしまった件数の割合

どちらも、混同行列の4マス(TP・FP・TN・FN)から導かれる値という共通点があります。縦軸が再現率と同じ式である点を押さえておくと、混同行列から導かれる他の評価指標とひと続きに整理できます。

続いて押さえておきたいのが、閾値を動かしたときの同時変化です。閾値を高くすると真陽性率と偽陽性率はどちらも小さくなり、閾値を低くするとどちらも大きくなります。片方だけを改善することはできず、両者はトレードオフの関係です。

この動きをたどって描かれる曲線の形も、読み方を左右する要素になります。真陽性率が1に近づくほど、陽性を陽性と正しく判定できている割合が高く、偽陽性率が0に近づくほど、陰性を誤って陽性と判定してしまう割合は低くなります。

この2つの条件がそろうグラフ左上の領域は、判定の誤りが少ない状態に対応する仕組みです。曲線がこの左上の領域を通るほど、モデルの識別力は高いと評価されます。反対に、右上から左下へ伸びる対角線は、実際の陽性・陰性と無関係にランダムな判定をしたときの基準線です。曲線がこの対角線に近づくほど、判定の精度は上がっておらず、識別力は乏しいと判断されます。

曲線上のどの点、つまりどの閾値を採用するかは、見逃し(FN)を減らしたいか誤検知(FP)を減らしたいかという業務要件によって変わります。1本の曲線から用途に応じた閾値を選べる点が、単一の閾値による混同行列との違いです。

この曲線を1つの数値に要約したものが、AUC(ROC曲線の下側の面積を数値化した、モデルの識別力を表す指標)です。AUCの算出方法や具体的な読み方は、別のテーマとして扱われます。

3. 関連概念との比較・相違点

AUCとの最大の違いは、曲線そのものか、曲線を要約した数値かという点です。ROC曲線は閾値を動かしたときの真陽性率と偽陽性率の推移そのものを表す曲線であり、AUCはその面積を数値に置き換えたものにあたります。曲線を見れば閾値ごとの挙動が分かり、AUCを見ればモデル同士の識別力を1つの数値で比べられます。曲線と要約値、という関係です。

PR曲線(適合率-再現率曲線。縦軸に適合率、横軸に再現率をとって閾値ごとの関係を示すグラフ)との最大の違いは、真陰性(TN。実際は陰性のものを正しく陰性と判定できた件数)を使うかどうかです。ROC曲線は偽陽性率の計算にTNを使いますが、PR曲線の縦軸にあたる適合率(陽性と予測したものの中で実際に陽性だった割合)と横軸の再現率はどちらもTNを使いません。

不均衡データ(陽性と陰性の件数に極端な偏りがあるデータ)では、TNの件数が膨大になり偽陽性率の変化が見えにくくなります。そのため、PR曲線の方が変化を捉えやすいとされる点が分かれ目になります。詳しい読み方には、ここでは立ち入りません。

三者の位置づけは、何を表すものかと軸の取り方を並べると見通しがよくなります。

概念 位置づけ 軸・数値
ROC曲線 閾値ごとの真陽性率と偽陽性率の推移そのものを表す曲線 縦軸に真陽性率、横軸に偽陽性率
AUC ROC曲線を1つの数値に要約した識別力の指標 曲線の下側の面積
PR曲線 閾値ごとの適合率と再現率の関係を示す曲線 縦軸に適合率、横軸に再現率

同じ閾値の動きを見るグラフでも、どの指標を軸に置くかで見えてくるものが変わるという関係です。

4. ビジネス・実務での活用シナリオ

医療診断の現場では、病気の検査スコアからROC曲線を描き、見逃し(FN)を減らしたい検査か、誤診断(FP)による不要な精密検査を避けたい検査かに応じて、曲線上から閾値を選びます。

命に関わる重篤な疾患のスクリーニングで優先されるのは、見逃しの回避です。負担の大きい精密検査を避けたい場面では、誤診断の回避を優先した閾値を選びます。このように、1本の曲線から検査の目的に合う判定基準を柔軟に決められる点が、実務上の効果です。

迷惑メールや不正取引の検知でも、ROC曲線は判断材料になります。スパムフィルタや取引の不正検知では、正規メールや正常取引を誤ってブロックしてしまうコスト(FP)と、迷惑メールや不正を見逃すコスト(FN)を、曲線上で比較しながら閾値を調整します。ブロックのしすぎによる利用者の不便と、被害の見逃しによる損失を比べて、落としどころを決められる点が単一の判定基準にはない強みです。

融資審査の分野では、貸し倒れの見逃し(FN)と、審査を厳格化しすぎることによる機会損失(FP)のバランスをROC曲線で比較し、事業方針に合わせて閾値を選びます。景気や事業戦略の変化に応じて閾値を選び直せるため、モデルを作り直すことなく審査基準を機動的に調整できる点が実務での価値です。

5. 要点まとめ

  • ROC曲線は、判定の閾値を動かしたときの真陽性率(縦軸)と偽陽性率(横軸)の組をプロットした曲線で、左上の点に近いほど識別力が高いと読みます。
  • 右上から左下への対角線はランダムな判定の基準線にあたり、曲線が対角線に近いほど識別力は乏しいと判断します。
  • 曲線上のどの閾値を採用するかは、見逃しと誤検知のどちらを避けたいかという業務要件で選ぶ、閾値選びの道具です。

6. 確認問題

問1ROC曲線は、分類の判定基準(閾値)を変化させたときの真陽性率と偽陽性率の関係を表したグラフである。

解答・解説をみる

○ 正しい

この命題が正しいのは、閾値を変化させたときの真陽性率と偽陽性率の組を表す点を結んだものが、そのままROC曲線の定義にあたるためです。曲線上の1点は、どちらか片方の軸だけでなく両方の値の組で決まります。

問2ROC曲線が右上から左下への対角線に近づくほど、モデルの識別力は高いと判断できる。

解答・解説をみる

× 誤り

この命題が誤りなのは、対角線が実際の陽性・陰性を区別せずランダムに判定した場合の基準線にあたるためです。曲線が対角線上に乗るということは、閾値をどこに設定しても正しい判定と誤った判定が同じ比率で混ざる状態を意味し、識別力に乏しいと判断されます。正しくは、真陽性率が1でかつ偽陽性率が0に近い状態、つまり見逃しも誤検知もほぼ無い状態を示す点に近いほど、識別力が高いと判断します。

問3ROC曲線の縦軸には真陽性率、横軸には偽陽性率がとられる。

解答・解説をみる

○ 正しい

この命題が正しいのは、真陽性率がTP÷(TP+FN)、偽陽性率がFP÷(FP+TN)という計算式で、それぞれ縦軸・横軸に対応づけられているためです。軸の割り当てを逆に覚えると、曲線の読み方全体を取り違えてしまいます。