최근에는 기술적으로 말하기 웹 세미나 , 나는 반응이 두 가지 가능한 결과, 즉 예(PAD에 걸릴 위험이 있는 환자)와 아니오(PAD에 걸릴 위험이 없는 환자)로 분류되는 말초 동맥 질환(PAD)의 위험 예측에 대해 논의했습니다.
프레젠테이션 중에 저는 예측 모델이 1) 모델에 의해 생성된 확률 함수와 2) 데이터를 '예' 또는 '아니요'로 분류하는 데 사용되는 컷오프의 두 부분으로 구성되어 있음을 지적했습니다. ROC 곡선은 모델이 생성한 확률 함수를 평가하고 비교하는 좋은 방법이라고 간략하게 언급했습니다.
이 블로그 게시물에서는 ROC 곡선과 이를 해석하는 방법에 대해 자세히 설명합니다. 또한 희귀 이벤트(불균형 데이터)를 예측하고 분류 컷오프를 선택할 때 ROC 곡선에 대한 몇 가지 생각을 제공할 것입니다.
ROC 곡선
말초 동맥 질환(PAD) 위험 예측 모델의 ROC 곡선은 그림 1에 나와 있습니다.
Figure 1. ROC Curve for PAD prediction model.Figure 1. ROC Curve for PAD prediction model.Figure 1. ROC Curve for PAD prediction model.Figure 1. ROC Curve for PAD prediction model.그림 1. PAD 예측 모델에 대한 ROC 곡선.
ROC 곡선의 표준 요소:
- x축은 1-특이성(1-Specficity)으로 거짓양성률입니다. 범위는 0에서 1까지입니다. 이는 모형의 제1종 오류로 간주될 수도 있습니다.
- y축은 민감도이며, 이는 참 긍정의 비율입니다. 범위는 0에서 1까지입니다. 이는 모델의 검정력 또는 1-Type II 오류로 간주할 수도 있습니다.
- 때때로 대각선이 0,0과 1,1을 통과하는데, 여기서 참양성률은 위양성률과 같습니다. 이 선은 진정한 무작위 모델 또는 예측 가치가 없는 모델을 나타냅니다.
그렇다면 ROC 곡선에는 무엇이 그려져 있을까요?
ROC 곡선에 표시된 내용을 이해하려면 범주형 응답에 대한 예측 모델이 1) 확률 함수와 2) 확률을 가장 가능성이 높은 범주로 분류하기 위한 컷오프의 두 부분으로 구성되어 있다는 점을 기억하세요. 데이터 세트의 각 관측값에 대해 예측 확률이 분류 구분선으로 사용됩니다. 해당 컷오프가 있는 모델의 결과 민감도 및 1-특이성은 데이터 세트의 각 관측값에 대해 표시됩니다. 아래에서 이러한 계산에 대해 자세히 설명하겠습니다.
ROC 곡선은 0,0과 1,1을 통과하는 대각선 아래로 떨어지지 않습니다.
그리고 ROC 곡선을 어떻게 해석합니까?
완벽한 모델은 그리드(0,1)의 왼쪽 상단을 통과합니다. x 값이 0이면 모델 결과에 거짓 긍정이 없음을 나타냅니다. y 값이 1이면 모델 결과가 모두 참양성임을 나타냅니다.
ROC 곡선 아래 영역(AUC)은 모델이 ROC 곡선의 왼쪽 상단 모서리에 얼마나 가까운지를 나타냅니다. AUC 1은 완벽한 모델이고, AUC 0.5는 무작위 모델이거나 예측 가치가 없는 모델입니다. ROC 곡선은 결코 대각선 아래로 떨어지지 않으므로 AUC는 항상 0.5와 1 사이입니다.
AUC가 높을수록 모델이 예측 값이 없는 모델을 나타내는 대각선에서 더 멀리 떨어져 있고 그리드의 왼쪽 상단 모서리(0,1)를 통과하는 완벽한 모델에 접근한다는 것을 나타냅니다.
PAD 모델의 ROC 곡선 자세히 살펴보기
PAD 위험 예측 모델의 ROC 곡선과 x, y 값이 어떻게 계산되는지 자세히 살펴보겠습니다. 그림 2는 데이터 세트의 관측치 하위 집합에 대한 그래픽 플롯이며 ROC 곡선에 표시됩니다. 이들 포인트 중 일부는 PAD = Yes에 해당하는 예측 확률로 라벨이 지정되어 있습니다.
Figure 2. ROC Curve for Rare Event Example.Figure 2. ROC Curve for Rare Event Example.Figure 2. ROC Curve for Rare Event Example.Figure 2. ROC Curve for Rare Event Example.그림 2. 희귀 사건 예에 대한 ROC 곡선.
먼저, 데이터 포인트는 0.02에서 0.53 범위의 예측 확률 순서로 정렬되어 있습니다. 예와 아니오의 수가 동일한 데이터 세트에서 모델을 구축했다면 범위는 0과 1 사이이고 곡선 중심 근처에는 0.5가 될 것으로 예상합니다. 그러나 이 데이터 세트는 드물거나 불균형한 데이터 세트를 위한 것입니다. 즉, 아니요에 비해 예라는 빈도가 훨씬 낮습니다. 결과적으로 모든 예측 확률은 범위의 하한값에 속합니다. 모두 0.53 이하입니다.
그래프의 오른쪽 상단에 있는 데이터 포인트는 데이터 하위 집합에서 가장 낮은 예측 확률(0.02)에 해당합니다. 이 점을 그리는 데 사용된 계산에 대해 이야기하기 전에 잠시 시간을 내어 시나리오에 대해 생각해 보십시오. 모든 예측 확률을 분류하기 위해 가장 낮은 예측 확률 중 하나를 컷오프로 사용하면 분류에 어떤 일이 발생할까요? 거의 모든 데이터는 실제로는 아니오인 경우에도 예로 분류됩니다. 이는 높은 위양성률(1-특이성)에 해당합니다. 마찬가지로 예인 모든 데이터는 참양성률(민감도)이 높은 예로 분류됩니다.
또한 그래프의 왼쪽 하단에 있는 데이터 포인트에 대해서도 생각해 보세요. 이 점은 데이터에서 가장 높은 예측 확률(0.53)에 해당합니다.가장 높은 예측 확률을 컷오프로 사용하면 모든 데이터가 아니요로 분류됩니다. 즉, 거짓양성률(1-특이도)이 낮아 실제로는 0입니다.예인 모든 데이터는 아니요로 분류되어 참양성률(민감도)이 낮고 다시 0이 됩니다.
1-특이성과 민감도 계산
ROC 곡선에 데이터를 표시하려면 1-특이성과 민감도를 계산해야 합니다. 데이터 하위 집합(0.02)에서 가장 낮은 예측 확률에 해당하는 그림 2의 오른쪽 상단에 있는 데이터 포인트부터 시작하겠습니다. 먼저 예측 확률 0.02를 컷오프로 사용하여 전체 데이터 세트를 예 또는 아니오로 분류합니다. 이 예측 조건을 실제 또는 참 조건과 비교하여 데이터를 참양성, 참음성, 참음성의 4가지 결과로 분리할 수 있습니다. 거짓 부정, 거짓 긍정(그림 3). 그림 3은 혼동 행렬(Confusion Matrix)이라고 하며 혼동 행렬에 채워진 숫자는 1-특이도(Specificity)와 민감도(Sensitivity)를 계산하는 데 사용됩니다.
|
참 조건
|
실제 양성
|
실제 부정적인
|
예상되는 상태
|
양성 예측
|
참양성(TP)
|
거짓양성(FP)
|
예측된 부정적
|
거짓 부정(FN)
|
참음성(TN)
|
그림 3. 이진 분류 모델(혼란 행렬)의 결과.
1-특이성
1-특이성은 위양성률(false positive rate)이며, 1에서 진음성률을 빼서 계산됩니다. 진음성률은 모델에 의해 예측된 진음성(TN) 수를 진음성(TN)과 거짓양성(FP)을 모두 포함하는 총 실제 음성 수로 나눈 값입니다.

감광도
민감도는 모델에 의해 예측된 참양성(TP) 수를 참양성(TP)과 거짓음성(FN)을 모두 포함하여 실제 양성의 총 수로 나눈 값인 참양성률입니다.

전체 데이터 세트에 분류 컷오프 0.02를 적용하면 아래 그림 4에 보고된 결과를 얻을 수 있습니다.
|
참 조건
|
실제 양성
|
실제 부정적인
|
예상되는 상태
|
양성 예측
|
TP = 277
|
FP = 3394
|
예측된 부정적
|
FN = 0
|
테네시 = 312
|
그림 4. 분류 컷오프가 0.02인 PAD 예측 모델의 결과.
이러한 결과로부터 ROC 곡선에 표시된 x 및 y 값에 각각 해당하는 1-특이성과 민감도를 계산할 수 있습니다.


요약하면 ROC 곡선은 확률 함수를 생성하는 데 사용된 데이터 세트의 각 데이터 포인트에 대한 플롯입니다. 1-특이도와 민감도는 예측 확률이 분류 구분선으로 사용될 때 혼동 행렬의 결과를 사용하여 각 데이터 포인트에 대해 계산됩니다.
ROC 곡선에 대한 이러한 계산을 통해 확률 함수와 0.02 분류를 사용한 예측 모델은 좋은 모델이 아니라는 결론을 내릴 수도 있습니다. 첫째, 이 지점은 진정한 무작위 모델을 나타내는 대각선에 가깝기 때문에 단순히 환자에게 PAD 위험을 무작위로 할당하는 것보다 낫지 않습니다. 또한 계산을 통해 진음성률(특이도) 0.08과 진양성률(민감도) 1에 큰 차이가 있음을 알 수 있습니다. 즉, 실제 PAD 사례는 100% 분류되지만 위양성률은 92%입니다. 특이성과 민감도의 균형을 맞추고 대각선에서 더 멀고 그래프의 왼쪽 상단에 더 가까운 분류 구분선을 선택하려고 합니다.
분류 컷오프 선택
기본적으로 확률 함수를 기반으로 데이터를 분류하는 데 컷오프 0.5가 사용됩니다. JMP 이 컷오프를 사용하여 예측 공식을 생성합니다. 실제 긍정과 부정의 수가 같은 데이터에는 0.5의 컷오프가 적합할 수 있습니다. 그러나 실제 긍정률이 낮은 경우(예: 희귀 사건 또는 불균형 데이터) 컷오프 0.5는 최적이 아닐 가능성이 높습니다.
그러면 희귀 사건에 대한 분류 기준을 선택하기 위해 어떤 접근 방식을 사용할 수 있는지에 대한 질문이 생깁니다. ROC 곡선은 몇 가지 단서를 제공합니다. 그래프의 왼쪽 상단은 둘 다의 진음성률(특이성)과 진양성률(민감도)이 최대화되는 지점입니다. 예측 확률이 표시된 그림 2를 보면 특이성과 민감도의 균형을 맞추는 것이 목표라면 이 예측 모델에 약 0.07의 컷오프가 최적이라는 것을 알 수 있습니다.그러나 ROC 곡선은 일반적으로 예측 확률로 레이블이 지정되지 않습니다.
Youden의 J 통계량은 특이성과 민감도가 최대화되는 ROC 곡선의 지점에 해당하는 예측 확률을 찾는 데 사용할 수 있습니다.

Youden의 J 통계 범위는 0과 1 사이입니다. 여기서 0은 참양성과 거짓양성의 동일한 비율에 해당하고 1은 모든 참양성이 있고 거짓양성이 없는 모델에 해당합니다. 또한 임의 모델을 나타내는 대각선에서 가장 멀리 떨어져 있는 ROC 곡선 상의 지점으로 생각할 수도 있습니다.
Fit Model Platform에서 Nominal Logistic을 사용하는 경우 ROC 곡선을 선택하면 해당 ROC 테이블도 얻을 수 있습니다. 테이블의 열 중 하나는 Youden의 J 통계이며 Sens-(1-Spec)으로 레이블이 지정됩니다. ROC Table은 Sens-(1-Spec)을 기준으로 내림차순으로 정렬되어 진음성률(특이성)과 진양성률(민감도)이 최대인 Sen-(1-spec)을 갖는 예측 확률(Prob)을 식별할 수 있습니다. ) 둘 다 최대화됩니다. JMP가 Sens-(1-Spec)의 최대값 옆에 별표를 표시하는 것을 볼 수 있습니다.

PAD 사례에서는 3,983명의 환자로 구성된 데이터 세트에서 PAD 환자는 277명에 불과했습니다. 0.07의 분류 컷오프는 참양성률과 참음성률의 균형을 맞췄습니다. 분류 기준이 결정되면 데이터 테이블에 저장된 예측 공식에서 변경할 수 있습니다. 컷오프 선택은 예측 모델의 목표와 결과와 관련된 위험에 따라 달라집니다. 예를 들어, 연구자는 위양성 또는 위음성을 방지하기 위해 다른 컷오프를 선택할 수 있습니다.