Я пытаюсь понять, как вычислить оптимальную точку отсечения для кривой ROC (значение, при котором чувствительность и специфичность максимальны). Я использую набор данных aSAH
из пакета pROC
.
outcome
Переменная может быть объяснено двумя независимыми переменными: s100b
и ndka
. Используя синтаксис 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
). Мой первый вопрос:
- что соответствует
s100b
иndka
значения для указанныхlr.eta
значений (какова оптимальная точка отсечения с точки зренияs100b
иndka
)?
ВТОРОЙ ВОПРОС:
Теперь предположим, что я создаю модель с учетом обеих переменных:
ROC(form=outcome~ndka+s100b, data=aSAH)
Полученный график:
Я хочу знать, каковы значения ndka
AND, s100b
при которых чувствительность и специфичность максимизируются функцией. Другими словами: каковы значения ndka
и s100b
при которых мы имеем Se = 68,3% и Sp = 76,4% (значения, полученные из графика)?
Я предполагаю, что этот второй вопрос связан с анализом multiROC, но документация Epi
пакета не объясняет, как рассчитать оптимальную точку отсечения для обеих переменных, используемых в модели.
Мой вопрос очень похож на этот вопрос от reasearchGate , который говорит вкратце:
Определение порогового значения, которое представляет лучший компромисс между чувствительностью и специфичностью меры, является простым. Однако, для анализа многомерной кривой ROC, я отметил, что большинство исследователей сосредоточилось на алгоритмах для определения общей точности линейной комбинации нескольких показателей (переменных) в терминах AUC. [...]
Однако в этих методах не упоминается, как определить комбинацию показателей отсечки, связанных с несколькими показателями, которая дает лучшую диагностическую точность.
Возможное решение - это то, что предложил Шульц в своей статье , но из этой статьи я не могу понять, как вычислить оптимальную точку среза для многомерной кривой ROC.
Возможно, решение из Epi
пакета не является идеальным, поэтому любые другие полезные ссылки будут оценены.
Я предполагаю,η
lr.eta
что это линейный предиктор - логит - из подобранной модели, так как - это часто используемый символ для нее; или, если нет, вероятность из подобранной модели. (Оказывается, это последнее: см. Https://stackoverflow.com/a/38532555/1864816 .) Вы можете проверить код в . В любом случае вы сможете рассчитать его из коэффициентов модели для любого количества предикторов. (Обратите внимание, что это будет не отсечение для каждого предиктора отдельно, а функция всех предикторов.)ROC
В вашем первом предложении должно быть сказано (как видно из графиков), что вы ищете, где сумма чувствительности и специфичности максимальна. Но почему это «оптимально»? Имеет ли ложноположительный результат такое же значение, как ложноотрицательный результат? Смотрите здесь .
источник
coords
функцию изpROC
пакета, как я обнаружил позже. Оптимальная точка отсечения была, в моем случае, лучшей комбинацией Sens и Spec; Я прочитал связанный ответ, но мне все равно (по крайней мере, на данный момент) о ложноположительных и ложноотрицательных результатах, потому что (если я правильно понял) я анализирую группу собранных данных для исследования.lr.eta
это как раз второй вариант, который вы упоминаете: вероятность из подобранной модели: . Проверьте это, если у вас есть минутка.Вы можете найти порог, при котором истинная положительная скорость (tpr) пересекается с истинной отрицательной скоростью (tnr), это будет точка, при которой сумма ложных положительных и ложных отрицательных значений является минимальной.
источник