AUC는 무엇을 의미하며 무엇입니까?


228

높고 낮게 검색되었으며 예측과 관련하여 AUC가 의미하거나 의미하는 바를 찾을 수 없었습니다.


8
auc사용한 태그 의 설명을 확인하십시오 . stats.stackexchange.com/questions/tagged/auc
Tim

4
곡선 아래 면적 (예 : ROC 곡선)
Andrej

7
여기 독자도 다음 스레드에 관심이있을 수 있습니다 . ROC 곡선 이해 .
gung

11
"AUC"또는 "AUC 통계"를 Google에 입력하여 AUC에 대한 훌륭한 정의 / 용도를 많이 찾을 수 있기 때문에 "High and Low Searched"라는 표현은 흥미 롭습니다. 물론 적절한 질문이지만, 그 말은 방금 나를 깨달았습니다!
Behacad

3
Google AUC를했지만 최고의 결과가 AUC = Area Under Curve라고 명시 적으로 언급하지 않았습니다. 그것과 관련된 첫 번째 Wikipedia 페이지에는 절반이 걸리지 않습니다. 돌이켜 보면 다소 분명해 보입니다! 정말 자세한 답변을 주셔서 감사합니다
josh

답변:


309

약어

AUC는 AUROC을 의미하는 데 가장 많이 사용됩니다. Marc Claesen이 AUC가 모호하지만 (곡선이 될 수 있음) AUROC는 그렇지 않았기 때문에 나쁜 습관입니다.


AUROC 해석

AUROC에는 몇 가지 동등한 해석이 있습니다 .

  • 균일하게 도출 된 랜덤 포지티브에 대한 기대치는 균일하게 도출 된 랜덤 포지티브에 우선합니다.
  • 긍정의 예상 비율은 균일하게 무작위 무작위 부정에 앞서 순위를 매겼습니다.
  • 순위가 균일하게 랜덤 랜덤 마이너스 직전 분할되는 경우 예상되는 실제 양의 비율입니다.
  • 음수의 예상 비율은 균일하게 무작위 추출 된 후 순위가 매겨졌습니다.
  • 균등 한 무작위 양수 직후에 순위가 분할되면 예상되는 오 탐지율입니다.

더 나아가 : AUROC의 확률 론적 해석을 도출하는 방법?


AUROC 계산

로지스틱 회귀와 같은 확률 적 이진 분류 기가 있다고 가정합니다.

ROC 곡선 (= 수신기 작동 특성 곡선)을 제시하기 전에 혼동 행렬 의 개념을 이해해야합니다. 이진 예측을하면 다음과 같은 4 가지 유형의 결과가있을 수 있습니다.

  • 우리는 참 클래스가 실제로 0 인 동안 0을 예측합니다 : 이것을 참 부정 이라고합니다 . 즉, 우리는 클래스가 음 (0)임을 정확하게 예측합니다. 예를 들어, 바이러스 백신은 무해한 파일을 바이러스로 탐지하지 못했습니다.
  • 우리는 0을 예측하지만 실제 클래스는 실제로 1입니다. 이것은 거짓 부정 이라고합니다 . 즉, 클래스가 음 (0)이라고 잘못 예측합니다. 예를 들어 안티 바이러스가 바이러스를 탐지하지 못했습니다.
  • 실제 클래스가 실제로 0 인 동안 1을 예측합니다.이를 False Positive 라고합니다 . 즉, 클래스가 포지티브라고 잘못 예측합니다 (1). 예를 들어 바이러스 백신은 무해한 파일을 바이러스로 간주했습니다.
  • 우리는 1을 예측하지만 실제 클래스는 실제로 1입니다. 이것은 True Positive 라고합니다 . 즉, 클래스가 긍정적이라고 정확하게 예측합니다 (1). 예를 들어, 안티 바이러스가 바이러스를 올바르게 감지했습니다.

혼동 행렬을 얻기 위해 모델에 의한 모든 예측을 검토하고 4 가지 유형의 결과 각각이 몇 번 발생하는지 계산합니다.

여기에 이미지 설명을 입력하십시오

이 혼동 행렬의 예에서, 분류 된 50 개의 데이터 포인트 중 45 개가 올바르게 분류되고 5 개가 잘못 분류됩니다.

서로 다른 두 모델을 비교하기 위해 여러 모델이 아닌 단일 메트릭을 사용하는 것이 더 편리하기 때문에 혼동 매트릭스에서 두 개의 메트릭을 계산하여 나중에 하나로 결합합니다.

  • 일명 양 수율 ( TPR ). 감도, 속도 공격리콜 로 정의된다, . 직관적으로이 메트릭은 모든 긍정적 데이터 포인트와 관련하여 올바르게 긍정적으로 간주되는 긍정적 데이터 포인트의 비율에 해당합니다. 다시 말해, TPR이 높을수록 긍정적 인 데이터 포인트가 줄어 듭니다.TPTP+FN
  • 거짓 양성률 ( FPR ), 일명. fall-out 으로 정의됩니다 . 직관적으로이 메트릭은 모든 음수 데이터 포인트와 관련하여 실수로 양수로 간주되는 음수 데이터 포인트의 비율에 해당합니다. 즉, FPR이 높을수록 더 부정적인 데이터 포인트가 잘못 분류됩니다.FPFP+TN

FPR과 TPR을 하나의 단일 메트릭으로 결합하기 위해 먼저 로지스틱 회귀 분석에 대해 서로 다른 임계 값 (예 : ) 이 많은 두 개의 이전 메트릭을 계산 한 다음 단일 그래프로 플로팅합니다. 가로 좌표의 FPR 값과 세로 좌표의 TPR 값. 결과 곡선을 ROC 곡선이라고하며 우리가 고려하는 메트릭은이 곡선의 AUC이며이를 AUROC라고합니다.0.00;0.01,0.02,,1.00

다음 그림은 AUROC를 그래픽으로 보여줍니다.

여기에 이미지 설명을 입력하십시오

이 그림에서 파란색 영역은 수신기 작동 특성 (AUROC) 곡선 아래 영역에 해당합니다. 대각선의 파선은 랜덤 예측 변수의 ROC 곡선을 나타냅니다. AUROC는 0.5입니다. 랜덤 예측 변수는 일반적으로 모형이 유용한 지 여부를 확인하기위한 기준선으로 사용됩니다.

직접 경험을 원한다면 :


4
훌륭한 설명. 감사합니다. 내가 이해하고 있음을 명확히하는 한 가지 질문 :이 그래프에서 파란색 사각형이 ROC 곡선 (AUC = 1)을 가지며 좋은 예측 모델이 될 것이라고 말하는 것이 옳습니까? 나는 이것이 이론적으로 가능하다고 가정합니다.
josh

25
@ josh 예, 그렇습니다. AUROC는 0과 1 사이이며 AUROC = 1은 예측 모델이 완벽 함을 의미합니다. 실제로 AUROC가 0.5에서 멀어 질수록 좋습니다. AUROC <0.5 인 경우 모델이 내린 결정을 뒤집어 야합니다. 결과적으로 AUROC = 0이면 완벽한 모델을 얻기 위해 모델의 출력을 반전시키기 만하면됩니다.
Franck Dernoncourt

1
"여러 등가 해석"링크가 끊어졌습니다.
Haitao Du

1
AUROC 해석에서 "순위가 균일하게 랜덤 랜덤 포지셔닝 직후 분할 될 경우 예상되는 오 탐지율"입니다 (1-FPR)?
Mudit Jain

1
@ ryu576은 ROC 곡선의 포인트 수는 실제로 테스트 샘플 수입니다.
Franck Dernoncourt

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

여기에 이미지 설명을 입력하십시오


좋은. 두 번째 회색 블록은 플로팅 방법을 분명히 나타냅니다.
josh

+1 (이전부터). 위에서 나는 당신이 관련 주제에 아주 좋은 기여를 한 다른 스레드에 연결했습니다. 이것은 @FranckDernoncourt의 게시물을 칭찬하고 그것을 더 육체적으로 돕는 훌륭한 일을합니다.
gung

1
R 패키지에 의해 생성 된 ROC 곡선에서 색상은 무엇을 의미합니까? 세부 사항을 추가해 주시겠습니까? 감사 !
Prradep

위의 회색 상자에 설명에 긍정과 부정을 추가하는 것이 도움이 될 것 입니까? 그렇지 않으면 약간 혼란 스러울 수 있습니다.
cbellei

42

이러한 논의에는 중요한 고려 사항이 포함되어 있지 않습니다. 위에서 설명한 절차는 부적절한 임계 값을 사용하고 잘못된 기능을 선택하고 잘못된 가중치를 부여하여 최적화 된 부적절한 정확도 점수 규칙 (비율)을 활용합니다.

연속적인 예측의 이분법은 최적의 의사 결정 이론에 직면하여 날아갑니다. ROC 곡선은 실행 가능한 통찰력을 제공하지 않습니다. 연구원들이 혜택을 조사하지 않아도 의무화되었습니다. 잉크 : 정보 비율이 매우 큽니다.

최적의 결정은 "양성"과 "음성"을 고려하지 않고 결과의 추정 된 확률을 고려합니다. ROC 구성에 아무런 영향을 미치지 않는 ROC의 쓸모없는 유틸리티 / 비용 / 손실 기능은 위험 추정치를 최적 (예 : 가장 낮은 예상 손실) 결정으로 변환하는 데 사용됩니다.

통계 모델의 목표는 종종 예측을하는 것이며 분석가는 손실 함수를 알지 못할 수 있기 때문에 분석가는 종종 중단해야합니다. 예측의 주요 구성 요소 unbiasedly 확인합니다 (예를 들면, 부트 스트랩을 사용)이이 ROC 아래의 영역을 동일하게 발생하지만 더 쉽게하면 이해 될 수있는 일치의 확률을 측정하는 하나의 반 좋은 방법을 예측 차별을 (하는 돈 '은 t가 괴) 검량선을 그린다. 절대 규모로 예측을 사용하는 경우 교정 유효성 검사가 실제로 필요합니다.

자세한 내용은 생물 의학 연구를위한 생물 통계학 의 정보 손실 장 과 다른 장을 참조하십시오.


2
다른 모든 답변은 실용적인 유용성이없는 수학 공식에 중점을 둡니다. 그리고 유일한 정답은 공감 율이 가장 낮습니다.
최대

6
저는 Harrell 교수의이 주제에 대한 겉보기에 비밀스러운 답변을 받고 있습니다. 그들은 당신이 열심히 생각하도록 강요합니다. 그가 암시하고 있다고 생각하는 것은 HIV에 대한 선별 검사에서 허위 음성 사례를 받아들이고 싶지 않다는 것입니다 (소설의 예). AUC 최대 점에서. 잔인한 지나친 단순화에 대해 죄송합니다.
Antoni Parellada


17

AUC는 곡선 아래 면적에 대한 요약입니다 . 사용 된 모델 중 클래스를 가장 잘 예측하는 모델을 결정하기 위해 분류 분석에 사용됩니다.

적용 예는 ROC 곡선입니다. 여기에서 실제 양수 비율은 위양성 비율에 대해 표시됩니다. 예는 다음과 같습니다. 모델의 AUC가 1에 가까울수록 더 좋습니다. 따라서 AUC가 낮은 모델보다 AUC가 높은 모델이 선호됩니다.

ROC 곡선 이외의 다른 방법도 있지만 정밀 리콜, F1-Score 또는 Lorenz 곡선과 같은 실제 양수 및 위양성 비율과도 관련이 있습니다.

                                            ROC 곡선의 예


2
0/1 결과에 대한 간단한 교차 검증의 맥락에서 ROC 곡선을 설명해 주시겠습니까? 이 경우 곡선이 어떻게 구성되는지 잘 모르겠습니다.
Curious

10

이 포럼의 답변은 훌륭하며 참조를 위해 자주 여기로 돌아옵니다. 그러나 한 가지가 항상 누락되었습니다. @Frank의 답변에서 AUC는 양성 샘플이 음성 샘플보다 점수가 높을 확률로 해석합니다. 동시에 계산 방법은 TPR과 FPR을 임계 값으로 플로팅하고 를 변경 한 후 해당 곡선 아래 면적을 계산하는 것입니다. 그러나 왜 곡선 아래의이 영역이이 확률과 같은가? @Alexy는 시뮬레이션을 통해 서로 가깝다는 것을 보여 주었지만이 관계를 수학적으로 도출 할 수 있습니까? 다음을 가정 해 봅시다.τ

  1. A 는 실제로 양의 클래스에있는 데이터 포인트에 대해 모델이 생성하는 점수의 분포입니다.
  2. B 는 실제로 음의 클래스에있는 데이터 포인트에 대해 모델이 생성하는 점수의 분포입니다 (이는 왼쪽에 있음 ).A
  3. τ 는 컷오프 임계 값입니다. 데이터 포인트가 이보다 큰 점수를 얻는 경우 양의 클래스에 속하는 것으로 예측됩니다. 그렇지 않으면, 그것은 부정적인 클래스에있을 것으로 예상됩니다.

TPR (호출)은 로, FPR (fallout)은 됩니다.P(A>τ)P(B>τ)

이제 y 축에 TPR을, x 축에 FPR을 플로팅하고 다양한 대한 곡선을 그리고이 곡선 아래 면적 ( )을 계산합니다 .τAUC

우리는 얻는다 :

AUC=01TPR(x)dx=01P(A>τ(x))dx
여기서 는 FPR입니다. 이제이 적분을 계산하는 한 가지 방법은 를 균일 분포에 속하는 것으로 간주 하는 것입니다. 이 경우 유니폼의 PDF가 1이기 때문에 단순히 의 기대가됩니다 .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

그러나 역변환 법칙에 따르면 임의의 변수 에 대해 이면 라는 것을 알고 있습니다 . 이것은 임의의 변수를 취하고 자체 CDF를 적용하여 유니폼을 만들기 때문에 발생합니다.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
이것은 균일 한 것만 유지합니다.

식 (2)에서이 사실을 사용하면 다음과 같이됩니다 :

τ(x)B

이것을 방정식 (1)로 대체하면 다음과 같은 결과를 얻습니다.

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

다시 말해서, 곡선 아래의 영역은 랜덤 포지티브 샘플이 랜덤 네거티브 샘플보다 점수가 높을 확률입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.