ROC 및 multiROC 분석 : 최적의 컷 포인트 계산 방법


14

ROC 곡선에 대한 최적의 컷 포인트를 계산하는 방법을 이해하려고합니다 (감도 및 특이성이 최대화되는 값). aSAH패키지 의 데이터 세트 를 사용하고 pROC있습니다.

outcome변수는 두 개의 독립 변수에 의해 설명 될 수있다 : s100bndka. Epi패키지 의 구문을 사용하여 두 가지 모델을 만들었습니다.

library(pROC)
library(Epi)
ROC(form=outcome~s100b, data=aSAH)
ROC(form=outcome~ndka, data=aSAH)

출력은 다음 두 그래프로 표시됩니다.

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

첫 번째 그래프 ( s100b)에서 함수는 최적 컷 포인트가에 해당하는 값에 현지화되어 있다고 말합니다 lr.eta=0.304. 두 번째 그래프 ( ndka)에서 최적의 컷 포인트는 해당 값에 국한됩니다 lr.eta=0.335(의 의미는 무엇입니까 lr.eta). 내 첫 번째 질문은

  • 표시된 값에 해당하는 값 s100bndka값은 lr.eta무엇 입니까 ( s100b및의 관점에서 최적의 컷 포인트는 ndka무엇입니까)?

두 번째 질문 :

이제 두 변수를 모두 고려하여 모델을 작성한다고 가정하십시오.

ROC(form=outcome~ndka+s100b, data=aSAH)

얻은 그래프는 다음과 같습니다.

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

기능에 의해 감성과 특이성이 극대화되는 ndkaAND 의 값이 무엇인지 알고 싶습니다 s100b. 다른 관점에서 :의 값은 무엇인가 ndka하고 s100b있는 우리 셀레늄 = 68.3 % 및 SP = 76.4 % (그래프로부터 도출 된 값)가 있습니까?

이 두 번째 질문이 multiROC 분석과 관련이 있다고 가정하지만 Epi패키지 문서 에는 모델에 사용 된 변수에 대한 최적 컷 포인트 를 계산하는 방법이 설명되어 있지 않습니다 .

내 질문은 reasearchGate 의이 질문과 매우 유사하게 나타납니다 .

측정의 민감도와 특이성 사이의 더 나은 균형을 나타내는 컷오프 점수를 결정하는 것은 간단합니다. 그러나 다변량 ROC 곡선 분석의 경우, 대부분의 연구자들은 AUC 측면에서 여러 지표 (변수)의 선형 조합의 전체 정확도를 결정하는 알고리즘에 중점을 두었습니다. [...]

그러나 이러한 방법은 최고의 진단 정확도를 제공하는 여러 지표와 관련된 컷오프 점수 조합을 결정하는 방법을 언급하지 않습니다.

가능한 해결책은 Shultz가 그의 논문 에서 제안한 것이지만이 기사에서는 다변량 ROC 곡선에 대한 최적의 컷 포인트를 계산하는 방법을 이해할 수 없습니다.

Epi패키지 의 솔루션 이 이상적이지 않을 수 있으므로 다른 유용한 링크를 주시면 감사하겠습니다.

답변:


10

Frank Harrell의 답변을 자세히 설명하기 위해 Epi패키지는 로지스틱 회귀 분석에 적합하고 다음과 같은 결과 예측을 사용하여 ROC 곡선을 작성했습니다.

outcome=11+e(β0+β1s100b+β2ndka)

귀하의 경우 는 (절편) = -2.379, (s100b) = 및 (ndka) = 0.031입니다. 예상 결과가 0.312 ( "최적의"컷오프)가되기를 원할 때 다음과 같이 대체 할 수 있습니다 (여기서 오류가 발생하지 않기를 바랍니다).β0β1β2

0.312=11+e(2.379+5.334s100b+0.031ndka)
1.588214=5.334s100b+0.031ndka
또는 :
s100b=1.5882140.031ndka5.334

이 동등성을 만족시키는 모든 (s100b, ndka) 값 쌍은 "최적"입니다. 당신에게 불운,이 쌍의 무한대가 있습니다. 예를 들어, (0.29, 1), (0, 51.2) 등. 더 나쁜 것은 대부분 의미가 없습니다. 쌍 (-580, 10000)은 무엇을 의미합니까? 아무것도!

다시 말해, 입력에 컷오프를 설정할 수 없습니다. 출력에 대해 컷오프를 수행해야합니다. 이것이 모델의 핵심입니다.


8

입력 변수에 대한 컷오프를 찾는 것이 아니라 출력에 대해서만 컷오프를 찾는 것이 적절합니다 (예 : 다 변수 모델에서 예측 된 위험). x1의 컷오프는 x2의 연속 값에 따라 달라지기 때문입니다. 최적의 결정을 얻기 위해 에 대한 컷 포인트를 찾으 려면 유틸리티 / 손실 / 비용 기능이 필요하며 이는 ROC 곡선과 관련이 없습니다.Y^


설명하신 문제를 이해합니다. 그건 그렇고, 특정 상태 (질병 / 결과 등)를 식별하는 Sens 및 Spec을 높이기 위해 병렬로 두 개 이상의 테스트에 대한 차단 점을 계산하는 방법이 있는지 궁금합니다. ). 미리 감사드립니다.
Tommaso

1
x1에 대한 "최적"컷 포인트는 x2의 연속 값에 의존하고 x2에 대한 "최적"컷 포인트는 x1의 연속 값에 의존하므로,이를 수행 할 수있는 충분한 정보는 보존 할 수 없습니다. 재앙.
Frank Harrell

감도와 특이성을 극대화하기 위해 둘 이상의 테스트에 대한 컷오프 지점을 찾을 수있는 방법이 없습니까? 물론 다중 ROC 분석이 아닌 방법입니다. 다시 감사합니다.
Tommaso

2
입력을 차단하는 것은 적절하지 않습니다. 최적의 결정은 컷오프를 전혀 사용하지 않거나, 결정 시간 전에 필요한 경우 예측 된 확률을 컷오프하여 결정합니다. 예측 된 위험에 대한 최적의 차단을 위해서는 유틸리티 (손실 / 비용)가 필요합니다.
Frank Harrell

1
ROC 곡선은 해당 목표를 달성하는 것과 아무 관련이 없습니다. 이를 위해서는 SCr을 결과와 관련 시키거나 일반 모집단보다 SCr이 더 극단적 일 확률을 계산해야합니다.
Frank Harrell

3

lr.etaηROC

첫 번째 문장은 (그래프에 의해 입증 된 바와 같이) 민감도와 특이성 의 이 최대화 되는 곳을 찾고 있다고 말해야 합니다. 그러나 이것이 왜 "최적"입니까? 오 탐지 결과가 오 탐지 결과와 동일한 수입입니까? 여기를 참조 하십시오 .


맞습니다 . 나중에 찾은 것처럼 적합 모델에서 하나의 독립 변수에 대한 차단 점을 계산하거나 패키지 의 coords함수를 사용하여 차단 점을 계산할 수 있습니다 pROC. 필자의 경우 최적의 차단 점은 Sens와 Spec의 최상의 조합이었습니다. 링크 된 답변을 읽었지만 (최소한 지금은) 위양성 및 위음성 결과에 신경 쓰지 않습니다. 왜냐하면 (잘 이해하면) 연구를 위해 수집 된 데이터 그룹을 분석하기 때문입니다.
Tommaso

그럼 당신 무엇에 관심이 있습니까? 결과를 고려할 필요가없는 컷오프로 무엇을하고 있습니까? 그렇다면 '최적'또는 '최고' 무엇입니까?
Scortchi-Monica Monica 복원

Tommaso는 "최적"을 "민감도와 특이도를 최대화하는 값"(질문의 첫 문장 인용)으로 암시 적으로 max (감도 + 특이도)를 의미했습니다. 그것이 의미가 있든 없든 (그리고 그가 읽지 않을 때, 나는 그것을 생각하지 않는다고 생각합니다) 또 다른 질문입니다.
Calimo

1
이 접근법은 의사 결정과 상충됩니다.
Frank Harrell

1
내가 제대로 귀하의 게시물을 읽고있다하면 생각 lr.eta입니다 정확히 피팅 모델의 확률 : 두 번째 당신이 언급 옵션 . 분이 있다면 이것을 확인하십시오 . E[Yi|Xi]=11+e(β0+β1×s100b)
Antoni Parellada

0

실제 양의 비율 (tpr)이 실제 음의 비율 (tnr)과 교차하는 임계 값을 찾을 수 있습니다.이 값은 오 탐지와 오 탐지의 합이 최소가되는 지점입니다.


한 문장으로 된 답변은 일반적으로 우리의 형식에 비해 약간 짧은 것으로 간주됩니다. 최소값을 알고 있어야하는 방법에 대한 간단한 설명을 포함하여 답변을 확장 할 수 있습니까?
Glen_b-복지국 모니카

1
이러한 전략은 최적의 의사 결정에 직면 해 있습니다.
Frank Harrell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.