Análisis ROC y multiROC: ¿cómo calcular el punto de corte óptimo?


14

Estoy tratando de entender cómo calcular el punto de corte óptimo para una curva ROC (el valor en el que se maximizan la sensibilidad y la especificidad). Estoy usando el conjunto aSAHde datos del paquete pROC.

La outcomevariable podría explicarse por dos variables independientes: s100by ndka. Usando la sintaxis del Epipaquete, he creado dos modelos:

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

El resultado se ilustra en los siguientes dos gráficos:

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

En el primer gráfico ( s100b), la función dice que el punto de corte óptimo se localiza en el valor correspondiente a lr.eta=0.304. En el segundo gráfico ( ndka), el punto de corte óptimo se localiza en el valor correspondiente a lr.eta=0.335(cuál es el significado de lr.eta). Mi primera pregunta es:

  • ¿Cuál es el correspondiente s100by los ndkavalores para los lr.etavalores indicados (cuál es el punto de corte óptimo en términos de s100by ndka)?

SEGUNDA PREGUNTA:

Ahora supongamos que creo un modelo teniendo en cuenta ambas variables:

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

El gráfico obtenido es:

ingrese la descripción de la imagen aquí

Quiero saber cuáles son los valores de ndkaAND s100ben los que la función maximiza la sensibilidad y la especificidad. En otros términos: ¿cuáles son los valores de ndkay s100ben los que tenemos Se = 68.3% y Sp = 76.4% (valores derivados del gráfico)?

Supongo que esta segunda pregunta está relacionada con el análisis multiROC, pero la documentación del Epipaquete no explica cómo calcular el punto de corte óptimo para ambas variables utilizadas en el modelo.

Mi pregunta parece muy similar a esta pregunta de reasearchGate , que dice en resumen:

La determinación del puntaje de corte que representa un mejor equilibrio entre la sensibilidad y la especificidad de una medida es sencilla. Sin embargo, para el análisis de curva ROC multivariante, he observado que la mayoría de los investigadores se han centrado en algoritmos para determinar la precisión general de una combinación lineal de varios indicadores (variables) en términos de AUC. [...]

Sin embargo, estos métodos no mencionan cómo decidir una combinación de puntajes de corte asociados con los múltiples indicadores que brindan la mejor precisión diagnóstica.

Una posible solución es la propuesta por Shultz en su artículo , pero a partir de este artículo no puedo entender cómo calcular el punto de corte óptimo para una curva ROC multivariada.

Tal vez la solución del Epipaquete no sea ideal, por lo que cualquier otro enlace útil será apreciado.

Respuestas:


9

Para profundizar en la respuesta de Frank Harrell, lo Epique hizo el paquete fue ajustar una regresión logística y hacer una curva ROC con predicciones de resultados de la siguiente forma:

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

En su caso, los valores ajustados son (intercepción) = -2.379, (s100b) = 5.334 y (ndka) = 0.031. Como desea que su resultado predicho sea 0.312 (el límite "óptimo"), puede sustituir esto como (espero no haber introducido errores aquí):β0β1β2

1,588214=5,334s100b+0,031ndkuns100b=1,588214-0.031ndkuna

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

Cualquier par de valores (s100b, ndka) que satisfagan esta igualdad es "óptimo". Mala suerte para ti, hay una infinidad de estos pares. Por ejemplo, (0.29, 1), (0, 51.2), etc. Aún peor, la mayoría de ellos no tiene ningún sentido. ¿Qué significa el par (-580, 10000)? ¡Nada!

En otras palabras, no puede establecer puntos de corte en las entradas: debe hacerlo en las salidas, y ese es el punto central del modelo.


8

Y^


Entiendo el problema que explicaste. Me pregunto, por cierto, si hay un método para calcular los puntos de corte para dos (o más) pruebas en paralelo, con el fin de aumentar la Sens y las Especificaciones para identificar un estado específico (enfermedad / resultado / etc.). ) Gracias por adelantado.
Tommaso

1
Dado que el punto de corte "óptimo" para x1 dependería del valor continuo de x2, y el punto de corte "óptimo" para x2 dependería del valor continuo de x1, no hay forma de hacer esto y preservar suficiente información para que no sea un desastre.
Frank Harrell

Entonces, ¿no hay forma de encontrar puntos de corte para dos o más pruebas, a fin de maximizar la sensibilidad y la especificidad? Por supuesto, un método que no es un análisis multiROC. Gracias de nuevo.
Tommaso

2
Simplemente no es apropiado buscar cortes en las entradas. Las decisiones óptimas se toman sin usar ningún límite o, si es necesario antes del tiempo de decisión, haciendo límites en las probabilidades pronosticadas. Se necesitan servicios públicos (pérdida / costo) para resolver el límite óptimo del riesgo previsto.
Frank Harrell

1
Las curvas ROC no tienen nada que ver con el cumplimiento de ese objetivo. Para hacer eso, necesitaría relacionar SCr con el resultado, o simplemente calcular la probabilidad de obtener un SCr más extremo que el de una población normal.
Frank Harrell

3

lr.etaηROC

Su primera oración debe decir (como lo demuestran los gráficos) que está buscando dónde se maximiza la suma de sensibilidad y especificidad. Pero, ¿por qué es esto "óptimo"? ¿Un resultado falso positivo tiene la misma importancia que un resultado falso negativo? Ver aquí .


Era correcto, puedo calcular el punto de corte del modelo ajustado (para una variable independiente), o alternativamente usando la coordsfunción del pROCpaquete, como descubrí más adelante. El punto de corte óptimo fue, en mi caso, la mejor combinación de Sens y Spec; Leí la respuesta vinculada, pero no me importan (al menos por ahora) los resultados falsos positivos y falsos negativos, porque (si entendí bien) estoy analizando un grupo de datos recopilados para la investigación.
Tommaso

¿ Qué te importa entonces? ¿Qué estás haciendo con el límite que no requiere ninguna consideración de las consecuencias? Y entonces ¿qué es 'óptima' o 'mejor' para ?
Scortchi - Restablece a Monica

Tommaso definió "óptimo" como "el valor en el que se maximiza la sensibilidad y la especificidad" (citando la primera oración de la pregunta), que significa implícitamente max (sensibilidad + especificidad). Si tiene sentido o no (y cuando leo, a él no le importa, me inclino a pensar que no) es otra pregunta.
Calimo

1
Este enfoque está en desacuerdo con la toma de decisiones.
Frank Harrell

1
lr.etaE[Yi|Xi]=11+e(β0+β1×s100b)

0

Puede encontrar el umbral en el que la tasa positiva verdadera (tpr) se cruza con la tasa negativa verdadera (tnr), este será el punto en el que la suma de los falsos positivos y falsos negativos es mínima.


Una respuesta de una oración generalmente se considera un poco corta para nuestro formato. ¿Puedes ampliar tu respuesta para incluir una breve explicación de cómo sabes que es donde debe estar el mínimo?
Glen_b -Reinstale a Monica

1
Tal estrategia va en contra de la toma de decisiones óptima.
Frank Harrell
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.