2014-02-17 2 views
1

ROptimalCutpoints 패키지를 사용하여 ROC 곡선에서 최적의 컷오프 지점을 찾습니다. 나는 기능 perfcurve와 MATLAB에서 동일한 작업을 수행하려고R 및 matlab을 복제하여 ROC 곡선에서 최적의 임계 값을 찾습니다.

J = sensitivity + specificity - 1 

: 최적의 임계 값을 찾기위한 기준은 Youden의 인덱스를 극대화한다. 나는 perfcurve을 두 축에 대한 기본 기준 인 FPR (x 좌표)과 TPR (y 좌표)로 실행합니다. perfcurve은 임계 값이있는 행렬을 반환하고 조건에 따라 그 중 하나를 선택합니다.
문제는 MATLAB이 제공하는 최적 임계 값은 R과 동일하지 않다는 것입니다. 그러나 R에 따른 최적 임계 값은 MATLAB이 반환하는 임계 값 매트릭스에 포함됩니다.

R이 matlab에있는 결과와 함께 반환하는 결과를 어떻게 복제 할 수 있습니까? Youden의 인덱스에 대한 기준이 matlab에 올바르게 설정되어 있지 않다고 의심됩니다.

답변

1

the documentation for perfcurve (특히 OPTROCPT 행)을 보면 matlab에서 최적의 임계 값을 찾기 위해 사용하는 수식이 매우 다르다는 것과 최적화 기준의 비용 매트릭스가 포함되어 있음을 알 수 있습니다.

당신이 정확히 R에서 이루어집니다 무엇을 복제 할 경우

각 임계 값에 대한 Youden 지수를 계산하고 최선을 선택하는 XY 반환 값을 사용 (일부 아이디어를 수행하는 방법 방법 find max and it's index in array in matlab 참조) .

+0

답장을 보내 주셔서 감사합니다. 당신이 말했듯이 두 행렬 (Y-X)을 빼고 나는 최대 값의 인덱스를 유지했습니다. 이것은 R에서와 같은 Youden의 인덱스입니다. 또한 최대 값 인덱스를 사용하여 R과 같이 최적의 임계 값을 찾았습니다. 감사합니다! – Thoth

+0

@ 여기에 대한 추가 정보가 필요합니까? – Calimo

+0

관심을 가져 주셔서 감사합니다. 내 질문에 답합니다. 게시물을 답으로 표시하는 것을 잊어 버렸습니다. – Thoth

관련 문제