AUCは何を表し、何ですか?


228

高い値と低い値を検索しましたが、予測に関連する場合のように、AUCが何を意味するのかを知ることができませんでした。


8
auc使用したタグの説明を確認してください:stats.stackexchange.com/questions/tagged/auc
ティム

4
曲線下面積(すなわち、ROC曲線)
アンドレジュ

7
ここの読者は、次のスレッドにも興味があるかもしれません:ROC曲線を理解する
GUNG

11
「AUC」または「AUC統計」をGoogleに入力することで、AUCの優れた定義/使用法を数多く見つけることができるため、「Searched high and low」という表現は興味深いものです。もちろん適切な質問ですが、その声明は私を油断しました!
-Behacad

3
Google AUCを実行しましたが、多くの上位の結果では、AUC = Area Under Curveと明示されていませんでした。それに関連する最初のウィキペディアのページにはそれがありますが、途中まではありません。振り返ってみると、それはかなり明白に見えます!いくつかの本当に詳細な回答ありがとうございました
ジョシュ

回答:


309

略語

AUCはほとんどの場合AUROCを意味するために使用されますが、マーククレーセンが指摘したように、AUCは曖昧です(曲線である可能性があります)。


AUROCの解釈

AUROCには、いくつかの同等の解釈があります。

  • 一様に描かれたランダムなポジティブが、一様に描かれたランダムなネガの前にランク付けされるという期待。
  • 一様に引き出されたランダムなネガの前にランク付けされるポジティブの期待される割合。
  • 一様に引き出されたランダムな負の直前にランキングが分割された場合に予想される真の正の率。
  • 一様に描かれたランダムなポジティブの後にランク付けされるネガの予想割合。
  • 一様に描画されたランダムなポジティブの直後にランキングが分割された場合の予想される偽陽性率。

さらに進む:AUROCの確率論的解釈を導き出す方法は?


AUROCの計算

ロジスティック回帰などの確率的なバイナリ分類器があるとします。

ROC曲線(=受信者動作特性曲線)を提示する前に、混同マトリックスの概念を理解する必要があります。バイナリ予測を行う場合、4種類の結果があります。

  • 真のクラスが実際に0であるときに0を予測します。これはTrue Negativeと呼ばれます。つまり、クラスが負(0)であると正しく予測します。たとえば、アンチウイルスは無害なファイルをウイルスとして検出しませんでした。
  • 真のクラスが実際に1であるときに0を予測します。これはFalse Negativeと呼ばれます。つまり、クラスが負(0)であると誤って予測します。たとえば、ウイルス対策ソフトウェアがウイルスを検出できませんでした。
  • 真のクラスが実際に0であるときに1を予測します。これはFalse Positiveと呼ばれます。つまり、クラスが正であると誤って予測します(1)。たとえば、アンチウイルスは無害なファイルをウイルスと見なしました。
  • 真のクラスが実際に1であるときに1を予測します。これはTrue Positiveと呼ばれます。つまり、クラスが正であると正しく予測します(1)。たとえば、ウイルス対策ソフトウェアがウイルスを正当に検出しました。

混同マトリックスを取得するために、モデルによって行われたすべての予測を調べ、これらの4種類の結果のそれぞれが発生する回数をカウントします。

ここに画像の説明を入力してください

この混同マトリックスの例では、分類された50個のデータポイントのうち、45個が正しく分類され、5個が誤分類されています。

2つの異なるモデルを比較するには、複数のメトリックではなく単一のメトリックを使用する方が便利な場合が多いため、混同マトリックスから2つのメトリックを計算し、後で1つに結合します。

  • 真の陽性率TPR)、別名。として定義される感度、ヒット率、およびリコール。直観的には、このメトリックは、すべてのポジティブデータポイントに関して、ポジティブと正しく見なされるポジティブデータポイントの割合に対応します。言い換えれば、TPRが高いほど、見逃す正のデータポイントが少なくなります。TPTP+FN
  • 偽陽性率FPR)、別名。fall-out、として定義されます。直観的に、このメトリックは、すべての負のデータポイントに関して、誤って正と見なされる負のデータポイントの割合に対応します。言い換えると、FPRが高いほど、より多くの負のデータポイントが誤分類されます。FPFP+TN

FPRとTPRを1つの単一のメトリックに結合するには、最初にロジスティック回帰の多くの異なるしきい値()で2つの以前のメトリックを計算してから、単一のグラフにプロットします。横軸にFPR値、縦軸にTPR値を示します。結果の曲線はROC曲線と呼ばれ、考慮されるメトリックはAUROCと呼ばれるこの曲線のAUCです。0.00;0.01,0.02,,1.00

次の図は、AUROCをグラフィカルに示しています。

ここに画像の説明を入力してください

この図では、青い領域は受信者動作特性(AUROC)の曲線下の領域に対応しています。対角線の破線は、ランダムな予測変数のROC曲線を示しています。これは、AUROCが0.5です。ランダム予測子は、モデルが有用かどうかを確認するためのベースラインとして一般的に使用されます。

直接体験したい場合:


4
素晴らしい説明。ありがとうございました。私が理解していることを明確にするための1つの質問:このグラフで、青い正方形はROC曲線(AUC = 1)を持ち、良い予測モデルになると言って正しいですか?これは理論的には可能だと思います。
ジョシュ

25
@joshはい、そうです。AUROCは0〜1で、AUROC = 1は予測モデルが完全であることを意味します。実際、AUROCは0.5から遠くなるほど良くなります。AUROC<0.5の場合、モデルの決定を逆にするだけです。その結果、AUROC = 0の場合、モデルの出力を反転して完全なモデルを取得するだけでよいため、これは朗報です。
フランクデルノンクール

1
「いくつかの同等の解釈」リンクが壊れています。
ハイタオドゥ

1
AUROCの解釈では、「ランキングが一様に引き出されたランダムなポジティブの直後に分割された場合の予想される偽陽性率」では、これは(1-FPR)であってはなりませんか?
ムディットジャイン

1
@ ryu576理想的には、ROC曲線のポイントの数は、実際にテストサンプルの数です。
フランクダーノンクール

60

私はパーティーに少し遅れていますが、ここに私の5セントがあります。@FranckDernoncourt(+1)はすでにAUC ROCの可能な解釈について言及しており、私のお気に入りは彼のリストの最初のものです(私は異なる表現を使用していますが、同じです):

分類器のAUCは、ランダムに選択された負の例よりもランダムに選択された正の例をランク付けする確率、つまりP(score(x+)>score(x))

この例を考えてみましょう(auc = 0.68):

ここに画像の説明を入力してください

それをシミュレートしてみましょう:ランダムな正と負の例を描画し、正が負よりも高いスコアを持っている場合の割合を計算します

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

0.67926が得られます。かなり近いですね。

 

ところで、RIでは通常、ROC曲線の描画とAUCの計算にROCRパッケージを使用します。

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

ここに画像の説明を入力してください


いいね 2番目の灰色のブロックは、プロット方法を明確に示しています。
ジョシュ

+1(前から)。上記の別のスレッドにリンクして、関連するトピックに非常に素晴らしい貢献をしました。これは、@ FranckDernoncourtの投稿を補完し、さらに具体化するのに役立ちます。
グング

1
Rパッケージによって作成されたROC曲線では、色は何を表していますか?詳細を追加してください。ありがとう!
プラデップ

上の灰色のボックスの説明に真のポジティブと真のネガを追加すると便利でしょうか?そうしないと、少し混乱するかもしれません。
-cbellei

42

これらの議論には重要な考慮事項は含まれていません。上記の手順では、不適切なしきい値設定を招き、不適切な機能を選択し、それらに誤った重みを与えることによって最適化される不適切な精度スコアリングルール(割合)を使用します。

連続予測の二分法は、最適な決定理論に直面します。ROC曲線は実用的な洞察を提供しません。研究者が利益を調べることなく、彼らは義務的になりました。彼らは非常に大きなインク:情報比を持っています。

最適な決定では、「ポジティブ」と「ネガ」を考慮せず、結果の推定確率を考慮します。ROCの構築において役割を果たさないユーティリティ、つまりROCの役に立たないユーティリティ/コスト/損失機能を使用して、リスク推定値を最適な(たとえば、最小の予想損失)決定に変換します。

統計モデルの目的は多くの場合、予測を行うことです。アナリストは損失関数を知らない可能性があるため、アナリストはしばしばそこで停止する必要があります。(ブートストラップを使用して、例えば)unbiasedly検証する予測の主要コンポーネントの予測差別(これを測定する一つの半良い方法は、ROCの下の面積に等しくなるように起こっています場合は、より容易に理解することができます一致確率でいるドン「がtは ROC)との検量線を描きます。絶対スケールで予測を使用している場合、キャリブレーション検証は本当に本当に必要です。

詳細については、Biomedical ResearchのBiostatisticsの情報損失の章およびその他の章を参照してください。


2
他のすべての答えは、実用的な有用性を持たない数式に焦点を当てています。そして、唯一の正解は最小の賛成票です。
最大

6
私は、ハレル教授からのこのトピックに関する一見不可解な答えを受け取っています。彼が示唆しているのは、HIVのスクリーニングテストで偽陰性のケースを受け入れたくないということです(架空の例) AUCの最大値で。残酷な単純化でごめんなさい。
アントニ・パレラダ


17

AUCは、曲線下面積の略語です。使用されているモデルのどれがクラスを最もよく予測するかを決定するために、分類分析で使用されます。

その適用例はROC曲線です。ここでは、真陽性率が偽陽性率に対してプロットされています。以下に例を示します。モデルのAUCが1に近ければ近いほど良いです。そのため、AUCが低いモデルよりもAUCが高いモデルが優先されます。

ROC曲線以外の方法もありますが、これらは真陽性率と偽陽性率にも関連しています。たとえば、精度リコール、F1-スコア、ローレンツ曲線などです。

                                            ROC曲線の例


2
0/1の結果の単純な相互検証のコンテキストでROC曲線を説明してください。その場合、曲線がどのように構築されるのかよくわかりません。
好奇心が

10

τ

  1. A
  2. BA
  3. τ

P(A>τ)P(B>τ)

τAUC

我々が得る:

AUC=01TPR(x)dx=01P(A>τ(x))dx
xxTPR

(1)AUC=Ex[P(A>τ(x))]
xU[0,1)

xFPR

x=FPR=P(B>τ(x))
x

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X

τ(x)B

これを式(1)に代入すると、次のようになります。

AUC=Ex(P(A>B))=P(A>B)

言い換えると、曲線の下の領域は、ランダムなポジティブサンプルがランダムなネガティブサンプルよりも高いスコアを持つ確率です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.