概要
ROC曲線とAUCは、”2値モデルの精度を評価する“ためのものです。
2値モデルとは、”2値、つまり陰性/陽性を予測するためのモデル“を指しています。
2値モデルを複数作った時に、精度比較をする際、使われます。
ROC曲線とAUCはセットで使われます。
概要としては、ROC曲線は「精度を可視化したグラフ」であり、AUCは「ROC曲線から作成される評価値」です。
下記詳細の通り、AUCが大きい方のモデルが予測精度が高い形になります。
詳細
前提知識
ROC曲線とAUCの説明をするにあたって、必要な用語について先に説明します。
真陽性率 (TPF)
真陽性率は「実際は陽性であるデータ(真陽性)の内、陽性(真)の予測がされたデータの件数割合」です。
例えば、実際は陽性のデータが10件であり、その内、予測結果が陽性のデータが4件であれば、真陽性率は 4 / 10 = 「0.4」 となります。
真陽性率の略称は、「TPF」( True Positive Fraction )です。
偽陽性率 (FPF)
偽陽性率は「実際は陰性であるデータ(偽陽性)の内、陽性(偽)の予測がされたデータの件数割合」です。
例えば、実際は陰性のデータが20件であり、その内、予測結果が陽性のデータが4件であれば、真陽性率は 4 / 20 = 「0.2」 となります。
偽陽性率の略称は、「FPF」( False Positive Fraction )です。
カットオフポイント
カットオフポイントは「予測値から陽性/陰性の判断をするための基準(閾値)」です。
基本的に、予測値について、カットオフポイント以上であれば陽性、未満であれば陰性と予測します。
(「以上」か「より大きい」かは特別決まっていません。あくまで、区切り点を指します。)
例えば、予測値が、下記の通りだとします。
ID | 予測値 |
A | 10 |
B | 30 |
C | 5 |
この時、カットオフポイントを仮に 15 とした時、各データの陽性/陰性の判断は下記の通り、予測値が15以上か否かで陽性/陰性を判断します。
ID | 予測値 | 予測 (陽性/陰性) |
A | 10 | 陰性 (N) |
B | 30 | 陽性 (P) |
C | 5 | 陰性 (N) |
ROC曲線
ROC曲線は「予想値に対して、カットオフポイントを任意に設定した時の ( FPF , TPF ) をxy平面にプロットし、それらを線で繋げたもの」を指します。
ROCは「Receiver Operatorating Characteristic」(受信者動作特性)の略称です。
ROC曲線は、下図のようなグラフになります。
横軸がFPF(偽陽性率)、縦軸がTPF(真陽性率)です。
FPF、TPFどちらも件数割合なので、横軸、縦軸共に0~1の範囲のグラフになります。
AUC
AUCは「ROC曲線の横軸と曲線で挟まれた部分の面積」を指します。
AUCは「Area Under the Curve」(曲線の下の領域)の略称です。
ROC曲線の定義より、AUCが大きいモデルの方が予測精度が高い形になります。
但し、上記の通り、AUCはあくまで “予測したデータ” に対して、”TPF と FPF の観点” で比較した結果です。
モデル評価の際は、(名前がAUCに近い)AIC等、色々な観点で評価できるものなので、「一概にAUCで評価すれば良い」と過信しすぎないように注意した方が良いです。