본문 바로가기

R-PAGO 노트

ROC Curve: 어떤 모델이 우수한가?

ROC Curve


TPR(True Positive Rate)은 실제 참(True)인데 참(Positive)이라 예측한 경우이며(진 양성)

FPR(False Positive Rate)은 실제 거짓(False)인데 참(Positive)이라 잘못 예측한 경우이다.(제 1종 오류)


ROC(Receiving Operating Characteristic) Curve의 x축은 FPR, y축은 TPR로 구성된다. 


좋은 모형이라면 데이터가 True일 때 True라고 Positive 예측을 하는 것 뿐아니라 데이터가 False일 때 True라고 잘못된 Positive 예측을 하지 않아야 한다. 


이항 Outcome(0 또는 1)의 경우, 회귀 모델이 확률을 제시하는데 어느 정도 확률 이상일 경우에 맞다고 할지를 결정하는 기준(Cutoff)이 필요하다.  또한 여러 모델 간에 어느 모델이 더 우수한지 판별할 기준이 필요하다. 


따라서, 좋은 모델이면 FPR이 조금만 변해도 TPR이 급격히 상승하는 ROC를 가지게 된다.  


AUC (Area Under the Curve)


좋은 모델인지 아닌지를 판단하기 위한 정량화를 AUC(Area Under Curve)라 한다. 이것은 ROC 곡선 밑의 넓이를 말한다. 

(참고 : 아무리 좋은 모형이라도 Cutoff를 0%까지 내려 전체 데이터셋을 Positive로 예측하게 만들면 

False/Positive도 1이 되어 (1, 1)을 곡선, 즉, AUC는 1이 된다.


AUC의 기준은 아래와 같다. 


0.90-1 = excellent
0.80-0.90 = good 
0.70-0.80 = fair 
0.60-0.70 = poor
0.50-0.60 = fail

ROC 곡선의 FPR과 TPR에 대한 세부 구성 요소는 아래와 같다. 

정밀도(Precision): 양성 예측도
Cutoff 값 A 이상일 때를 참이라 예상할 때 실제 맞을 확률로 Cutoff값 별 예측 확률을 말한다.
식 -> Cutoff 값 이상 중 실제 맞은(아웃컴이 1) 경우의 수 / Cutoff값 이상의 모든 경우의 갯수

특이도(Specificity): 진음성(True Negative) 비율
식 - > Cutoff값 미만 중 실제 틀린(아웃컴이 0) 경우의 수 / 실제 틀린(아웃컴이 0) 경우의 수
만약 Cutoff값이 0.85이상에서 특이도가 1이라면 이는 모델이 0.85이상에서는 실제 틀린 경우수를 정확히 예측할 것이란 뜻이다.

위양성(False Positive) 비율(제 1종 오류)  -> FPR
맞았다고 예측했으나 실제 틀린 비율 
진음성 비율이 틀렸다고 예측했으나 실제 틀린 비율이므로
식은 -> 1-진음성 비율  

민감도(Sensitivity): 진 양성(True Positive) 비율  -> TPR
Cutoff값 이상 중 실제 맞은(아웃컴이 1) 경우의 수/실제 맞은(아웃컴이 1) 경우의 수

Cutoff값이 올라갈수록 정밀도는 올라가지만 민감도는 떨어지게 된다.  

만약 Cutoff값이 0.85일 때 FPR이 0이고 TPR이 0.4라면 아직 제 1종 오류가 발생하지 않은 상태에서 아웃컴 1인 경우를 40% 가려낼 수 있다는 뜻이다. 
Cutoff값을 내려 0.55일 때 FPR이 9%이고 TPR이 75%라면 9%라는 약간의 1종 오류를 감수한다면 아웃컴 1인 경우를 70%까지 높일 수 있다는 뜻이 된다.

Cutoff값을 선정하는 것은 Case 별로 달라질 수 있는데 만약 주택담보대출의 부도 위험성을 예측한다면 높은 특이도와 정밀도를 원할 것이다. 

[출처] ROC curve|작성자 Curycu


참고 블로그

http://gim.unmc.edu/dxtests/roc3.htm

http://blog.naver.com/hancury/220826864995